通过短信发送内容修改服务地址ip端口密钥
authordxy15521469561 <1731678236@qq.com>
Wed, 2 Aug 2023 09:56:03 +0000 (17:56 +0800)
committerdxy15521469561 <1731678236@qq.com>
Wed, 2 Aug 2023 09:56:03 +0000 (17:56 +0800)
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/ui.py

index 3c0e000..8fd3a79 100644 (file)
@@ -786,7 +786,6 @@ class DeviceInfoManager(Abstract):
         # EventMesh.publish("battery", self.get_battery())
         # EventMesh.publish("signal", self.get_signal())
 
-        
         self.timer_push = 0
         date_tmp = utime.localtime()
         time_tmp = utime.mktime(date_tmp)
@@ -1348,7 +1347,7 @@ class DeviceInfoManager(Abstract):
 
         voiceCall.setCallback(voice_callback)
         if EventMesh.publish(constants.EVENT.GET_CONNECT) == 0:#未插卡提示关机
-            if battery[0] == "1":
+            if battery[0] == "0":
                 self.no_smi_count+=1
                 if self.no_smi_count > 6 and self.no_smi_state == 0:
                     self.no_smi_count = 0
@@ -2738,8 +2737,43 @@ class setSmsIndexManager(Abstract):#
 
 class testSmsSetIPManager(Abstract):#
     def __init__(self):
-        self.newip = "api.xcloudtech.com"
-        self.newcom = 9000
+        self.newip = ""#默认防走丢协议
+        self.newcom = 0
+        self.read_data = {}
+        check = ql_fs.path_exists("/ext/static/storage_file/config.json")
+        if check == True:
+            with open("/ext/static/storage_file/config.json","r") as fd:
+                self.read_data = ujson.load(fd)
+                b1 = str("set_new_ip_addr") in self.read_data.keys()
+                if b1 == True:
+                    self.newip = self.read_data["set_new_ip_addr"]
+                else:
+                    self.newip = "api.xcloudtech.com"
+
+                b2 = str("set_new_com") in self.read_data.keys()
+                if b2 == True:
+                    self.newcom = self.read_data["set_new_com"]
+                else:
+                    self.newcom = 9000
+
+                b3 = str("set_new_md5") in self.read_data.keys()
+                if b3 == True:
+                    self.newmd5 = self.read_data["set_new_md5"]
+                else:
+                    self.newmd5 = "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
+                
+                self.read_data["set_new_ip_addr"] = self.newip
+                self.read_data["set_new_com"] = self.newcom
+                self.read_data["set_new_md5"] = self.newmd5
+
+
+                with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
+                    ujson.dump(self.read_data,fd)
+        else:
+            self.newip = "api.xcloudtech.com"#默认防走丢协议
+            self.newcom = 9000
+            self.newmd5 = "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
+
         # server_addr = "tcptest.tx.kidxin.com"
         # #SETIP:api.xcloudtech.com:9000
         # server_port = 11500
@@ -2750,13 +2784,23 @@ class testSmsSetIPManager(Abstract):#
         EventMesh.subscribe("get_new_ip", self.get_new_ip)
 
     def set_new_ip(self, event, msg): 
-        self.newip = msg[0]
-        self.newcom = msg[1]
-        # print("read_data:{} self.off_msg:{}".format(read_data,self.off_msg))
+        self.newip = str(msg[0])
+        self.newcom = int(msg[1])
+        self.newmd5 = str(msg[2])
+        #短信格式:SETIP:api.xcloudtech.com:9000:bZld0ALsZTt15tKEZhOlLPgbsO75BLTP 以冒号分隔 SETIP:ip地址:ip端口号:ip密钥key
+        self.read_data["set_new_ip_addr"] = self.newip #通过短信设置ip地址
+        self.read_data["set_new_com"]= self.newcom #通过短信设置ip端口号
+        self.read_data["set_new_md5"] = self.newmd5  #通过短信设置ip的key密钥
+       
+        
+        with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
+            ujson.dump(self.read_data,fd)
+        # print("msg:{} self.read_data:{}".format(msg,self.read_data))
+        Power.powerRestart()
 
     def get_new_ip(self, event, msg):
         
