优化mqtt client ID,在看门狗加了检测线程状态判断,3.2.3
This commit is contained in:
parent
3439188cc4
commit
a0b04aad09
@ -20,7 +20,7 @@ enum enumZigBeeTransmitStatus {
|
||||
|
||||
|
||||
//#define NR5G_MODULE
|
||||
//#define Q4G_MODULE
|
||||
#define Q4G_MODULE
|
||||
//#define WIFI_MODULE
|
||||
//#define NR5G_MEIGE
|
||||
//#define G2UL_GATEWAY
|
||||
@ -47,6 +47,7 @@ public :
|
||||
static std::string Config_G; //配置文件
|
||||
static std::string ServerIP; //服务器地址
|
||||
static int ServerPort; //服务器端口
|
||||
static int threadStatus;
|
||||
static std::string UartName_G;
|
||||
static TopicList Topic_G; //发布的主题
|
||||
static ZigbeeInfo ZigbeeInfo_G; //gateway zigbee info
|
||||
|
12
main.cpp
12
main.cpp
@ -138,7 +138,7 @@ int main(int argc, char *argv[])
|
||||
startHeart.detach();
|
||||
|
||||
int fd = OpenWatchDog();
|
||||
|
||||
int count = 0;
|
||||
while (GlobalConfig::QuitFlag_G) {
|
||||
#ifdef G2UL_GATEWAY
|
||||
gpio_set(GlobalConfig::GPIO_G.hardWatchDog,1);
|
||||
@ -147,6 +147,16 @@ int main(int argc, char *argv[])
|
||||
#endif
|
||||
WriteWatchDog(fd);
|
||||
sleep(20);
|
||||
if(GlobalConfig::threadStatus == 0){
|
||||
count ++;
|
||||
}else if(GlobalConfig::threadStatus == 1){
|
||||
GlobalConfig::threadStatus = 0;
|
||||
count = 0;
|
||||
}
|
||||
if(count >= 180){
|
||||
LOG_ERROR("===========threadStatus ========failed \n");
|
||||
break;
|
||||
}
|
||||
// data_publish(senddata.c_str(), GlobalConfig::Topic_G.mPubData.c_str());
|
||||
|
||||
}
|
||||
|
@ -247,7 +247,8 @@ int start_client(const char *boardname, const char *gwid, const char* gwip, cons
|
||||
mosquitto_lib_cleanup();
|
||||
return 1;
|
||||
}
|
||||
snprintf(id, len, "mosqsub/%d-%s", getpid(), hostname);
|
||||
|
||||
snprintf(id, len, "mosqsub/%s-%s", GlobalConfig::ZigbeeInfo_G.PanID.c_str(), hostname);
|
||||
if (strlen(id) > MOSQ_MQTT_ID_MAX_LENGTH){
|
||||
/* Enforce maximum client id length of 23 characters */
|
||||
id[MOSQ_MQTT_ID_MAX_LENGTH] = '\0';
|
||||
|
@ -23,6 +23,7 @@ std::string GlobalConfig::NR5GTemp = "";
|
||||
int GlobalConfig::serverStatus = 0;
|
||||
int GlobalConfig::NetSignal = 0;
|
||||
int GlobalConfig::ServerPort = 0;
|
||||
int GlobalConfig::threadStatus = 1;
|
||||
|
||||
|
||||
TopicList GlobalConfig::Topic_G;
|
||||
|
@ -50,6 +50,7 @@ void CheckThread()
|
||||
int connectCount = 0;
|
||||
|
||||
while (GlobalConfig::QuitFlag_G) {
|
||||
GlobalConfig::threadStatus = 1;
|
||||
if (10 == heart_count) {
|
||||
// StatusPub();
|
||||
if (GlobalConfig::LinkCount > 30) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user