From: azao <821478748@qq.com> Date: Fri, 17 Oct 2025 01:43:37 +0000 (+0800) Subject: 为设备断网状态提供稳定的二维码显示部分 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=a71cf6f275b8176a23607dbf1062b77e6ee47d57;p=mirrors%2FASR1603_G5.git 为设备断网状态提供稳定的二维码显示部分 并且为连接,iot发送做信号判断 修改load函数,当界面一致时亮屏 --- diff --git a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ai_VC.py b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ai_VC.py index f12b601a..837e970f 100644 --- a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ai_VC.py +++ b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ai_VC.py @@ -922,6 +922,7 @@ class device_res_author(Abstract): signal = net.csqQueryPoll() if signal == -1 or self.get_sim_Status() != 1:#网络不正常 print("dev_active 无 SIM卡!!!!!!!!\r\n") + EventMesh.publish("load_screen", {"screen": "imei_show"}) return print("dev_active 1\r\n") # 签名内容: = deviceId+pid+timeStamp @@ -1029,6 +1030,7 @@ class device_res_author(Abstract): signal = net.csqQueryPoll() if signal == -1 or self.get_sim_Status() != 1:#网络不正常 print("dev_sign_in 无 SIM卡!!!!!!!!\r\n") + EventMesh.publish("load_screen", {"screen": "imei_show"}) return print("dev_sign_in 1") token = "" @@ -1179,6 +1181,7 @@ class OTA(): signal = net.csqQueryPoll() if signal == -1 or sim.getStatus() != 1:#网络不正常 print("min_sys_ota 无 SIM卡!!!!!!!!\r\n") + EventMesh.publish("load_screen", {"screen": "imei_show"}) return 0 # return 0 response = None @@ -2343,6 +2346,13 @@ class AI_VC(Abstract): # EventMesh.publish("return_prev_screen") def AI_key_press(self, event, msg):#按键按下 + signal = net.csqQueryPoll() + sim = EventMesh.publish("get_sim_Status") + print("按下后网络情况:signal = {},sim = {}".format(signal,sim)) + if signal == -1 or sim != 1:#网络不正常 + print("dev_active 无 SIM卡!!!!!!!!\r\n") + EventMesh.publish("load_screen", {"screen": "imei_show"}) + return screen_name = EventMesh.publish("get_screen_NAME") if screen_name == "system_init" or screen_name == "poweron" : return @@ -2746,6 +2756,7 @@ class AI_VC(Abstract): print("websocket_connect_VC:OK!!!!!!!!!!!!!!!!!!!!!") except Exception as e: #网络连接异常 + EventMesh.publish("load_screen", {"screen": "imei_show"}) usys.print_exception(e) print("websocket_connect_VC error!!!\r\n") str_error = str(e) @@ -2956,6 +2967,7 @@ class AI_VC(Abstract): EventMesh.publish("publish_AI_btnInfo",{"func":self.websocket_error,"data":"VC发送出错了,请重试"}) self.ud_error(["VC",self.VC_taskid]) except Exception as e: #网络连接异常 + EventMesh.publish("load_screen", {"screen": "imei_show"}) usys.print_exception(e) utime.sleep_ms(1) diff --git a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/main_init.py b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/main_init.py index 4955079b..61c588f5 100644 --- a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/main_init.py +++ b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/main_init.py @@ -143,7 +143,8 @@ def main_init(): ui.add_screen(_ui.chargeInScreen()) #充电已连接 ui.add_screen(_ui.chargefullScreen()) #充电已满 ui.add_screen(_ui.LowPowerScreen()) #电量低 - ui.add_screen(_ui.IMEIScreen()) #IMEI二维码显示 + ui.add_screen(_ui.IMEIScreen()) #IMEI二维码弹窗显示 + ui.add_screen(_ui.IMEISHOWScreen()) #IMEI二维码持续显示 except Exception as e: usys.print_exception(e) diff --git a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ui.py b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ui.py index 2d2c480b..c6d2cd14 100644 --- a/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ui.py +++ b/2.sdk/project/K8/sdk/services/microPython/ports/quectel/core/ui.py @@ -6598,6 +6598,7 @@ class IMEIScreen(Screen): self.meta_type = "popup" self.timer = osTimer() + def initialization(self): imei = EventMesh.publish(constants.EVENT.GET_IMEI) imei_qr_data = str(imei) @@ -6619,6 +6620,20 @@ class IMEIScreen(Screen): self.timer.stop() EventMesh.publish("load_screen", {"screen": "main_menu"}) +class IMEISHOWScreen(Screen):#一直展示imei界面(无网络时) + NAME = "imei_show" +#EventMesh.publish("load_screen", {"screen": "imei_show"}) + def __init__(self): + super().__init__() + self.meta = imei_screen + + + def initialization(self): + imei = EventMesh.publish(constants.EVENT.GET_IMEI) + imei_qr_data = str(imei) + imei_qr.update(imei_qr_data,len(imei_qr_data)) + imei_label.set_text(imei) + #正在充电 class chargeInScreen(Screen): @@ -7424,6 +7439,8 @@ class UI(object): if self.screen : if self.screen.NAME == msg["screen"]: print("self.screen.NAME == msg[\"screen\"]") + self.__lcd_on() + utime.sleep_ms(100) return for scr in self.screen_list: if scr.NAME == msg["screen"]: