|
@@ -229,8 +229,8 @@ class Api extends CatchController
|
|
|
|
|
|
//消息处理
|
|
|
public function handleMessage($text, $mac, $time, $ues_redis){
|
|
|
- $EXP_TIME = 10;
|
|
|
- $EFF_SIG_NUM = 6;
|
|
|
+ $EXP_TIME = 20;
|
|
|
+ $EFF_SIG_NUM = 10;
|
|
|
while(strlen($text)>=24){
|
|
|
|
|
|
$da=substr($text,0,24);
|
|
@@ -262,87 +262,95 @@ class Api extends CatchController
|
|
|
$info = $ues_redis->hget("parea_rfidinfos",$field);
|
|
|
debug_log("pare_InAndOUT","数据:".json_encode($DA,true));
|
|
|
|
|
|
- if(!$info){
|
|
|
- $info = [
|
|
|
- "mac" => $mac,
|
|
|
- "id" => $rfid,
|
|
|
- "firs_time" => $time,
|
|
|
- "time" => $time,
|
|
|
- "status" => 2,//2出状态,1进状态
|
|
|
- "rssi" => [
|
|
|
- [
|
|
|
- "front" => $rssi1,
|
|
|
- "behind" => $rssi2,
|
|
|
- "left" => $rssi3,
|
|
|
- "right" => $rssi4,
|
|
|
- "time" => $time
|
|
|
- ]
|
|
|
- ]
|
|
|
- ];
|
|
|
- $ues_redis->hset("parea_rfidinfos",$field, json_encode($info,true));
|
|
|
- debug_log("parea_rfidinfos_redis_set_record","redis更新记录".json_encode($info,true));
|
|
|
+ if($rssi1 ==255 && $rssi2 == 255 && $rssi3 == 255 && $rssi4 == 255){
|
|
|
+ debug_log("pare_InAndOUT","无效数据:".json_encode($DA,true));
|
|
|
}else{
|
|
|
- $info = json_decode($info,true);
|
|
|
-
|
|
|
- $info["time"] = $time;
|
|
|
- $newRssi = [
|
|
|
- "front" => $rssi1,
|
|
|
- "behind" => $rssi2,
|
|
|
- "left" => $rssi3,
|
|
|
- "right" => $rssi4,
|
|
|
- "time" => $time
|
|
|
- ];
|
|
|
- $rssisArr = $info["rssi"];
|
|
|
-
|
|
|
- // var_dump("+++++++++++++++++", $time, $newRssi["time"]);
|
|
|
-
|
|
|
- // foreach ($rssisArr as $k => $v) {
|
|
|
- // # code...
|
|
|
- // if( ($time - $v["time"] ) > $EXP_TIME ){
|
|
|
- // unset($rssisArr[$k]);
|
|
|
- // // var_dump("+++++++++++++++++", $time, $v["time"]);
|
|
|
- // }
|
|
|
- // }
|
|
|
- if(count($rssisArr) == $EFF_SIG_NUM){
|
|
|
- array_shift($rssisArr);
|
|
|
- array_push($rssisArr, $newRssi);
|
|
|
+ if(!$info){
|
|
|
+ $info = [
|
|
|
+ "mac" => $mac,
|
|
|
+ "id" => $rfid,
|
|
|
+ "firs_time" => $time,
|
|
|
+ "time" => $time,
|
|
|
+ "status" => 2,//2出状态,1进状态
|
|
|
+ "rssi" => [
|
|
|
+ [
|
|
|
+ "front" => $rssi1,
|
|
|
+ "behind" => $rssi2,
|
|
|
+ "left" => $rssi3,
|
|
|
+ "right" => $rssi4,
|
|
|
+ "time" => $time
|
|
|
+ ]
|
|
|
+ ]
|
|
|
+ ];
|
|
|
+ $ues_redis->hset("parea_rfidinfos",$field, json_encode($info,true));
|
|
|
+ debug_log("parea_rfidinfos_redis_set_record","redis更新记录".json_encode($info,true));
|
|
|
}else{
|
|
|
- array_push($rssisArr, $newRssi);
|
|
|
- }
|
|
|
-
|
|
|
- // var_dump("+++++++++++++++++",$rssisArr);
|
|
|
- $info["rssi"] = $rssisArr;
|
|
|
-
|
|
|
- // var_dump("------------",$info["rssi"]);
|
|
|
-
|
|
|
- $cacCount = count($rssisArr);
|
|
|
- // if($cacCount > $EFF_SIG_NUM){
|
|
|
- $sum1 = 0;
|
|
|
- $sum2 = 0;
|
|
|
- $sum3 = 0;
|
|
|
- $sum4 = 0;
|
|
|
- foreach ($rssisArr as $k => $v) {
|
|
|
- # code...
|
|
|
- $sum1 += ($v["front"] == 255 ? 85 : $v["front"]);
|
|
|
- $sum2 += ($v["behind"] == 255 ? 85 : $v["behind"]);
|
|
|
- $sum3 += ($v["left"] == 255 ? 85 : $v["left"]);
|
|
|
- $sum4 += ($v["right"] == 255 ? 85 : $v["right"]);
|
|
|
- }
|
|
|
- $info["avg"] = [
|
|
|
- "front" => number_format( $sum1/$cacCount, 2 ),
|
|
|
- "behind" => number_format( $sum2/$cacCount, 2 ),
|
|
|
- "left" => number_format( $sum3/$cacCount, 2 ),
|
|
|
- "right" => number_format( $sum4/$cacCount, 2 ),
|
|
|
- ];
|
|
|
-
|
|
|
- if ($cacCount == $EFF_SIG_NUM) {
|
|
|
- # code...
|
|
|
- $info = $this->compAndPush($info ,$ues_redis);
|
|
|
+ $info = json_decode($info,true);
|
|
|
+
|
|
|
+ $info["time"] = $time;
|
|
|
+ $newRssi = [
|
|
|
+ "front" => $rssi1,
|
|
|
+ "behind" => $rssi2,
|
|
|
+ "left" => $rssi3,
|
|
|
+ "right" => $rssi4,
|
|
|
+ "time" => $time
|
|
|
+ ];
|
|
|
+ $rssisArr = $info["rssi"];
|
|
|
+
|
|
|
+ // var_dump("+++++++++++++++++", $time, $newRssi["time"]);
|
|
|
+
|
|
|
+ foreach ($rssisArr as $k => $v) {
|
|
|
+ # code...
|
|
|
+ if( ($time - $v["time"] ) > $EXP_TIME ){
|
|
|
+ unset($rssisArr[$k]);
|
|
|
+ // var_dump("+++++++++++++++++", $time, $v["time"]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // var_dump("+++++++++++++++++",$rssisArr);
|
|
|
+ if(count($rssisArr) == $EFF_SIG_NUM){
|
|
|
+ array_shift($rssisArr);
|
|
|
+ array_push($rssisArr, $newRssi);
|
|
|
+ }else{
|
|
|
+ array_push($rssisArr, $newRssi);
|
|
|
+ }
|
|
|
+
|
|
|
+ $rssisArr =array_values($rssisArr);
|
|
|
+ // var_dump("+++++++++++++++++",$rssisArr);
|
|
|
+ $info["rssi"] = $rssisArr;
|
|
|
+
|
|
|
+ // var_dump("------------",$info["rssi"]);
|
|
|
+
|
|
|
+ $cacCount = count($rssisArr);
|
|
|
+ // if($cacCount > $EFF_SIG_NUM){
|
|
|
+ $sum1 = 0;
|
|
|
+ $sum2 = 0;
|
|
|
+ $sum3 = 0;
|
|
|
+ $sum4 = 0;
|
|
|
+ foreach ($rssisArr as $k => $v) {
|
|
|
+ # code...
|
|
|
+ $sum1 += ($v["front"] == 255 ? 85 : $v["front"]);
|
|
|
+ $sum2 += ($v["behind"] == 255 ? 85 : $v["behind"]);
|
|
|
+ $sum3 += ($v["left"] == 255 ? 85 : $v["left"]);
|
|
|
+ $sum4 += ($v["right"] == 255 ? 85 : $v["right"]);
|
|
|
+ }
|
|
|
+ $info["avg"] = [
|
|
|
+ "front" => number_format( $sum1/$cacCount, 2 ),
|
|
|
+ "behind" => number_format( $sum2/$cacCount, 2 ),
|
|
|
+ "left" => number_format( $sum3/$cacCount, 2 ),
|
|
|
+ "right" => number_format( $sum4/$cacCount, 2 ),
|
|
|
+ ];
|
|
|
+
|
|
|
+ if ($cacCount == $EFF_SIG_NUM) {
|
|
|
+ # code...
|
|
|
+ $info = $this->compAndPush($info ,$ues_redis);
|
|
|
+ }
|
|
|
+ $ues_redis->hset("parea_rfidinfos",$field, json_encode($info,true));
|
|
|
+
|
|
|
+ debug_log("parea_rfidinfos_redis_set_record","redis更新记录".json_encode($info,true));
|
|
|
}
|
|
|
- $ues_redis->hset("parea_rfidinfos",$field, json_encode($info,true));
|
|
|
-
|
|
|
- debug_log("parea_rfidinfos_redis_set_record","redis更新记录".json_encode($info,true));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
$text=substr($text,24);
|
|
|
}else{
|
|
|
$text=substr($text,1);
|
|
@@ -372,6 +380,8 @@ class Api extends CatchController
|
|
|
"left_out" => 82,
|
|
|
"right_out" => 70,
|
|
|
];
|
|
|
+ }else{
|
|
|
+ $config = json_decode($config);
|
|
|
}
|
|
|
|
|
|
$avg = $info['avg'];
|