From: dxy15521469561 <1731678236@qq.com> Date: Tue, 23 Jan 2024 09:31:10 +0000 (+0800) Subject: D10: X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=75e22789f7395596f75e1fa0d7fe52e563beef78;p=mirrors%2FASR1603_G5.git D10: 加短信固件升级 --- diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led_d15.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led_d15.py index 235aca4d..4680da96 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led_d15.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led_d15.py @@ -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) diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py index 8bda242c..75f566c8 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py @@ -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()) diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py index 79821082..6bbe69a3 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py @@ -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 diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py index df695119..1b9e0f0a 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr_d15.py @@ -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") diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/protocol.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/protocol.py index b036c1a5..5ca1eb41 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/protocol.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/protocol.py @@ -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: diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/sleep_test.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/sleep_test.py index 44b387b4..903f1f11 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/sleep_test.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/sleep_test.py @@ -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 diff --git a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/ui.py index ef3f6140..95f0d37d 100644 --- a/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/ui.py @@ -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")#删除短信