D10:
authordxy15521469561 <1731678236@qq.com>
Tue, 23 Jan 2024 09:31:10 +0000 (17:31 +0800)
committerdxy15521469561 <1731678236@qq.com>
Tue, 23 Jan 2024 09:31:10 +0000 (17:31 +0800)
加短信固件升级

2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led_d15.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/protocol.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/sleep_test.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/ui.py

index 235aca4..4680da9 100644 (file)
@@ -306,11 +306,10 @@ if EventMesh.model == "D15":
                                             return
                                     else:# 0 2都认为其他模式灯亮 不是测试健康灯
                                         self.working_led_mode = led_mode.OTHER_MEASURE_MODE
-            
-            if EventMesh.model == "D15":
-                if EventMesh.publish("get_video_state") != 0:
-                    if msg[6] != led_mode.VIDEO_MEASURE_MODE:
-                        return
+
+            if EventMesh.publish("get_video_state") != 0:
+                if msg[6] != led_mode.VIDEO_MEASURE_MODE:
+                    return
             self.open_timer(msg)
 
 
index 8bda242..75f566c 100644 (file)
@@ -158,6 +158,7 @@ def main_init():
     app.append_manager(mgr.testSmsSetIPManager())
     app.append_manager(mgr.deleteSmsManager())
     app.append_manager(mgr.schoolclassManager())
+    app.append_manager(mgr.firwDownloadManager())
     if EventMesh.model == "D15":
         app.append_manager(mgr.vedioInforManager())
 
index 7982108..6bbe69a 100644 (file)
@@ -4985,4 +4985,22 @@ if EventMesh.model == "D10":
             if self.full_name:
                 return self.full_name
             else:
-                return None
\ No newline at end of file
+                return None
+    
+    import fota
+    class firwDownloadManager(Abstract):#
+        def __init__(self):
+            self.timer = osTimer()
+
+
+        def post_processor_after_instantiation(self):
+            EventMesh.subscribe("firware_download", self.firware_download)#
+
+        def firware_download(self, event, msg): 
+            number = str(msg)
+            sms.sendPduMsg(number, 'set ok', 'UCS2')
+            self.timer.start(10*1000,0,self.fun)
+
+        def fun(self,*argc):
+            fota_obj = fota()
+            fota_obj.httpDownload(url1="http://u-oss.thisiot.com/test/dfota_1.bin",url2="http://u-oss.thisiot.com/test/dfota_2.bin")
\ No newline at end of file
index df69511..1b9e0f0 100644 (file)
@@ -5034,6 +5034,8 @@ if EventMesh.model == "D15":
 
             self.video_timer = 0
 
+            self.video_init = 0
+
             self.videoInfo_queue = Queue()
             _thread.stack_size(10*1024)
             _thread.start_new_thread(self.videoInfo_queue_thread, ())
@@ -5097,6 +5099,7 @@ if EventMesh.model == "D15":
 
             EventMesh.subscribe("clear_video_timer_state",self.clear_video_timer_state)
 
+            EventMesh.subscribe("set_vedio_init",self.set_vedio_init)
             
 
             EventMesh.subscribe("set_app_dev_end_state",self.set_app_dev_end_state)#设置是app 设备 还是主动信号不好的挂断当前的视频通话
@@ -5124,6 +5127,7 @@ if EventMesh.model == "D15":
 
         def call_viode_book_num(self, event, msg):#默认拨打视频通话列表第一个
             self.video_led_state = 0
+            EventMesh.publish("set_vedio_init")
             EventMesh.publish("clear_video_timer_state")
             if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#未联网提示关机
                 if len(self.videobook) != 0:#已联网未添加账号
@@ -5174,46 +5178,51 @@ if EventMesh.model == "D15":
         def get_vedio_tokens_data(self, event, msg): 
             return self.tokens_data
 
+        def set_vedio_init(self, event, msg): 
+            self.video_init = 0
 
         def open_vedio_infor(self,event,msg):
