增加低电体系协议对接
authord15521469561 <d155214695615@qq.com>
Wed, 17 May 2023 03:10:57 +0000 (11:10 +0800)
committerd15521469561 <d155214695615@qq.com>
Wed, 17 May 2023 03:10:57 +0000 (11:10 +0800)
2.sdk/images/customer_fs.bin
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/appAlipay.py
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/constants.py
2.sdk/project/K5/sdk/services/microPython/ports/quectel/core/main.py
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/system/platform/ASR_1606/boards/EG810MCN_GA_ALIPAY/images/firmware_base_release_pack.zip
2.sdk/project/K5/usr/main.py

index 7750ac0..17c5937 100644 (file)
Binary files a/2.sdk/images/customer_fs.bin and b/2.sdk/images/customer_fs.bin differ
index 44c4bf4..fd75b1a 100644 (file)
@@ -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"})
index 6fd352a..07c4683 100644 (file)
@@ -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" 
index 82bb5e2..43b4a16 100644 (file)
@@ -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)
index b733c16..11b8a53 100644 (file)
@@ -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
index 074fd0d..241a15f 100644 (file)
@@ -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 = []
index 35441ac..b75a3b2 100644 (file)
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
index 7affdf6..43b4a16 100644 (file)
@@ -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)