足底健康分析服务端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

421 lines
13 KiB

3 years ago
<?php
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
3 years ago
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Log;
3 years ago
class IndexController extends BaseController
{
public function index()
{
return view('http.index');
}
3 years ago
3 years ago
public function tabularData()
{
$request_data = request()->all();
3 years ago
$vague = 2;
3 years ago
$datas = [
3 years ago
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 2, 4, 4, 4, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 6, 6, 8, 4, 2, 1, 1, 1, 1, 1,
1, 1, 1, 1, 2, 4, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 4, 2, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 2, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 4, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 1, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 2, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 2, 1, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 1, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 1, 2, 6, 8, 8, 8, 8, 6, 4, 2, 2, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 2, 1, 6, 8, 8, 8, 8, 6, 6, 4, 2, 1, 1,
1, 1, 1, 2, 4, 6, 8, 9, 8, 6, 6, 4, 1, 2, 1, 1, 1, 1, 1, 2, 4, 6, 8, 8, 8, 8, 6, 6, 4, 2, 1, 1,
1, 1, 1, 2, 4, 1, 8, 9, 8, 6, 6, 4, 4, 2, 1, 1, 1, 1, 1, 2, 4, 6, 8, 8, 8, 8, 6, 6, 4, 2, 1, 1,
1, 1, 1, 2, 4, 4, 4, 9, 8, 6, 6, 4, 4, 2, 1, 1, 1, 1, 1, 2, 4, 6, 8, 8, 8, 6, 6, 2, 2, 2, 1, 1,
1, 1, 1, 1, 1, 2, 2, 4, 4, 6, 6, 4, 2, 2, 1, 1, 1, 1, 1, 2, 4, 6, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 2, 2, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
];
3 years ago
3 years ago
for ($i = 0; $i < 1024; $i++){
$datas2[intval($i / 32)][$i % 32] = $datas[$i];
3 years ago
}
foreach ($datas2 as $key1 => $data){
foreach ($data as $key2 => $datum){
if (!empty($datas2[$key1][$key2 - 1])){
$num = $datum - $datas2[$key1][$key2 - 1];
$temp = $datum;
for ($i = $vague; $i >= 1; $i--) {
$chunk[$key1][] = $temp - ($num / ($vague + 1)) * $i;
}
}
$chunk[$key1][] = $datum;
}
}
$chunk2 = [];
$key3 = 0;
$number = 1;
foreach ($chunk as $key1 => $data){
foreach ($data as $key2 => $datum){
$number++;
if (!empty($chunk[$key1 - 1][$key2])){
$num = $datum - $chunk[$key1 - 1][$key2];
$temp = $datum;
for ($i = $vague; $i >= 1; $i--) {
$chunk2[$key3 - $i][$key2] = $temp - ($num / ($vague + 1)) * $i;
}
}
$chunk2[$key3][$key2] = $datum;
}
$key3 = $key3 + ($vague + 1);
}
$chunk3 = [];
foreach ($chunk2 as $key1 => $value) {
foreach ($value as $key2 => $value2) {
$chunk3[] = [
$key2,
$key1,
$value2 / 10,
];
}
}
return [
'pressure' => $chunk3,
'foot' => [36.2, 80, 36.1, 75, 35.9, 79, 36.3, 80]
];
// $chunk = [
// // data1[0],
// // data1[1],
// // data1[2],
// // data1[3],
// // data1[4],
// // data1[5],
// // data1[6],
// // data1[7],
// // data1[8],
// // data1[9],
// // data1[10],
// // data1[11],
// // data1[12],
// [
// 1,1,0
// ],
// [
// 10,10,0.1
// ],
// [
// 20,20,0.2
// ],
// [
// 30,30,0.3
// ],
// [
// 40,40,0.4
// ], [40,40,0.4], [50,50,0.5], [60,60,0.6], [70,70,0.7], [80,80,0.8], [90,90,0.9], [99,99,1],
//
// ];
//
// $data = [$request_data['item']*50, 0, 0, 50, 100, 150, 200, 200, 150,100, 0,
// 2, 0, 100, 100, 100, 100, 100, 100, 100,100, 0,
// 3, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 4, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 5, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 6, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 7, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 8, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 9, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 10, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// 11, 0, 100, 200, 300, 100, 100, 0, 0, 0, 0,
// ];
//
//// for ($i = 0; $i < 121; $i++){
////
////
//// $chunk[intval($i / 11)][$i % 11] = [
//// $i % 11,
//// intval($i / 11),
//// $data[$i],
//// ];
//// }
// $chunk = [];
//
// for ($i = 0; $i < 121; $i++){
//
//
// $chunk[] = [
// $i % 11,
// intval($i / 11),
// $data[$i] / 300,
// ];
// }
// dump($chunk);
//
//
// $chunk2 = [];
// foreach ($chunk as $key1 => $items){
// foreach ($items as $key2 => $cell){
// $chunk2[$key1][$key2] = $cell[2];
//
// if (($key2 - 1) >= 0){
// $value = $cell[2] - $chunk[$key1][$key2 - 1][2];
//
// $increase = $value / 3;
// for ($i = 1; $i <= 3; $i++){
//
//
// $chunk2[$key1][$key2 + $i] = $cell[2] + $increase * $i;
// }
// }
// }
// }
// dump($chunk2);
// 模拟数据3
// $chunk = [];
// for ($i = 0; $i <= 32; $i++){
// for ($j = 0; $j <= 32; $j++){
// $num1 = $num2 = 0;
// if ($j > 6 && $j <= 16){
// $num1 = $j - 6;
// } elseif ($j > 16 && $j <= 26){
// $num1 = 27 - $j;
// }
// if ($i > 6 && $i <= 16){
// $num2 = $i - 6;
// } elseif ($i > 16 && $i <= 26){
// $num2 = 27 - $i;
// }
// if (!empty($num1) && !empty($num2)){
// $chunk[] = [
// $j,
// $i,
// ($num1 + $num2) / 30,
// ];
// } else {
// $chunk[] = [
// $j,
// $i,
// 0,
// ];
// }
// }
// }
// return [
// 'pressure' => $chunk,
// 'foot' => [36.2, 80, 36.1, 75, 35.9, 79, 36.3, 80]
// ];
}
3 years ago
public function lora()
3 years ago
{
3 years ago
return view('http.lora');
}
3 years ago
public function lora2()
{
return view('http.lora2');
}
3 years ago
public function getPelmaStore()
{
echo Cache::get('pelma');
return;
}
public function store()
{
// echo Cache::get('pelma');
$data = request('pelma');
Cache::put('pelma', $data);
Log::info($data);
return 'ok';
}
public function getBlood()
{
$blood = Cache::get('blood');
return $blood;
}
public function storeBlood()
{
// echo Cache::get('blood');
$data = request('blood');
Cache::put('blood', $data);
Log::info($data);
return 'ok';
3 years ago
}
public function loraData()
{
$request_data = request()->all();
// if (!empty($request_data['item']) && $request_data['item'] == '温度'){
// $temperature = rand(359, 366) / 10;
//
// $data = [[$temperature, 0, 0, "温度", date('m:s')]];
//
// } elseif (!empty($request_data['item']) && $request_data['item'] == '血氧'){
// $oxygen = rand(70, 100);
//
// $data = [[$oxygen, 0, 0, "血氧", date('m:s')]];
//
// } else {
// $temperature = rand(359, 366) / 10;
// $oxygen = rand(70, 100);
//
// $data = [[$temperature, 0, 0, "温度", date('m:s')],
// [$oxygen, 0, 0, "血氧", date('m:s')]];
//
// }
$temperature = rand(359, 366) / 10;
$oxygen = rand(70, 100);
$oxygen = 80 + ((time() % 3) + 1) * 5;
$data = [[$temperature, 0, 0, "温度", date('m:s')],
[$oxygen, 0, 0, "血氧", date('m:s')]];
return $data;
}
3 years ago
/**
* 设备列表
* @return void
*/
public function loraDeviceList()
{
return [
'设备1',
'设备2',
'设备3',
];
}
public function loraData2()
{
$time = (int)(time() . '000');
$blood = [
[
$time,
80,
]
];
$temperature = [
[
$time,
36.1,
]
];
$heart = [
[
$time,
78,
]
];
$humidity = [
[
$time,
81.4,
]
];
$total = [50, 70, 90, 85, 80, 75, 70, 65, 60, 55];
$total_data = [];
foreach ($total as $key => $item){
$item_time = $time + 100 * $key;
$total_data[] = [
$item_time,
$item
];
}
return [
'blood' => $blood,
'temperature' => $temperature,
'heart' => $heart,
'humidity' => $humidity,
'total_data' => $total_data,
];
}
/**
* 专项对比数据
* @return void
*/
public function getSpecialCompare()
{
$request_data = request()->all();
$compare_type = $request_data['compare_type'];
$time = (int)(time() . '000');
return [
'设备1' => [
[
$time,
70,
]
],
'设备2' => [
[
$time,
80,
]
],
'设备3' => [
[
$time,
90,
]
],
];
}
3 years ago
}