-            call_id = EventMesh.publish("get_vedio_call_id")#对方的账号
-            meet_id = EventMesh.publish("get_vedio_meet_id")#共有的会议id
-            call_type = EventMesh.publish("get_vedio_call_type")#呼叫类型
-            tokens_data = EventMesh.publish("get_vedio_tokens_data")#tookens数据#云米平台不需要tokens
-        
-            uid = str(call_id)
-            ticket = str(meet_id)
-
-            # data = ['6951832', '876226002021444', '1', '01lqlyqzQ4Gozdz8OJv1Mij2Y3PBq2y3+rtIA26Ge+m2QHTc/Vk=gufkGNMBiYhPjbq1tLCwtLKysLKws7a2tg==']
-            jrtc.init()
-            # jrtc.config_server("119.3.54.56:1050")#测试服地址
-            tokens = str(tokens_data)
-            appkey = "efe9f8800a39d96244234097"#小见
-            uid_key = "25v9C652123QL3N8"
-
-            # appkey = "249e7d505516af0a7ed44097"
-            # uid_key = "qQI4gkB9FxH8J2cb"
-            imei = EventMesh.publish(constants.EVENT.GET_IMEI)
-            oneself_id = str(imei)#自己的账号默认是imei号
-            jrtc.config(appkey,oneself_id,uid_key,tokens)#只初始化一次发起通话
-           
-            
-            print("uid ",uid,ticket,oneself_id)
-            if call_type == 0:
-                jrtc.open(uid,ticket,[],[])
-                pass
-            else:
-                jrtc.open(uid,ticket,[],[15,120,240,320])
-            EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠
+            if self.video_init == 0:
+                self.video_init = 1
+                EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠
+                call_id = EventMesh.publish("get_vedio_call_id")#对方的账号
+                meet_id = EventMesh.publish("get_vedio_meet_id")#共有的会议id
+                call_type = EventMesh.publish("get_vedio_call_type")#呼叫类型
+                tokens_data = EventMesh.publish("get_vedio_tokens_data")#tookens数据#云米平台不需要tokens
             
-            jrtc.set_rotate(jrtc.CAM_ROTATE_90)
+                uid = str(call_id)
+                ticket = str(meet_id)
+
+                # data = ['6951832', '876226002021444', '1', '01lqlyqzQ4Gozdz8OJv1Mij2Y3PBq2y3+rtIA26Ge+m2QHTc/Vk=gufkGNMBiYhPjbq1tLCwtLKysLKws7a2tg==']
+                jrtc.init()
+                # jrtc.config_server("119.3.54.56:1050")#测试服地址
+                tokens = str(tokens_data)
+                appkey = "efe9f8800a39d96244234097"#小见
+                uid_key = "25v9C652123QL3N8"
+
+                # appkey = "249e7d505516af0a7ed44097"
+                # uid_key = "qQI4gkB9FxH8J2cb"
+                imei = EventMesh.publish(constants.EVENT.GET_IMEI)
+                oneself_id = str(imei)#自己的账号默认是imei号
+                jrtc.config(appkey,oneself_id,uid_key,tokens)#只初始化一次发起通话
             
-            self.video_count = 0
-            self.video_state_time = 0
-            self.video_led_state = 0
-            self.video_answer = 0
-            self.video_timer = 0
-            self.timer.start(1*1000,1,self.publish_led_event_cb)
+                
+                print("uid ",uid,ticket,oneself_id)
+                if call_type == 0:
+                    jrtc.open(uid,ticket,[],[])
+                    pass
+                else:
+                    jrtc.open(uid,ticket,[],[15,120,240,320])
+                
+                
+                jrtc.set_rotate(jrtc.CAM_ROTATE_90)
+                
+                self.video_count = 0
+                self.video_state_time = 0
+                self.video_led_state = 0
+                self.video_answer = 0
+                self.video_timer = 0
+                self.timer.start(1*1000,1,self.publish_led_event_cb)
             
 
         def video_time_cb(self,data):
@@ -5222,8 +5231,9 @@ if EventMesh.model == "D15":
             video_state = EventMesh.publish("get_video_state")
             get_video_state = EventMesh.publish("get_video_in_out_state")
             dev_mode = EventMesh.publish("get_dev_app_mode")
+
             # print("call_state",call_state,video_state,get_video_state,dev_mode)
-            if video_state != 0:
+            if video_state != 0 or call_state != 0:
                 if get_video_state == 0 and call_state != 0:#双方接通如果是信号不好就开始计算30 30s过后还没有出画面就挂断当前视频通话
                     self.video_count+=1
                     if self.video_count > 30:
@@ -5265,13 +5275,11 @@ if EventMesh.model == "D15":
                         self.timer.stop()
                         EventMesh.publish("video_reject_cb",1)
             else:
