From: d15521469561 Date: Wed, 17 May 2023 03:10:57 +0000 (+0800) Subject: 增加低电体系协议对接 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=c7fbd94b43ddf0d371c718f1e49193bcc941a689;p=mirrors%2FASR1603_G5.git 增加低电体系协议对接 --- diff --git a/2.sdk/images/customer_fs.bin b/2.sdk/images/customer_fs.bin index 7750ac0d..17c59375 100644 Binary files a/2.sdk/images/customer_fs.bin and b/2.sdk/images/customer_fs.bin differ diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py index 44c4bf42..fd75b1a5 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py @@ -715,20 +715,20 @@ alipay_pay_bg.add_style(style_alipay_img_default, lv.PART.MAIN|lv.STATE.DEFAULT) #付款金额 -alipay_pay_label = lv.label(alipay_pay_success_screen) -alipay_pay_label.set_pos(0, 220) -alipay_pay_label.set_size(240, 45) -alipay_pay_label.set_long_mode(lv.label.LONG.WRAP) -alipay_pay_label.set_text(" ") -alipay_pay_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) -alipay_pay_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) +# alipay_pay_label = lv.label(alipay_pay_success_screen) +# alipay_pay_label.set_pos(0, 220) +# alipay_pay_label.set_size(240, 45) +# alipay_pay_label.set_long_mode(lv.label.LONG.WRAP) +# alipay_pay_label.set_text(" ") +# alipay_pay_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0) +# alipay_pay_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) #完成按钮 alipay_pay_text = lv.label(alipay_pay_success_screen) alipay_pay_text.set_text("支付完成") -alipay_pay_text.set_pos(8, 10) -alipay_pay_text.set_size(220,40) +alipay_pay_text.set_pos(0, 220) +alipay_pay_text.set_size(240,45) alipay_pay_text.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0) alipay_pay_text.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT) @@ -742,7 +742,7 @@ class Alipay_pay_success(Screen): def post_processor_after_initialization(self): print("money:",str(self.meta_info)) - alipay_pay_label.set_text(str(self.meta_info)) + # alipay_pay_label.set_text(str(self.meta_info)) def button_cb(self,e): EventMesh.publish("load_screen", {"screen": "main_menu"}) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py index 6fd352a3..07c4683a 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py @@ -71,6 +71,11 @@ class PROTOCOL: WDSTART_SEND ="wdstart_SEND" WDSTART_RECV ="wdstart_RECV" + + LOWBAT_SEND = "LOWBAT_SEND" + LOWBAT_RECV = "LOWBAT_RECV" + + class EVENT: CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND" START_LOCATION = "START_LOCATION" diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py index 82bb5e2e..43b4a163 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py @@ -132,12 +132,12 @@ if __name__ == '__main__': from protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,\ - ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol + ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol import mgr as mgr print("init7:{}".format(utime.localtime())) from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, getplayAudiodStateManager,\ - NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager + NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager,getLowBatManager print("init8:{}".format(utime.localtime())) @@ -182,8 +182,9 @@ if __name__ == '__main__': app.append_manager(getVolumSizeManager()) app.append_manager(getTempTimeManager()) app.append_manager(getplayAudiodStateManager()) + app.append_manager(getLowBatManager()) - print("init44444444444444444444444441:{}".format(utime.localtime())) + print("init21:{}".format(utime.localtime())) print("init11:{}".format(utime.localtime())) pcr = ProtoColResolver() @@ -211,6 +212,8 @@ if __name__ == '__main__': pcr.add_support(CENTER_ProtoCol()) pcr.add_support(bootoff_ProtoCol()) pcr.add_support(WDSTART_ProtoCol()) + pcr.add_support(LOWBAT_ProtoCol()) + sm = SockManager() sm.add_support_resolver(pcr) app.append_manager(sm) diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py index b733c166..11b8a53e 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/mgr.py @@ -432,7 +432,6 @@ class ConfigStoreManager(Abstract): with self.lock: self.map.update(msg) ql_fs.touch(self.file_name, self.map) - def voice_callback(args): print('voicecall iinfo:{}'.format(args)) if args[0] == 10: @@ -742,14 +741,20 @@ class DeviceInfoManager(Abstract): self.clear_step = 0 #电量小于20% 5分钟提醒一次 + get_low_btn = EventMesh.publish("get_low_bat_btn")# battery = EventMesh.publish("screen_get_battery") - self.bat_time+=10 - # print("date_tmp:{} self.bat_time:{}".format(date_tmp,self.bat_time)) - - if self.bat_time > 5*60: - self.bat_time = 0 - if battery[1] == 20: - EventMesh.publish("load_screen", {"screen": "LOW_POWER"}) + # print("get_low_btn:{} self.bat_time:{}".format(get_low_btn,self.bat_time)) + if get_low_btn != None:#低电使能开关 + if get_low_btn == 1: + self.bat_time+=10 + # print("date_tmp:{} self.bat_time:{}".format(date_tmp,self.bat_time)) + + if self.bat_time > 5*60: + self.bat_time = 0 + if battery[1] == 20: + EventMesh.publish("load_screen", {"screen": "LOW_POWER"}) + else: + self.bat_time = 0 #消息已满 msg_nums = sms.getMsgNums() #获取短信条数 @@ -2305,6 +2310,33 @@ class getSosFlagManager(Abstract):#设置sos def get_dial_sos_number(self, event, msg): return self.sos_numer1 +class getLowBatManager(Abstract):#低电提醒 + def __init__(self): + self.read_data = {} + self.low_btn = 0 + 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) + if self.read_data != {}: + b1 = str("low_on") in self.read_data.keys() + if b1 == True: + self.low_btn = self.read_data["low_on"] + + def post_processor_after_instantiation(self): + EventMesh.subscribe("set_low_bat_btn", self.set_low_bat_btn)# + EventMesh.subscribe("get_low_bat_btn", self.get_low_bat_btn) + + def set_low_bat_btn(self, event, msg): + self.low_btn = msg + + def get_low_bat_btn(self, event, msg): + return self.low_btn + + + + # date_tmp......01....(2023, 5, 12, 10, 4, 22, 4, 132) time_tmp:1683857062 # 1683857062 + 360 + 244*60 diff --git a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py index 074fd0d9..241a15fc 100644 --- a/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py +++ b/2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/protocol.py @@ -1029,6 +1029,42 @@ class sosHome_dial_ProtoCol(ProtoCol): EventMesh.publish(constants.PROTOCOL.SOS_SEND) +# 低电提醒 +#[XT*334588000000156*0008*LOWBAT,1] +class LOWBAT_ProtoCol(ProtoCol): + """低电提醒""" + TYPE = "LOWBAT" + def send(self, event, msg): + # [XT*334588000000156*0006*LOWBAT] + send_data = "SZKW*%s*0006*LOWBAT"%(self.imei) + MD5_SIGN = self.pack_MD5_head(send_data) + data = "[%s%s]"%(str(MD5_SIGN),send_data) + print("LOWBAT:data:%s"%(data)) + # 通过socket发送到服务器端 + EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data) + + def recv(self, event, msg): + """ + @param event: + @param msg: 接收到的下行数据 + """ + # b'[SZKW*867387060319166*000A*LOWBAT]' + read_data = {} + read_data = EventMesh.publish("get_storage_data") + msg = msg[1:-1] + msg_tmp = msg.decode('ascii') + msg_tmp = msg_tmp.split(',') + on_bt = msg_tmp[1] + print("LOWBAT:send data:{}".format(on_bt)) + #b'[SZKW*860132060006970*0015*LOWBAT,1,06:00,23:59]' + + read_data["low_on"] = on_bt + EventMesh.publish("set_storage_data",read_data) + EventMesh.publish("set_low_bat_btn",on_bt) + with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd: + ujson.dump(read_data,fd) + EventMesh.publish(constants.PROTOCOL.LOWBAT_SEND) + class ProtoColResolver(object): def __init__(self): self.protocol_list = [] diff --git a/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip b/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip index 35441ace..b75a3b24 100644 Binary files a/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip and b/2.sdk/project/K5/sdk/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip differ diff --git a/2.sdk/project/K5/usr/main.py b/2.sdk/project/K5/usr/main.py index 7affdf6f..43b4a163 100644 --- a/2.sdk/project/K5/usr/main.py +++ b/2.sdk/project/K5/usr/main.py @@ -132,12 +132,12 @@ if __name__ == '__main__': from protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,\ - ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,sosHome_dial_ProtoCol + ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol import mgr as mgr print("init7:{}".format(utime.localtime())) from mgr import ConfigStoreManager, LocationManager, SockManager,getVolumSizeManager,gethistoryDataManager,getUpLoadDataManager, getplayAudiodStateManager,\ - NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager,getSosFlagManager + NetManager,AddrBookManager,MsgdetailManager,PhoneCallingManager,getStorageDataManager,getBrightnessManager,getHrTimeManager,getTempTimeManager,getLowBatManager print("init8:{}".format(utime.localtime())) @@ -181,10 +181,10 @@ if __name__ == '__main__': app.append_manager(getUpLoadDataManager()) app.append_manager(getVolumSizeManager()) app.append_manager(getTempTimeManager()) - app.append_manager(getSosFlagManager()) app.append_manager(getplayAudiodStateManager()) + app.append_manager(getLowBatManager()) - print("init44444444444444444444444441:{}".format(utime.localtime())) + print("init21:{}".format(utime.localtime())) print("init11:{}".format(utime.localtime())) pcr = ProtoColResolver() @@ -212,7 +212,8 @@ if __name__ == '__main__': pcr.add_support(CENTER_ProtoCol()) pcr.add_support(bootoff_ProtoCol()) pcr.add_support(WDSTART_ProtoCol()) - pcr.add_support(sosHome_dial_ProtoCol()) + pcr.add_support(LOWBAT_ProtoCol()) + sm = SockManager() sm.add_support_resolver(pcr) app.append_manager(sm)