|
|
@@ -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){
|