Explorar o código

消防物联网程序mqtt消息(info和alarm)修改设备类型dwType字段取值

James %!s(int64=3) %!d(string=hai) anos
pai
achega
025135f5ea
Modificáronse 2 ficheiros con 38 adicións e 25 borrados
  1. 38 25
      CamCore/coreobject.cpp
  2. BIN=BIN
      CamCore/ytCamCore

+ 38 - 25
CamCore/coreobject.cpp

@@ -79,6 +79,7 @@ CoreObject::CoreObject(QObject *parent) :
         name = mqttqry.value(2).toString();
         passwd = mqttqry.value(3).toString();
     }
+    printf("ip= %s ,port= %s,username= %s,passwd= %s \n",ip.toUtf8().data(),port.toUtf8().data(),name.toUtf8().data(),passwd.toUtf8().data());
     db.close();
     m_client = new QMQTT::Client(QHostAddress(ip),static_cast<quint16>(port.toInt()),this);
     m_client->setUsername(name);
@@ -117,6 +118,7 @@ CoreObject::CoreObject(QObject *parent) :
             connect(process,SIGNAL(aboutToClose()),this,SLOT(process_stop()));
             processList.append(process);
         }
+        printf("processList.length = %d\n",processList.length());
         for(quint16 i=0;i<8;i++){
             wxThreads[i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/GeneralPush/voice");
             wssThread[i] = new ttsThreads(this,i,"47.98.201.73","/report",55125);
@@ -136,6 +138,7 @@ CoreObject::CoreObject(QObject *parent) :
     chkPhoneList();
     connect(timer,SIGNAL(timeout()),this,SLOT(time_out()));
     time_out();
+
 }
 
 CoreObject::~CoreObject()
@@ -216,6 +219,7 @@ QString getNewId()
 
 BOOL RegisterCallBack(LONG lUserID, DWORD dwDataType, void *pOutBuffer, DWORD dwOutLen, void *pInBuffer, DWORD dwInLen, void *pUser)
 {
+    printf("enter into RegisterCallBack\n");
     int i,idx=0;
     bool found = false;
 
@@ -227,6 +231,7 @@ BOOL RegisterCallBack(LONG lUserID, DWORD dwDataType, void *pOutBuffer, DWORD dw
     if (ENUM_DEV_ON == dwDataType)
     {
         NET_EHOME_DEV_REG_INFO *pDevInfo = (NET_EHOME_DEV_REG_INFO *)pOutBuffer;
+        printf("pDevInfo = : %s\n",(char*)(pDevInfo->byDeviceID));
 //        qDebug()<<"RegisterCallBack: "<<(char*)(pDevInfo->byDeviceID);
         if(pDevInfo!=NULL)
         {
@@ -234,7 +239,7 @@ BOOL RegisterCallBack(LONG lUserID, DWORD dwDataType, void *pOutBuffer, DWORD dw
                 if(strcmp(ytShm->eHomeDevice[i].deviceID,QString((char*)(pDevInfo->byDeviceID)).replace(" ","_").toUtf8().data())==0){
                     found = true;
                     memcpy(ytShm->eHomeDevice[i].devIp,(char *)(pDevInfo->struDevAdd.szIP),sizeof(ytShm->eHomeDevice[i].devIp));
-//                    obj->appendLog(QString("[ %1 (%2) online ]").arg(t_now.toString("yyyy-MM-dd HH:mm:ss")).arg(ytShm->eHomeDevice[i].deviceID));
+                    obj->appendLog(QString("[ %1 (%2) online ]").arg(t_now.toString("yyyy-MM-dd HH:mm:ss")).arg(ytShm->eHomeDevice[i].deviceID));
                     ytShm->eHomeDevice[i].LoginId = lUserID;
                     ytShm->eHomeDevice[i].Connected = 0x00;
                     ytShm->eHomeDevice[i].Inited = 0x01;
@@ -272,7 +277,7 @@ BOOL RegisterCallBack(LONG lUserID, DWORD dwDataType, void *pOutBuffer, DWORD dw
                 ytShm->eHomeDevice[i].io[15]=0x00;
                 ytShm->eHomeDevice[i].io[14]=0x02;
                 ytShm->eHomeDevice[i].LoginId = -1;
-//                obj->appendLog(QString("[ %1 (%2) offline ]").arg(t_now.toString("yyyy-MM-dd HH:mm:ss")).arg(ytShm->eHomeDevice[i].deviceID));
+                obj->appendLog(QString("[ %1 (%2) offline ]").arg(t_now.toString("yyyy-MM-dd HH:mm:ss")).arg(ytShm->eHomeDevice[i].deviceID));
                 if(ytShm->eHomeDevice[i].SessionId>=0){
                     if(NET_ECMS_StopGetRealStream(lUserID,ytShm->eHomeDevice[i].SessionId)){
                         ytShm->eHomeDevice[i].SessionId = -1;
@@ -345,10 +350,10 @@ BOOL CALLBACK fnPREVIEW_NEWLINK_CB(LONG lPreviewHandle, NET_EHOME_NEWLINK_CB_MSG
                 {
                     ytShm->eHomeDevice[i].SessionId = -1;
                     ytShm->eHomeDevice[i].Connected = 0x00;;
-//                    printf("NET_ESTREAM_SetPreviewDataCB set failed(%s)\n",ytShm->eHomeDevice[i].deviceID);
+                    printf("NET_ESTREAM_SetPreviewDataCB set failed(%s)\n",ytShm->eHomeDevice[i].deviceID);
                     return false;
                 }
-//                printf("NET_ESTREAM_SetPreviewDataCB set pass(%s)\n",ytShm->eHomeDevice[i].deviceID);
+                printf("NET_ESTREAM_SetPreviewDataCB set pass(%s)\n",ytShm->eHomeDevice[i].deviceID);
                 return true;
             }
         }
@@ -643,6 +648,7 @@ BOOL InputStreamData(QString deviceid, BYTE byDataType, char* pBuffer, int iData
     int i;
     uint t = QDateTime::currentDateTime().toTime_t();
     ytShm->workingTime[0] = t;
+    printf("InputStreamData test \n");
     if(iDataLen>0){
         nopic_count = 0;
         for(i=0;i<DEVICES_COUNT;i++){
@@ -711,11 +717,11 @@ void CoreObject::start()
     NET_EHOME_LOCAL_GENERAL_CFG struGeneralCfg = {0};
     struGeneralCfg.byAlarmPictureSeparate = 1;
     if(!NET_EALARM_SetSDKLocalCfg(LOCAL_CFG_TYPE_GENERAL,&struGeneralCfg)){
-//        printf("NET_EALARM_SetSDKLocalCfg falied\n");
+        printf("NET_EALARM_SetSDKLocalCfg falied\n");
         NET_ECMS_Fini();
         return;
     }
-//    printf("NET_EALARM_SetSDKLocalCfg pass!\n");
+    printf("NET_EALARM_SetSDKLocalCfg pass!\n");
     //报警监听参数
     NET_EHOME_ALARM_LISTEN_PARAM struTcpAlarmListenParam = {0};
     memcpy(struTcpAlarmListenParam.struAddress.szIP, iServerIP, sizeof(iServerIP));
@@ -726,13 +732,13 @@ void CoreObject::start()
     struTcpAlarmListenParam.byUseCmsPort = 0;
     struTcpAlarmListenParam.byUseThreadPool = 0;
     if((alarmListenHandle=NET_EALARM_StartListen(&struTcpAlarmListenParam))<-1){
-//        printf("NET_EALARM_StartListen TCP failed, error code: %d\n", NET_EALARM_GetLastError());
+        printf("NET_EALARM_StartListen TCP failed, error code: %d\n", NET_EALARM_GetLastError());
         NET_ECMS_Fini();
         NET_ESTREAM_Fini();
         NET_EALARM_Fini();
         exit(1);
     }
-//    printf("NET_EALARM_StartListen TCP!\n");
+    printf("NET_EALARM_StartListen TCP!\n");
 
     //报警监听参数
     NET_EHOME_ALARM_LISTEN_PARAM struListen = {0};
@@ -748,15 +754,16 @@ void CoreObject::start()
     LONG lHandle = NET_EALARM_StartListen(&struListen);
     if(lHandle< -1)
     {
-//        printf("NET_EALARM_StartListen failed, error code: %d\n", NET_EALARM_GetLastError());
+        printf("NET_EALARM_StartListen failed, error code: %d\n", NET_EALARM_GetLastError());
         NET_ECMS_Fini();
         NET_ESTREAM_Fini();
         NET_EALARM_Fini();
         exit(1);
     }
-//    printf("NET_EALARM_StartListen!\n");
+    printf("NET_EALARM_StartListen!\n");
     NET_ECMS_SetLogToFile(1,QString("/var/log/usky/").toUtf8().data(),true);
     for(int i=0;i<DEVICES_COUNT;i++){
+        printf("NET_ESTREAM_StartListenPreview\n");
         ytShm->eHomeDevice[i].previewport = 58000+i;
         ytShm->eHomeDevice[i].listen_alarm_handle = lHandle;
         NET_EHOME_LISTEN_PREVIEW_CFG struListen = {0};
@@ -776,19 +783,23 @@ void CoreObject::start()
     struCMSListenPara.struAddress.wPort = 7660;
     struCMSListenPara.fnCB = RegisterCallBack;
     struCMSListenPara.pUserData = this;
+    printf("NET_ECMS_StartListen begin\n");
     LONG lListen = NET_ECMS_StartListen(&struCMSListenPara);
     if(lListen < -1)
     {
+        printf("NET_ECMS_StartListen fail\n");
         NET_ECMS_Fini();
         NET_ESTREAM_Fini();
         NET_EALARM_Fini();
         exit(1);
     }
+    printf("NET_ECMS_StartListen end\n");
 //    qDebug()<<"start core";
 }
 
 void CoreObject::process_stop()
 {
+    printf("process_stop \n");
     QProcess *p = (QProcess *)sender();
     for(int i=0;i<DEVICES_COUNT;i++){
         if(p==processList.at(i)){
@@ -878,6 +889,7 @@ void CoreObject::clear_devalarm(AlarmEvent devAlarm,bool isFtp)
 
 void CoreObject::time_out()
 {
+    printf("time_out start\n");
     uint ChkTime = 0;
     QDateTime t = QDateTime::currentDateTime();
     ytShm->workingTime[0] = t.toTime_t();
@@ -915,17 +927,17 @@ void CoreObject::time_out()
                     ytShm->eHomeDevice[i].io[0] = 0x01;
                 else if(ytShm->eHomeDevice[i].io[7]==0x01){
                     if((ytShm->eHomeDevice[i].time[1]>0)&&((t.toTime_t()-ytShm->eHomeDevice[i].time[1])>300)){
-//                        printf("%s time over close\n",ytShm->eHomeDevice[i].deviceID);
+                        printf("%s time over close\n",ytShm->eHomeDevice[i].deviceID);
                         ytShm->eHomeDevice[i].io[0] = 0x00;
                         ytShm->eHomeDevice[i].io[7] = 0x00;
                         ytShm->eHomeDevice[i].time[1]=0;
                     }else if(ytShm->eHomeDevice[i].io[0]==0x00){
-//                        printf("%s io7 on\n",ytShm->eHomeDevice[i].deviceID);
+                        printf("%s io7 on\n",ytShm->eHomeDevice[i].deviceID);
 //                        ytShm->eHomeDevice[i].io[7] = 0x00;
                         ytShm->eHomeDevice[i].io[0] = 0x01;
                     }else if(ytShm->eHomeDevice[i].io[0]==0x01){
                         if(ytShm->eHomeDevice[i].io[15]>2){
-//                            printf("%s NET_ECMS_StopGetRealStream\n",ytShm->eHomeDevice[i].deviceID);
+                            printf("%s NET_ECMS_StopGetRealStream\n",ytShm->eHomeDevice[i].deviceID);
                             if(NET_ECMS_StopGetRealStream(ytShm->eHomeDevice[i].LoginId,ytShm->eHomeDevice[i].SessionId)){
 //                                ytShm->eHomeDevice[i].io[0] = 0x00;
 //                                ytShm->eHomeDevice[i].io[7] = 0x00;
@@ -935,7 +947,7 @@ void CoreObject::time_out()
                         }
                     }
                 }else if(ytShm->eHomeDevice[i].io[6]==0x01){
-//                    printf("%s io6 on\n",ytShm->eHomeDevice[i].deviceID);
+                    printf("%s io6 on\n",ytShm->eHomeDevice[i].deviceID);
                     ytShm->eHomeDevice[i].io[0] = 0x01;
                     if(ytShm->eHomeDevice[i].io[8]==0x08||ytShm->eHomeDevice[i].io[8]==0x84){
                         ytShm->eHomeDevice[i].io[0] = 0x00;
@@ -996,17 +1008,17 @@ void CoreObject::time_out()
                         //预览请求推流输出参数
                         NET_EHOME_PUSHSTREAM_OUT struPushStreamOut = {0};
                         if(!NET_ECMS_StartPushRealStream(ytShm->eHomeDevice[i].LoginId, &struPushStreamIn, &struPushStreamOut)){
-//                            printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
+                            printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
                             ytShm->eHomeDevice[i].io[15]++;
                         }else{
-//                            printf("%s start push real stream\n",ytShm->eHomeDevice[i].deviceID);
+                            printf("%s start push real stream\n",ytShm->eHomeDevice[i].deviceID);
                             ytShm->eHomeDevice[i].io[15]=0x00;
                         }
                     }
                     else
                     {
                         ytShm->eHomeDevice[i].previewport = 58000+i;
-//                        printf("actice %s at %d(loginId:%d)\n",ytShm->eHomeDevice[i].deviceID,ytShm->eHomeDevice[i].previewport,ytShm->eHomeDevice[i].LoginId);
+                        printf("actice %s at %d(loginId:%d)\n",ytShm->eHomeDevice[i].deviceID,ytShm->eHomeDevice[i].previewport,ytShm->eHomeDevice[i].LoginId);
                         NET_EHOME_PREVIEWINFO_IN_V11 struPreviewIn = {0};
                         struPreviewIn.iChannel = 1; //通道号
                         struPreviewIn.dwLinkMode = 0; //0- TCP方式,1- UDP方式
@@ -1016,9 +1028,9 @@ void CoreObject::time_out()
                         //预览请求输出参数
                         NET_EHOME_PREVIEWINFO_OUT struPreviewOut = {0};
                         if(!NET_ECMS_StartGetRealStreamV11(ytShm->eHomeDevice[i].LoginId, &struPreviewIn, &struPreviewOut)){
-//                            printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
+                            printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
                         }else{
-//                            printf("active %s lSessionID:%d\n",ytShm->eHomeDevice[i].deviceID,struPreviewOut.lSessionID);
+                            printf("active %s lSessionID:%d\n",ytShm->eHomeDevice[i].deviceID,struPreviewOut.lSessionID);
                             ytShm->eHomeDevice[i].SessionId = struPreviewOut.lSessionID;
                             NET_EHOME_PUSHSTREAM_IN struPushStreamIn = {0};
                             struPushStreamIn.dwSize = sizeof(struPushStreamIn);
@@ -1026,10 +1038,10 @@ void CoreObject::time_out()
                             //预览请求推流输出参数
                             NET_EHOME_PUSHSTREAM_OUT struPushStreamOut = {0};
                             if(!NET_ECMS_StartPushRealStream(ytShm->eHomeDevice[i].LoginId, &struPushStreamIn, &struPushStreamOut)){
-//                                printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
+                                printf("%s NET_ECMS_StartGetRealStreamV11 failed.\n",ytShm->eHomeDevice[i].deviceID);
                                 ytShm->eHomeDevice[i].io[15]++;
                             }else{
-//                                printf("%s start push real stream\n",ytShm->eHomeDevice[i].deviceID);
+                                printf("%s start push real stream\n",ytShm->eHomeDevice[i].deviceID);
                                 ytShm->eHomeDevice[i].io[15]=0x00;
                             }
                         }
@@ -1140,6 +1152,7 @@ void CoreObject::time_out()
                 QString phonelist = "";
                 Alarm_Report rep = reportList.first();
                 appendLog(QString("[ %1 sql(%2) ] %3").arg(t.toString("yyyy-MM-dd HH:mm:ss")).arg(alarmList.length()).arg(rep.Sql));
+                printf("[ %s sql(%d) ] %s\n",t.toString("yyyy-MM-dd HH:mm:ss").toUtf8().data(),alarmList.length(),rep.Sql.toUtf8().data());
                 QSqlQuery qry = db.exec(rep.Sql);
                 quint64 insertId = qry.lastInsertId().toULongLong();
                 QString type="",point="";
@@ -1149,7 +1162,7 @@ void CoreObject::time_out()
                     QString devid = QString(ytShm->eHomeDevice[i].deviceID);
                     if(QString::compare(rep.Device_Code,devid)==0){
                         companyCode = QString(ytShm->eHomeDevice[i].rtsppath);
-                        deviceType.append(QString("%1").arg((ytShm->eHomeDevice[i].io[8]&0xff),2,16,QChar('0')));
+                        //deviceType.append(QString("%1").arg((ytShm->eHomeDevice[i].io[8]&0xff),2,16,QChar('0')));
                         deviceName = QString(ytMqShm->eHomeDeviceMq[i].deviceName);
                         value = QString(ytShm->eHomeDeviceFtp[i].filePath);
                         break;
@@ -1166,12 +1179,12 @@ void CoreObject::time_out()
                     type=QString::fromUtf8("电动车禁入/区域入侵告警");
                     point.append("1603");
                 }
-//                printf("device code:%s\nget company code:%s\n",rep.Device_Code.toUtf8().data(),companyCode.toUtf8().data());
+                printf("device code:%s\nget company code:%s\n",rep.Device_Code.toUtf8().data(),companyCode.toUtf8().data());
                 if(companyCode.length()>0){
 
                     QString alarmTopic = QString("/usky/ytCamCore/%1/%2/alarm").arg(companyCode).arg(rep.Device_Code);
                     QString alarmStr = "";
-                    alarmStr.append(QString("{\"devId\":\"%1\",\"connType\":\"G\",\"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(rep.Device_Code).arg(deviceName).arg(type).arg(point).arg(value).arg(deviceName).arg((QDateTime::fromString(rep.Event_Time,"yyyy-MM-dd hh:mm:ss")).toTime_t()).arg(deviceType).arg(rep.Device_Code).arg((QDateTime::fromString(rep.Event_Time,"yyyy-MM-dd hh:mm:ss")).toTime_t()));
+                    alarmStr.append(QString("{\"devId\":\"%1\",\"connType\":\"G\",\"deviceName\":\"%2\",\"alarams\":[{\"dp\":[{\"property\":\"%3\",\"serial\":\"%4\",\"value\":\"%5\",\"status\":\"0\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"16\",\"devId\":\"%8\"}],\"type\":\"ALARM\",\"timeStamp\":\"%9\"}").arg(rep.Device_Code).arg(deviceName).arg(type).arg(point).arg(value).arg(deviceName).arg((QDateTime::fromString(rep.Event_Time,"yyyy-MM-dd hh:mm:ss")).toTime_t()).arg(rep.Device_Code).arg((QDateTime::fromString(rep.Event_Time,"yyyy-MM-dd hh:mm:ss")).toTime_t()));
 
                     if((m_client->connectionState()==QMQTT::STATE_DISCONNECTED) ||(m_client->connectionState()==QMQTT::STATE_INIT)){
                         m_client->connectToHost();
@@ -1187,7 +1200,7 @@ void CoreObject::time_out()
                     spThread[repcur]->appendData(rep1);
                     QString rep2 = QString("{\"SubType\":16,\"DeviceId\":\"%1\",\"InsertId\":%2,\"Confirmed\":0,\"CompanyCode\":\"%3\",\"evt_name\":\"%4\",\"evt\":0,\"alarm_time\":\"%5\"}")
                                     .arg(rep.Device_Code).arg(insertId).arg(companyCode).arg(type).arg(rep.Event_Time);
-//                    printf("%s\n",rep2.toUtf8().data());
+                    printf("1234  ---  %s\n",rep2.toUtf8().data());
                     wssThread[repcur]->appendData(rep2);
                     for(int i=0;i<companyphoneList.length();i++){
                         if(QString::compare(companyphoneList.at(i).CompanyCode,companyCode)==0){

BIN=BIN
CamCore/ytCamCore