Browse Source

足底温度数据数据

master
lijunjie 3 years ago
parent
commit
83cdbd8133
  1. 142
      app/Http/Controllers/IndexController.php
  2. 24
      public/script/http/index.js

142
app/Http/Controllers/IndexController.php

@ -18,11 +18,10 @@ class IndexController extends BaseController
public function getPelmaData()
{
$request_data = request()->all();
$timer_shaft = $request_data['timer_shaft'];
//足底压力图
$pelma_key = "pelma:" . $request_data['item'];
$timer_shaft = $request_data['timer_shaft'];
if ($timer_shaft == 0 ){
//获取最大时间
@ -32,66 +31,78 @@ class IndexController extends BaseController
$data = Redis::ZREVRANGEBYSCORE($pelma_key, $timer_shaft, $timer_shaft - 60);
}
if (empty($data)){
return;
}
$pelmaArr = str_split($data[0], 2);
if(!empty($data)){
$pelmaArr = str_split($data[0], 2);
$vague = 2;
$vague = 2;
//格式化成二维数组
for ($i = 0; $i < 1024; $i++){
$datas2[intval($i / 32)][$i % 32] = hexdec($pelmaArr[$i]);
}
//格式化成二维数组
for ($i = 0; $i < 1024; $i++){
$datas2[intval($i / 32)][$i % 32] = hexdec($pelmaArr[$i]);
}
// dd($datas2);
foreach ($datas2 as $key1 => $data){
foreach ($data as $key2 => $datum){
if (isset($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;
foreach ($datas2 as $key1 => $data){
foreach ($data as $key2 => $datum){
if (isset($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;
}
$chunk[$key1][] = $datum;
}
}
$chunk2 = [];
$key3 = 0;
$number = 1;
foreach ($chunk as $key1 => $data){
foreach ($data as $key2 => $datum){
$number++;
if (isset($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 = 0;
$number = 1;
foreach ($chunk as $key1 => $data){
foreach ($data as $key2 => $datum){
$number++;
if (isset($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;
}
$chunk2[$key3][$key2] = $datum;
$key3 = $key3 + ($vague + 1);
}
$key3 = $key3 + ($vague + 1);
}
$chunk3 = [];
foreach ($chunk2 as $key1 => $value) {
foreach ($value as $key2 => $value2) {
$chunk3[] = [
$key2,
$key1,
$value2 / 10,
];
$chunk3 = [];
foreach ($chunk2 as $key1 => $value) {
foreach ($value as $key2 => $value2) {
$chunk3[] = [
$key2,
$key1,
$value2 / 10,
];
}
}
}
// dd($chunk3);
//足底温度图
$foot_key = "foot";
if ($timer_shaft == 0 ){
//获取最大时间
$foot_data = Redis::ZREVRANGE($foot_key, 0, 0);
} else {
//获得指定时间
$foot_data = Redis::ZREVRANGEBYSCORE($foot_key, $timer_shaft, $timer_shaft - 60);
}
if (!empty($foot_data)){
$foot = $foot_data;
}
return [
'pressure' => $chunk3,
'pressure' => $chunk3 ?? '',
'foot' => [36.2, 80, 36.1, 75, 35.9, 79, 36.3, 80]
];
}
@ -106,21 +117,24 @@ class IndexController extends BaseController
$time = time();
// echo Cache::get('pelma');
$pelma_key = "pelma:" . $req['device'];
//按时间添加
Redis::zadd($pelma_key, $time, $req['pelma']);
if ($req['type'] == 1){
$pelma_key = "pelma:" . $req['device'];
//删除过期
Redis::ZREMRANGEBYSCORE($pelma_key, 0, ($time - 120));
//按时间添加
Redis::zadd($pelma_key, $time, $req['send_data']);
//获取最大时间
// $data = Redis::ZREVRANGE($pelma_key, 0, 0);
//获得指定时间
// $data = Redis::ZRANGEBYSCORE($pelma_key, 19, 29);
//删除过期
Redis::ZREMRANGEBYSCORE($pelma_key, 0, ($time - 120));
} elseif ($req['type'] == 2) {
$pelma_key = "foot";
// var_dump($data);
//按时间添加
Redis::zadd($pelma_key, $time, $req['send_data']);
//删除过期
Redis::ZREMRANGEBYSCORE($pelma_key, 0, ($time - 120));
}
// $data = request('pelma');
// Cache::put('pelma', $data);
@ -141,20 +155,6 @@ class IndexController extends BaseController
return view('http.lora2');
}
public function getPelmaStore()
{
echo Cache::get('pelma');
return;
}
public function getBlood()
{
$blood = Cache::get('blood');
return $blood;
}
/**
* 上传血压数据
* http://127.0.0.1:8001/storeBlood?node=616162626365&data=0090243050005500

24
public/script/http/index.js

@ -103,7 +103,6 @@ function pressure(dom, item) {
let timer = null
$.get('/getPelmaData?item=' + item + "&timer_shaft=" + timer_shaft).done(function (data) {
if (data) {//根据返回状态判断
console.log('a')
let pressure = data.pressure
myChart.setOption({
series: [
@ -113,19 +112,22 @@ function pressure(dom, item) {
]
});
var myDate = new Date();
var mytime = myDate.toLocaleTimeString();
let original = mytime + ' ';
pressure.forEach((elem, index) => {
if (index > 600) {
// console.log(index)
if (pressure && pressure.length > 0){
//原始数据
var myDate = new Date();
var mytime = myDate.toLocaleTimeString();
let original = mytime + ' ';
pressure.forEach((elem, index) => {
if (index > 600) {
// console.log(index)
original += Math.trunc(elem[2] * 100) + ' '
}
original += Math.trunc(elem[2] * 100) + ' '
}
})
})
$(".sound-code-chunk-default-content").html(original);
}
$(".sound-code-chunk-default-content").html(original);
$("#foot-content1").html(data['foot'][0] + '℃');
$("#foot-content2").html(data['foot'][1] + '%');
$("#foot-content3").html(data['foot'][2] + '℃');

Loading…
Cancel
Save