|
@@ -273,9 +273,9 @@ void TBCore::AlarmReport(QString subtype, quint64 addr, quint64 insertid, QStrin
|
|
if(Type==1)
|
|
if(Type==1)
|
|
name=QString::fromUtf8("可燃气体泄露");
|
|
name=QString::fromUtf8("可燃气体泄露");
|
|
else if(Type==2)
|
|
else if(Type==2)
|
|
- name = QString::fromUtf8("电池低压");
|
|
|
|
|
|
+ name = QString::fromUtf8("燃气传感器故障");
|
|
else if(Type==3)
|
|
else if(Type==3)
|
|
- name = QString::fromUtf8("设备防拆");
|
|
|
|
|
|
+ name = QString::fromUtf8("燃气传感器失效");
|
|
QString rep2 = QString("{\"SubType\":131,\"DeviceId\":\"%1\",\"InsertId\":%2,\"Confirmed\":0,\"flag\":0,\"CompanyCode\":\"%3\",\"evt_name\":\"%4\",\"evt\":\"%5\",\"alarm_time\":\"%6\"}")
|
|
QString rep2 = QString("{\"SubType\":131,\"DeviceId\":\"%1\",\"InsertId\":%2,\"Confirmed\":0,\"flag\":0,\"CompanyCode\":\"%3\",\"evt_name\":\"%4\",\"evt\":\"%5\",\"alarm_time\":\"%6\"}")
|
|
.arg(addr).arg(insertid).arg(companyCode).arg(name).arg(Type).arg(AlarmTime);
|
|
.arg(addr).arg(insertid).arg(companyCode).arg(name).arg(Type).arg(AlarmTime);
|
|
tbThread[repcur&0x0f]->appendData(rep2);
|
|
tbThread[repcur&0x0f]->appendData(rep2);
|
|
@@ -379,7 +379,6 @@ quint8 TBCore::hexstr_to_byte(QString dat)
|
|
}
|
|
}
|
|
|
|
|
|
void TBCore::check_framedata(QString data, QString etime, QString ip)
|
|
void TBCore::check_framedata(QString data, QString etime, QString ip)
|
|
-
|
|
|
|
{
|
|
{
|
|
if((data.length()%2)==0){
|
|
if((data.length()%2)==0){
|
|
QString infoData,alarmData;
|
|
QString infoData,alarmData;
|
|
@@ -430,6 +429,12 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
|
|
alarm = 0x01;
|
|
alarm = 0x01;
|
|
}else if((type==0x01)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x02)){
|
|
}else if((type==0x01)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x02)){
|
|
alarm = 0x02;
|
|
alarm = 0x02;
|
|
|
|
+ }else if((type==0x01)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x03)){
|
|
|
|
+ alarm = 0x01;
|
|
|
|
+ }else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x12)){
|
|
|
|
+ alarm = 0x02;
|
|
|
|
+ }else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x13)){
|
|
|
|
+ alarm = 0x03;
|
|
}else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x03)){
|
|
}else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x03)){
|
|
alarm = 0x03;
|
|
alarm = 0x03;
|
|
}else if((type==0x19)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x01)){
|
|
}else if((type==0x19)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x01)){
|
|
@@ -531,6 +536,7 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
|
|
QString sql = QString("insert into sp_y%1 (id, device_id, RSRQ, CSQ, DeviceType, DeviceStatus, BatteryLevel, SensorLevel, eventTime, storeTime,TData) values (NULL, '%2', '%3', '30', '1', '%4', '%5', '%6', '%7', '%8','%9')")
|
|
QString sql = QString("insert into sp_y%1 (id, device_id, RSRQ, CSQ, DeviceType, DeviceStatus, BatteryLevel, SensorLevel, eventTime, storeTime,TData) values (NULL, '%2', '%3', '30', '1', '%4', '%5', '%6', '%7', '%8','%9')")
|
|
.arg(device_id).arg(device_id).arg(wsignal).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:7))).arg(vbattery).arg(vsmoke).arg(etime).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg(temp);
|
|
.arg(device_id).arg(device_id).arg(wsignal).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:7))).arg(vbattery).arg(vsmoke).arg(etime).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg(temp);
|
|
dbThread->appendSql(sql);
|
|
dbThread->appendSql(sql);
|
|
|
|
+ logThread->appendData(sql);
|
|
|
|
|
|
infoTopic.append(QString("/usky/ytDP0003/%1/%2/info").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
|
|
infoTopic.append(QString("/usky/ytDP0003/%1/%2/info").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
|
|
alarmTopic.append(QString("/usky/ytDP0003/%1/%2/alarm").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
|
|
alarmTopic.append(QString("/usky/ytDP0003/%1/%2/alarm").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
|
|
@@ -702,6 +708,46 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if(!found){
|
|
|
|
+ for(int i=0;i<DEV_MAXCOUNT;i++){
|
|
|
|
+ if(gasList->sensors[i].Enabled==0x01){
|
|
|
|
+ if(QString("%1").arg(device_id).compare(QString(gasList->sensors[i].Device_Code))==0){
|
|
|
|
+ found =true;
|
|
|
|
+ QString sql = QString("insert into sp_gs%1 (id, device_id, RSRQ, CSQ, DeviceType, DeviceStatus, BatteryLevel, SensorLevel, eventTime, storeTime) values (NULL, '%2', '%3', '30', '131', '%4', '%5', '%6', '%7', '%8')")
|
|
|
|
+ .arg(device_id).arg(device_id).arg(wsignal).arg(alarm).arg(100).arg(vsmoke).arg(etime).arg(stime.toString("yyyy-MM-dd HH:mm:ss"));
|
|
|
|
+ dbThread->appendSql(sql);
|
|
|
|
+ logThread->appendData(sql);
|
|
|
|
+
|
|
|
|
+ infoTopic.append(QString("/usky/ytDP0003/%1/%2/info").arg(QString(gasList->sensors[i].Company_Code)).arg(QString(gasList->sensors[i].Device_Code)));
|
|
|
|
+ alarmTopic.append(QString("/usky/ytDP0003/%1/%2/alarm").arg(QString(gasList->sensors[i].Company_Code)).arg(QString(gasList->sensors[i].Device_Code)));
|
|
|
|
+
|
|
|
|
+ infoData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"devs\":[{\"dp\":[{\"property\":\"状态\",\"serial\":\"361\",\"value\":\"%3\"},{\"property\":\"剩余电量\",\"serial\":\"362\",\"value\":\"%4\"},{\"property\":\"无线信号\",\"serial\":\"363\",\"value\":\"%5\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"INFO\",\"timeStamp\":\"%10\"}").arg(QString(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:0))).arg(100).arg(wsignal).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
|
|
|
|
+
|
|
|
|
+ realtime_data(131,device_id, wsignal, vbattery,etime);
|
|
|
|
+ if(gasList->sensors[i].UnUsed[0]!=alarm)
|
|
|
|
+ {
|
|
|
|
+ if(alarm==0x01){
|
|
|
|
+ sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
|
|
|
|
+ .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS01").arg(ip).arg("GS01").arg("GS01").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("可燃气体泄漏")).arg("GS01");
|
|
|
|
+ dbThread->appendAlarm(AlarmRep(device_id,sql,"1",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
|
|
|
|
+ alarmData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"alarams\":[{\"dp\":[{\"property\":\"%3\",\"serial\":\"%4\",\"value\":\"%5\",\"status\":\"0\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"ALARM\",\"timeStamp\":\"%10\"}").arg(QString(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("可燃气体泄漏")).arg("371").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
|
|
|
|
+ }else if(alarm==0x02){
|
|
|
|
+ sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
|
|
|
|
+ .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS02").arg(ip).arg("GS02").arg("GS02").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("燃气传感器故障")).arg("GS02");
|
|
|
|
+ dbThread->appendAlarm(AlarmRep(device_id,sql,"2",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
|
|
|
|
+ alarmData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"alarams\":[{\"dp\":[{\"property\":\"%3\",\"serial\":\"%4\",\"value\":\"%5\",\"status\":\"0\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"ALARM\",\"timeStamp\":\"%10\"}").arg(QString(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("燃气传感器故障")).arg("372").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
|
|
|
|
+ }else if(alarm==0x03){
|
|
|
|
+ sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
|
|
|
|
+ .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS03").arg(ip).arg("GS03").arg("GS03").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("燃气传感器失效")).arg("GS03");
|
|
|
|
+ dbThread->appendAlarm(AlarmRep(device_id,sql,"3",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
|
|
|
|
+ alarmData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"alarams\":[{\"dp\":[{\"property\":\"%3\",\"serial\":\"%4\",\"value\":\"%5\",\"status\":\"0\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"ALARM\",\"timeStamp\":\"%10\"}").arg(QString(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("燃气传感器失效")).arg("373").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}else if((((Dat[0]&0xff)==0xd8)||((Dat[0]&0xff)==0xd9))
|
|
}else if((((Dat[0]&0xff)==0xd8)||((Dat[0]&0xff)==0xd9))
|
|
&&(len==44)&&((Dat[len-1]&0xff)==0xe1)){
|
|
&&(len==44)&&((Dat[len-1]&0xff)==0xe1)){
|