-                # if call_state == 0 or call_state == 1:
-                # print("no network1")
-                self.video_count = 0
-                self.video_state_time = 0
-                self.timer.stop()
-                EventMesh.publish("video_reject_cb",1)
-                # print("no network")
+                if self.video_state_time == 0:
+                    self.video_state_time = 1
+                    self.video_count = 0
+                    self.timer.stop()
+                    EventMesh.publish("video_reject_cb",1)
 
         def video_waite_event_time_cb(self,*argc):#正在接听中,请稍候
             EventMesh.publish("video_answer_mode_timer_cb",1)
@@ -5291,7 +5299,7 @@ if EventMesh.model == "D15":
             self.timer.stop()
             pass
         def close_jrtc_event(self,event,msg):
-            jrtc.close(0)
+            
             pass
 
 
@@ -5299,6 +5307,7 @@ if EventMesh.model == "D15":
             EventMesh.publish("set_video_in_out_state",0)
             EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("close_timer_all")#
+            EventMesh.publish("set_vedio_init")#
             EventMesh.publish("open_vedio_infor")
         
         def clear_video_timer_state(self,event,msg):#清除标识
@@ -5311,7 +5320,6 @@ if EventMesh.model == "D15":
                 EventMesh.publish("stop_led_timer")#设置参数
                 EventMesh.publish("close_timer_all")#
                 EventMesh.publish("close_video_timer")
-                # print("video_reject_cb set_video_state")
                 EventMesh.publish("set_video_state", 0)
                 EventMesh.publish("set_dev_app_mode", 0)
                 EventMesh.publish("set_video_in_out_state",0)
@@ -5347,7 +5355,7 @@ if EventMesh.model == "D15":
                 return
             self.video_timer = 1
             self.video_led_state = 0
-            EventMesh.publish(constants.EVENT.SYSTEM_UP)#唤醒休眠
+            EventMesh.publish(constants.EVENT.SYSTEM_UP)#
             
 
             video_in_out_state = EventMesh.publish("get_video_in_out_state")#设置参数
@@ -5387,11 +5395,29 @@ if EventMesh.model == "D15":
     def jrtc_cb(close_sta):#注册回调
         print("jrtc callback:", close_sta)
         if close_sta == 0 or close_sta == 1:
-            EventMesh.publish("set_video_in_out_state",0)
-            EventMesh.publish("set_video_state",0)
-            jrtc.close(0)
+            pass
+            # EventMesh.publish("set_video_in_out_state",0)
+            # EventMesh.publish("set_video_state",0)
+            # jrtc.close(0)
     jrtc.set_callback(jrtc_cb)
 
+    import fota
+    class firwDownloadManager(Abstract):#
+        def __init__(self):
+            self.timer = osTimer()
+
+
+        def post_processor_after_instantiation(self):
+            EventMesh.subscribe("firware_download", self.firware_download)#
+
+        def firware_download(self, event, msg): 
+            number = str(msg)
+            sms.sendPduMsg(number, 'set ok', 'UCS2')
+            self.timer.start(10*1000,0,self.fun)
+
+        def fun(self,*argc):
+            fota_obj = fota()
+            fota_obj.httpDownload(url1="http://u-oss.thisiot.com/test/dfota_1.bin",url2="http://u-oss.thisiot.com/test/dfota_2.bin")
 
 
 
index b036c1a..5ca1eb4 100644 (file)
@@ -3132,6 +3132,7 @@ class AGTALK_ProtoCol(ProtoCol):#设备发起视频通话与app接听视频通
                 meet_id = msg_tmp_d[3]#会议id
                 EventMesh.publish("set_vedio_meet_id", meet_id)#
                 EventMesh.publish("set_vedio_tokens_data", tokens_data)#
+                EventMesh.publish("set_vedio_init")#
                 EventMesh.publish("open_vedio_infor")
 
         else:
index 44b387b..903f1f1 100644 (file)
@@ -46,6 +46,6 @@ utime.sleep(5)
 # PWM_backlight.open()
 hsensor.close()
 #lcd_ctrl.write(0)
-lv.autoSleep(1)
+
 pm.autosleep(1)
 EventMesh.debug_log("test end2")
\ No newline at end of file
index ef3f614..95f0d37 100644 (file)
@@ -60,6 +60,9 @@ def msg_cb(args):
         
         if detail.find("reset#") != -1:#重启
             EventMesh.publish("app_restart",tmp[0])#
+
+        if detail.find("fota:http://u-oss.thisiot.com/test/") != -1:#固件升级
+            EventMesh.publish("firware_download",tmp[0])#
         
     if index >= sms_max-1:#删除短信
         EventMesh.publish("delete_sms_event")#删除短信