-        return [self.newip,self.newcom]
+        return [self.newip,self.newcom,self.newmd5]
 
 
     
\ No newline at end of file
index e4155de..74399d6 100644 (file)
@@ -75,11 +75,9 @@ def UnicodeHexStr_To_Utf8Str(str):
     return result.decode('utf-8') #返回utf8的str
 class SockManager(Abstract):
     #END = "]"
-    # server_addr = "tcptest.tx.kidxin.com"
-    # server_port = 11500
-
-    server_addr = "api.xcloudtech.com"
-    server_port = 9000
+  
+    # server_addr = "api.xcloudtech.com"
+    # server_port = 9000
     # server_addr = "8.134.68.15"
     # server_port = 30346
     def __init__(self):
@@ -93,6 +91,18 @@ class SockManager(Abstract):
         self.reconnect_time = 1000
         self.reconnect_flag = 0
         self.connect_tmp = 0
+        # self.server_addr = "tcptest.tx.kidxin.com"
+        # self.server_port = 11500
+        
+        self.server_addr = "api.xcloudtech.com"
+        self.server_port = 9000
+        ip_infor = {}
+        ip_infor = EventMesh.publish("get_new_ip")
+        # print("ip_infor:{} ".format(ip_infor))
+        if ip_infor != None:
+            self.server_addr = ip_infor[0]
+            self.server_port = ip_infor[1]
+        print("server_addr:{} server_port:{}".format(self.server_addr,self.server_port))
         _thread.start_new_thread(self.connect, ())
         
         self.socket_send_queue = Queue()
@@ -290,8 +300,8 @@ class ProtoCol(Abstract):
     SEPARATOR = ";"
     END = ";" + chr(0x01)
     PID = "SZKW"
-    md5_key = "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
-    #md5_key = "19ED5F01235A6B360A09C1800432C31B"
+    # md5_key = "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
+   
     # PID = "qAELPTKmFanR4RHe"
     # md5_key = "3JyCjsw4ryXKzjzudayY"
     def __init__(self):
@@ -305,6 +315,13 @@ class ProtoCol(Abstract):
         self.key = EventMesh.publish(constants.EVENT.GET_KEY)
         self.HEADER = self.HEADER.format(self.TYPE)
 
+        self.md5_key = "19ED5F01235A6B360A09C1800432C31B"
+        ip_infor = {}
+        ip_infor = EventMesh.publish("get_new_ip")
+        if ip_infor != None:
+            self.md5_key = ip_infor[2]
+        # print("md5_key",self.md5_key)
+
     def initialization(self, *args, **kwargs):
         EventMesh.subscribe(self.TYPE + "_SEND", self.handler)
         EventMesh.subscribe(self.TYPE + "_RECV", self.handler)
index d9b9563..3418c98 100644 (file)
@@ -1663,12 +1663,7 @@ class NewMessageScreen(Screen):
             message_popup_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
             self.meta = message_popup_screen
         EventMesh.publish("set_sms_clear_all_data",10)
-        index = EventMesh.publish("get_sms_index")#
-        if index != -1:
-            tmp = sms.searchTextMsg(index)
-            # detail = tmp[1]#内容
-            # tmp_de = detail.split('SETIP:')
-            # print("tmp:",tmp)
+        
 
 
 
@@ -1845,7 +1840,15 @@ def msg_cb(args):
     print("index:{}".format(index))
     sms_data = sms.getSaveLoc()
     sms_max = sms_data[0][2]
-    EventMesh.publish("set_sms_index",index)#设置关机时间
+    if index != -1:
+        tmp = sms.searchTextMsg(index)
+        detail = tmp[1]#内容
+        new_ip = detail.split(':')[1]
+        new_com = detail.split(':')[2]
+        new_md5 = detail.split(':')[3]
+        # print("detail {} tmp_de:{}".format(detail,new_ip,new_com))
+        if len(new_ip) != 0:
+            EventMesh.publish("set_new_ip", [new_ip,new_com,new_md5])#设置关机时间
     if index >= sms_max-1:
         EventMesh.publish("load_screen", {"screen": "message_full"})
     else: