Przeglądaj źródła

继续添加传感器处理逻辑

guohui 1 rok temu
rodzic
commit
ff72b61d8b
4 zmienionych plików z 72 dodań i 77 usunięć
  1. 14 34
      pro/src/appweb_handle.c
  2. 55 41
      pro/src/json_handle.c
  3. 1 0
      pro/src/json_handle.h
  4. 2 2
      pub

+ 14 - 34
pro/src/appweb_handle.c

@@ -2217,10 +2217,6 @@ static void sensorStatusMonitoring(void* conn)
                 {
                     _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
                 }break;
-                
-
-
-
             }
             //入队
             list_add_tail(&_overSensorBackInfoTemp->list,&_over_all_sensor_back_info.list);
@@ -2392,10 +2388,10 @@ static void sensorStatusMonitoring(void* conn)
                 break; // 双头温度传感器 2个值
             case SENSOR_TYPE_TEMP:
                 _globalSensorMangerTemp->sensor_val_count = 1;
-                break; // 双头温度传感器 2个值
+                break; // 双头温度传感器 1个值
             case SENSOR_TYPE_LEAK:
                 _globalSensorMangerTemp->sensor_val_count = 1;
-                break; // 双头温度传感器 2个值
+                break; // 双头温度传感器 1个值
 
             }
 
@@ -2765,8 +2761,7 @@ static void sensorStatusMonitoring(void* conn)
 
                     case SENSOR_TYPE_LEAK:
                     {
-                        _overSensorBackInfoTemp->temp_humi_sensor.ydata[0][_TempCount] = _globalSensorInfoTemp->val1;
-                        strcpy(_overSensorBackInfoTemp->temp_humi_sensor.xAxis[_TempCount], _globalSensorInfoTemp->samp_time);
+                        _overSensorBackInfoTemp->leakStatus = (int)_globalSensorInfoTemp->val1;
                     }
                     break;
                 }
@@ -2786,38 +2781,22 @@ static void sensorStatusMonitoring(void* conn)
         lock_s_release(LOCK_ID_SENSOR);
 
         
-        if(strcmp(_over_all_sensor_request.sensorType,"0")==0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_VALUE);
-        }
-        else if(strcmp(_over_all_sensor_request.sensorType,"4")==0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_VALUE);
-        }
-        else if(strcmp(_over_all_sensor_request.sensorType,"5")==0)
+        if(strcmp(_over_all_sensor_request.sensorType,"0")==0 ||
+           strcmp(_over_all_sensor_request.sensorType,"4")==0 ||
+           strcmp(_over_all_sensor_request.sensorType,"5")==0 ||
+           strcmp(_over_all_sensor_request.sensorType,"7")==0 ||
+           strcmp(_over_all_sensor_request.sensorType,"8")==0)
         {
             ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_VALUE);
         }
-        else if(strcmp(_over_all_sensor_request.sensorType,"1")==0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_LIST);
-        }
-        else if(strcmp(_over_all_sensor_request.sensorType,"2")==0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_LIST);
-        }
-        else if(strcmp(_over_all_sensor_request.sensorType,"3")==0)
+        else if(strcmp(_over_all_sensor_request.sensorType,"1")==0 ||
+                strcmp(_over_all_sensor_request.sensorType,"2")==0 ||
+                strcmp(_over_all_sensor_request.sensorType,"3")==0 ||
+                strcmp(_over_all_sensor_request.sensorType,"6")==0 ||
+                strcmp(_over_all_sensor_request.sensorType,"9")==0)
         {
             ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_LIST);
         }
-        else if (strcmp(_over_all_sensor_request.sensorType, "6") == 0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_LIST);
-        }
-       else if(strcmp(_over_all_sensor_request.sensorType,"7")==0)
-        {
-            ack_str = over_sensor_history_info_to_json(&_over_all_sensor_back_info, SENSOR_TYPE_VALUE);
-        }
         else ack_str = ctrl_sts_ack_to_json();
 
                 // //参数转换json
@@ -3486,6 +3465,7 @@ static void alarmProtect(void *conn)
         case SENSOR_TYPE_SMOKE:
         case SENSOR_TYPE_WATER:
         case SENSOR_TYPE_ACCESS:
