LOWBAT_SEND = "LOWBAT_SEND"
LOWBAT_RECV = "LOWBAT_RECV"
+ TIME_SEND = "Time_SEND"
+ TIME_RECV = "Time_RECV"
+
class EVENT:
CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND"
from usr.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,\
+ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,Time_ProtoCol,\
ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol,sosHome_dial_ProtoCol,SockManager,NetManager
import mgr as mgr
print("init7:{}".format(utime.localtime()))
pcr.add_support(WDSTART_ProtoCol())
pcr.add_support(LOWBAT_ProtoCol())
pcr.add_support(sosHome_dial_ProtoCol())
+ pcr.add_support(Time_ProtoCol())
sm = SockManager()
sm.add_support_resolver(pcr)
if hangup_mode == 1:
EventMesh.publish("set_sos_flag",0)
EventMesh.publish("set_sos_num",0)
+ EventMesh.publish("set_hangup_mode",0)
+
sos_flag = EventMesh.publish("get_sos_flag")
if sos_flag == 0 :
import net
import usocket
import osTimer
+
+import machine
+
import _thread
from queue import Queue
def unicode_to_utf8(src):
utime.sleep(1)
def send(self, topic, msg):
- #print("TCP:send data:{}".format(msg))
+ # print("TCP:send data:{}".format(msg))
if EventMesh.publish("network_state") == 0: #没注网,则不发送
EventMesh.publish(constants.EVENT.SET_CONNECT, 0)#标记断网
print("dataCall not connect")
print("LK_ProtoCol:recv:%s"%(msg))
EventMesh.publish(constants.PROTOCOL.PING_SEND)
EventMesh.publish(constants.PROTOCOL.KA_SEND)
+ EventMesh.publish(constants.PROTOCOL.TIME_SEND)
EventMesh.publish(constants.EVENT.START_LOCATION) #开始定位
+
class PING_ProtoCol(ProtoCol):
"""获取绑定状态"""
ujson.dump(read_data,fd)
EventMesh.publish(constants.PROTOCOL.LOWBAT_SEND)
+# 低电提醒
+#[XT*334588000000156*0008*LOWBAT,1]
+class Time_ProtoCol(ProtoCol):
+ """设置系统时间"""
+ TYPE = "Time"
+ def send(self, event, msg):
+ # [XT*334588000000156*0006*LOWBAT]
+ send_data = self.PID+"*%s*0004*Time"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("Time:data:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # rtc = RTC()
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_data = msg_tmp.split(',')
+
+ timeSecond = int(msg_data[1])
+ #print("type {} timeSecond {}".format((msg_data[1]),timeSecond))
+ next_alarm_time = utime.localtime(timeSecond)
+ #print("next_alarm_time",next_alarm_time)
+ #print("local time",msg)
+ # machine.RTC().datetime((tm[0], tm[1], tm[2], tm[6], tm[3], tm[4], tm[5], 0))
+
+ machine.RTC().datetime((next_alarm_time[0],next_alarm_time[1],next_alarm_time[2],next_alarm_time[6],next_alarm_time[3],next_alarm_time[4],next_alarm_time[5],0))
+ #next_alarm_time = utime.localtime(old_Timesec)#年月日时分秒星期365中的第几天
+
+ #EventMesh.publish(constants.PROTOCOL.TIME_SEND)
+
+
+
+
+
class ProtoColResolver(object):
def __init__(self):
self.protocol_list = []
def handler(self, data):
# 这里接收数据
- # print("handler -> {}".format(data))
+ #print("handler -> {}".format(data))
# if data.startswith('Init;'):
# data = data[5:]
# EventMesh.publish(constants.EVENT.SET_KEY, {"value": ujson.loads(data)['KEY']})
# EventMesh.publish(constants.PROTOCOL.H04_RECV, data)
try:
if len(data) > 0:
- print("handler:{}".format(len(data)))
+ #print("handler:{}".format(len(data)))
data_tmp = data.decode('ascii')
data_tmp = data_tmp.split(']')[0] #去掉]
ProtoCol_type = data_tmp.split('*')[3] #拿到协议标识
self.phone_list = []
global phone_screen ,phone_line,phone_label,phone_one,phone_two,phone_three,phone_four,phone_five,phone_six,phone_seven,phone_eight,phone_nine,phone_start,\
phone_zero,phone_hash,phone_call,phone_call_btn,phone_contact,phone_contact_btn,phone_delete,phone_delete_btn
+
+
if phone_screen == None:
phone_screen = lv.obj()
print("phone_screen")
self.phone_num=''
self.phone_list = []
self.count = 0
- phone_label.set_text(" ")
+ if phone_label != None:
+ phone_label.set_pos(0, 14)
+ phone_label.set_size(0, 0)
+ phone_label.set_text(" ")
+ #phone_label.set_text(" ")
# print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num))
if self.timer_cb == 0:
self.timer_cb = 1
msg_list_t_done_img.add_flag(lv.obj.FLAG.HIDDEN)
no_msg_text.add_flag(lv.obj.FLAG.HIDDEN)
+ self.sms_detail_list.clear_flag(lv.obj.FLAG.HIDDEN)
# self.sms_detail_list.delete()#先删除一次控件
# self.sms_detail_list = lv.obj(msg_cont_list_screen)
# self.sms_detail_list.set_pos(0, 0)
update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
update_label = lv.label(update_screen)
-update_label.set_text(" 检查版本更新!/n 请稍后...")
+update_label.set_text(" 已经是最新版本")
update_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
update_label.set_size(240, 50)
update_label.set_pos(0,50)
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,\
+ TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,Time_ProtoCol,\
ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol,sosHome_dial_ProtoCol,SockManager,NetManager
import mgr as mgr
print("init7:{}".format(utime.localtime()))
pcr.add_support(WDSTART_ProtoCol())
pcr.add_support(LOWBAT_ProtoCol())
pcr.add_support(sosHome_dial_ProtoCol())
-
+ pcr.add_support(Time_ProtoCol())
+
sm = SockManager()
sm.add_support_resolver(pcr)
app.append_manager(sm)