瀏覽代碼

改mqtt的bug

guohui 2 年之前
父節點
當前提交
a71073559a
共有 8 個文件被更改,包括 21 次插入 和 17 次删除
  1. 6 3
      pro/config/cfg.h
  2. 0 3
      pro/src/appweb_handle.c
  3. 4 0
      pro/src/dflt.c
  4. 0 1
      pro/src/json_handle.h
  5. 4 2
      pro/src/mqtt.c
  6. 2 2
      pro/src/sqlite_handle.c
  7. 2 2
      pro/src/switch_ctrl.c
  8. 3 4
      pro/src/sys.c

+ 6 - 3
pro/config/cfg.h

@@ -18,9 +18,9 @@
 //#define PRJ_LITECH_AC_I1_O1
 //#define PRJ_LITECH_AC_I3_O1
 //#define PRJ_INSPUR_DC_I_DC_O
-//#define PRJ_ANDERSON_AC_I3_O3
+#define PRJ_ANDERSON_AC_I3_O3
 //#define PRJ_HYPERTEC_AC_I3_O1
-#define PRJ_TEST
+//#define PRJ_TEST
 
 
 #if (defined PRJ_XIAN_AC_I1_O1_P4) || (defined PRJ_XIAN_AC_I1_O1_P8)  //GOM037
@@ -135,6 +135,9 @@
     #define USE_SMTP
     #define SMTP_SEND_BUILTIN
 
+    #define USE_MQTT
+    #define MQTT_SERVER_BUILTIN
+
     #define USE_NF_CTRL
 
     #define PROD_POWER_TYPE                     3
@@ -176,7 +179,7 @@
     #define SAVE_TIME                           60000       //ms
     #define CASCADE_CNT                         0
 
-    #define MAX_CHN_COUNT                       4//24//4
+    #define MAX_CHN_COUNT                       24//4
     #define PHASE_GROUP                         8
     #define CHANNEL_DELAY                       8
     

+ 0 - 3
pro/src/appweb_handle.c

@@ -3565,9 +3565,6 @@ static void serviceManagement(void *conn)
         if(req->user) { strcpy(ser->user, req->user); save_flag=1; }
         if(req->password) { strcpy(ser->password, req->password); save_flag=1; }
         if(req->cid) { strcpy(ser->cid, req->cid); save_flag=1; }
-        if(req->cert) { 
-            strcpy(ser->cert, req->cert); save_flag=1;
-        }
 
         if(save_flag) {
             dev_mqtt_update_ser(gdm->db, ser);

+ 4 - 0
pro/src/dflt.c

@@ -91,5 +91,9 @@ mqtt_info_t DFLT_MQTT={
         .password = "gowone100",
     },
 
+    .ser[1]={.id=-1},
+    .ser[2]={.id=-1},
+    .ser[3]={.id=-1},
+    .ser[4]={.id=-1},
 };
 

+ 0 - 1
pro/src/json_handle.h

@@ -363,7 +363,6 @@ typedef struct
     char* cid;
     char* user;
     char* password;
-    char* cert;
     char* status;       //connect status
 }_MQTT_ServerRequestInfo;
 

+ 4 - 2
pro/src/mqtt.c

@@ -485,11 +485,12 @@ static void* client_thread(void *arg)
 
     pthread_exit(NULL);
 }
-
+#endif
 
 
 void* mqtt_thread(void *arg)
 {
+#ifdef USE_MQTT
     int r;
     thread_handle_t *th=(thread_handle_t*)arg;
     mqtt_handle_t *h=(mqtt_handle_t*)th->arg;
@@ -499,10 +500,11 @@ void* mqtt_thread(void *arg)
         sleep(1);
     }
     stop_all(h);
+#endif
 
     pthread_exit(NULL);
 }
-#endif
+
 
 
 //////////////////////////////////////////////////////////////////////////

+ 2 - 2
pro/src/sqlite_handle.c

@@ -4469,7 +4469,7 @@ int dev_mqtt_update_ser(sqlite3 *db, mqtt_server_t *ser)
     char *table=MQTT_MANAGER_TABLE;
     char *pbuf=malloc(sizeof(mqtt_server_t)+1024);
 
-    if(!pbuf) {
+    if(!db || !ser || !pbuf || ser->id<0) {
         return -1;
     }
 
@@ -4479,7 +4479,7 @@ int dev_mqtt_update_ser(sqlite3 *db, mqtt_server_t *ser)
 
     cnt = get_count(db, table);
     if(cnt>0) {
-        sprintf(pbuf, "UPDATE %s SET id=%d, mode=%d, name='%s', server='%s', port='%s', cid='%s', user='%s', password='%s', cert='%s', WHERE id=%d;", 
+        sprintf(pbuf, "UPDATE %s SET id=%d, mode=%d, name='%s', server='%s', port='%s', cid='%s', user='%s', password='%s', cert='%s' WHERE id=%d;", 
                 table, ser->id, ser->mode, ser->name, ser->server, ser->port, ser->cid, ser->user, ser->password, ser->cert?ser->cert:"", ser->id);
         r = sqlite3_exec(db, pbuf, NULL, 0, &errmsg);
         if(r != SQLITE_OK) {

+ 2 - 2
pro/src/switch_ctrl.c

@@ -312,7 +312,7 @@ int g_switch_set_ac_single_s_start_time_delay(void* manger,int saddr,unsigned ch
     int reg=g_modbus_write_reg(manger,saddr,offset,time);
     if (reg>=0)
     {
-        log_d("StartDelayTime_Addr:%d OffSet:%d Time:%d  Ret=%d",saddr,offset,time,reg);
+        //log_d("StartDelayTime_Addr:%d OffSet:%d Time:%d  Ret=%d",saddr,offset,time,reg);
     }
     else
     {
@@ -336,7 +336,7 @@ int g_switch_set_ac_single_s_stop_time_delay(void* manger,int saddr,unsigned cha
     int reg=g_modbus_write_reg(manger,saddr,offset,time);
     if (reg>=0)
     {
-        log_d("StopDelayTime_Addr:%d OffSet:%d Time:%d Ret=%d",saddr,offset,time,reg);
+        //log_d("StopDelayTime_Addr:%d OffSet:%d Time:%d Ret=%d",saddr,offset,time,reg);
     }
     else
     {        

+ 3 - 4
pro/src/sys.c

@@ -123,10 +123,9 @@ int sys_reboot(void)
 int sys_set_factory(void)
 {
     int r=0;
-    char dir[100],src[200],dst[200];
-
-    extern GlobalDeviceManager __globalDeviceManage;
-    sqlite_deinit(__globalDeviceManage.db, &__globalDeviceManage.dbThreadlock);
+    char dir[200],src[400],dst[400];
+    GlobalDeviceManager *dm=&__globalDeviceManage;
+    sqlite_deinit(dm->db, &dm->dbThreadlock);
 
     sys_get_path(dir, "");
     LOGD("___ curdir: %s\n", dir);