+        case SENSOR_TYPE_LEAK:
             break;
         case SENSOR_TYPE_GAS:
             {

+ 55 - 41
pro/src/json_handle.c

@@ -3128,49 +3128,62 @@ char *ws_sensor_status_ack_to_json(GlobalSensorManger *_globalSensorManger)
             memset(&_globalSensorInfo, 0, sizeof(_globalSensorInfo));
             switch (_globalSensorManagerTemp->sensor_type)
             {
-            case 0: // 温湿度传感器 2个值
-            {
-                _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
-                _overSensorBackInfoTemp->humidityValue = _globalSensorManagerTemp->Cur_sensor_info.val2;
-            }
-            break;
-            case 1: // 烟雾传感器 1个值
-            {
+                case SENSOR_TYPE_TEMP_HUMI: // 温湿度传感器 2个值
+                {
+                    _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
+                    _overSensorBackInfoTemp->humidityValue = _globalSensorManagerTemp->Cur_sensor_info.val2;
+                }
+                break;
+                case SENSOR_TYPE_SMOKE: // 烟雾传感器 1个值
+                {
 
-                _overSensorBackInfoTemp->alarmStatus = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
-            }
-            break;
-            case 2: // 水浸传感器 1个值  c
-            {
-                _overSensorBackInfoTemp->waterImmersionState = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
-            }
-            break;
-            case 3: // 门禁传感器
-            {
-                _overSensorBackInfoTemp->accessControlStatus = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
-            }
-            break;
-            case 4: // 气体传感器 1个值
-            {
-                _overSensorBackInfoTemp->gasConcentration = _globalSensorManagerTemp->Cur_sensor_info.val1; // 气体浓度
-            }
-            break;
-            case 5: // 气压气流传感器 2个值
-            {
-                _overSensorBackInfoTemp->airPressureValue = _globalSensorManagerTemp->Cur_sensor_info.val1; // 气压
-                _overSensorBackInfoTemp->airflowValue = _globalSensorManagerTemp->Cur_sensor_info.val2;     // 气流
-            };
-            break;
-            case 6: // 空调遥控器 没有值
-            {
-            }
-            break;
-            case 7:
-            {
-                _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
-                _overSensorBackInfoTemp->temperatureValue2 = _globalSensorManagerTemp->Cur_sensor_info.val2;
-            }
+                    _overSensorBackInfoTemp->alarmStatus = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
+                }
+                break;
+                case SENSOR_TYPE_WATER: // 水浸传感器 1个值  c
+                {
+                    _overSensorBackInfoTemp->waterImmersionState = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
+                }
+                break;
+                case SENSOR_TYPE_ACCESS: // 门禁传感器
+                {
+                    _overSensorBackInfoTemp->accessControlStatus = !(bool)_globalSensorManagerTemp->Cur_sensor_info.val1; // 1/0 报警未报警
+                }
+                break;
+                case SENSOR_TYPE_GAS: // 气体传感器 1个值
+                {
+                    _overSensorBackInfoTemp->gasConcentration = _globalSensorManagerTemp->Cur_sensor_info.val1; // 气体浓度
+                }
+                break;
+                case SENSOR_TYPE_AIR_PRESS: // 气压气流传感器 2个值
+                {
+                    _overSensorBackInfoTemp->airPressureValue = _globalSensorManagerTemp->Cur_sensor_info.val1; // 气压
+                    _overSensorBackInfoTemp->airflowValue = _globalSensorManagerTemp->Cur_sensor_info.val2;     // 气流
+                };
+                break;
+                case SENSOR_TYPE_AIR_COND: // 空调遥控器 没有值
+                {
+                }
+                break;
+                case SENSOR_TYPE_TEMP_DOUBLE:
+                {
+                    _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
+                    _overSensorBackInfoTemp->temperatureValue2 = _globalSensorManagerTemp->Cur_sensor_info.val2;
+                }
+
+                case SENSOR_TYPE_TEMP:
+                {
+                    _overSensorBackInfoTemp->temperatureValue = _globalSensorManagerTemp->Cur_sensor_info.val1;
+                }
+                break;
+
+                case SENSOR_TYPE_LEAK:
+                {
+                    _overSensorBackInfoTemp->leakStatus = _globalSensorManagerTemp->Cur_sensor_info.val1;
+                }
+                break;
             }
+
             // 入队
             list_add_tail(&_overSensorBackInfoTemp->list, &_over_all_sensor_back_info.list);
         }
@@ -3893,6 +3906,7 @@ char* alarm_sensor_threshold_to_json(GlobalSensorManger* _globalSensorManger)
         case SENSOR_TYPE_SMOKE:
         case SENSOR_TYPE_WATER:
         case SENSOR_TYPE_ACCESS:
+        case SENSOR_TYPE_LEAK:
             data_filed = cJSON_CreateObject();
             cJSON_AddStringToObject(data_filed, "connectionStatus", "");
             cJSON_AddStringToObject(data_filed, "sensorName", language_sensor_name[langID][(int)_globalSensorMangerTemp->sensor_type]);

+ 1 - 0
pro/src/json_handle.h

@@ -263,6 +263,7 @@ typedef struct
     int     sensorBaud;
     char   comSlogan[32];
     int    connectionStatus;
+    int    leakStatus;
     float   gasConcentration;
     float   humidityValue;
     float   temperatureValue;

+ 2 - 2
pub

@@ -16,10 +16,10 @@
 #PRJS="PRJ_RELEASE_AC_I3_O3"
 #PRJS="PRJ_STSC_I3_O3"
 #PRJS="PRJ_SG_I3_O3"
-PRJS="PRJ_TEST"
+#PRJS="PRJ_TEST"
 #PRJS="PRJ_TEST_AC_I1_O1"
 #PRJS="PRJ_TEST_AC_I3_O1"
-#PRJS="PRJ_INST2302_DC_OLED"
+PRJS="PRJ_INST2302_DC_OLED"
 
 #PRJS="PRJ_USASL_AC_I3_O1 PRJ_USASL_AC_I3_O3"
 #PRJS="PRJ_XIAN_AC_I1_O1_P4 PRJ_XIAN_AC_I1_O1_P8"