self.wechat_num = 0
self.read_data = {}
self.volum_size = 8
+ self.msg_tmp = ""
check_txt = ql_fs.path_exists("/ext/static/storage_file/wechat_num.txt")
if check_txt == True :
with open("/ext/static/storage_file/wechat_num.txt","r") as fd:#音频文件编号
#写编号
with open("/ext/static/storage_file/wechat_num.txt","w") as fd:
fd.write("{}".format(self.wechat_num))
- #print("self.MXA_MSG:{} self.wechat_num:{} self.wechat_recode_list:{}".format(self.MXA_MSG,self.wechat_num,self.wechat_recode_list))
+
def wechat_updata_list_show(self, event, msg):
if (self.wechat_list.has_flag(lv.obj.FLAG.HIDDEN)) == False:
elif index == 2 or index == 1:
#读取json文件中的键作为label文本;
#print("self.wechat_list.self.wechat_num:{}".format(self.wechat_num))
- self.startWidth = 0
- self.startY = 0
- i = 0
+
print("self.wechat_recode_list:{}".format(self.wechat_recode_list))
self.wechat_list.delete()#先删除一次控件
self.wechat_list = lv.obj(wechat_screen)
if index == 2:
self.wechat_list.add_flag(lv.obj.FLAG.HIDDEN)
j = 1
- count = 0
if len(self.wechat_recode_list) == self.MXA_MSG:
j = self.wechat_num+1
+
for i in range(self.MXA_MSG):
if j > self.MXA_MSG:
j = 1
key = "%02d"%(j)
- # if j > len(self.wechat_recode_list) :
- # break
+ if j > len(self.wechat_recode_list) :
+ break
j+=1
-
- # print("self.wechat_recode_list.keys():{}".format(self.wechat_recode_list.keys()))
- # if self.wechat_recode_list.keys().find("%02d"%(j)) == -1:
- # continue
- # num = "%02d"
- if key in self.wechat_recode_list:
-
- print('键存在于字典中')
- else:
- if count > 0:
- count-=1
- print('键不存在于字典中')
- continue
-
-
value = self.wechat_recode_list[key]
- # print("value:{}".format(value))
- self.startY = 52*count
+
+
+ self.startY = 56*i
+
if value.find("S:") != -1 or value.find("R:") != -1:
- msg_tmp = value[2:]
- msg_tmp = int(msg_tmp)
- self.startWidth = 55+msg_tmp*10
+ self.msg_tmp = value[2:]
+ self.msg_tmp = int(self.msg_tmp)
+ self.startWidth = 55+self.msg_tmp*10
elif value.find("T:") != -1:#文字显示
- msg_tmp = value[2:]
- size = len(msg_tmp)
- self.startWidth = size*20
- # print("self.startWidth :{} size:{}".format(self.startWidth,size))
- if self.startWidth > 230:
- self.startWidth = 230
+ self.msg_tmp = value[2:]
+ self.startWidth = 230
wechat_btn = lv.btn(self.wechat_list)
# if value.find("R:") != -1:
- wechat_btn.set_size(self.startWidth,50)
+ wechat_btn.set_size(self.startWidth,54)
if value.find("R:") != -1 or value.find("T:") != -1 :#显示文字:
wechat_btn.set_pos(10,self.startY )
wechat_btn.add_style(style_wechat_s_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
if value.find("R:") != -1 or value.find("S:") != -1:
wechat_btn.add_event_cb(lambda e: self.play_label(e),
lv.EVENT.CLICKED, None)
-
+
_btn_label1 = lv.label(wechat_btn)
if value.find("R:") != -1:
_btn_label1.set_size(40, 40)
_btn_label1.set_pos(35, 8)
- _btn_label1.set_text(str(msg_tmp)+'\"')
+ _btn_label1.set_text(str(self.msg_tmp)+'\"')
elif value.find("S:") != -1:
_btn_label1.set_size(40, 40)
- _btn_label1.set_pos(self.startWidth-72, 8)
- _btn_label1.set_text(str(msg_tmp)+'\"')
+ _btn_label1.set_pos(self.startWidth-78, 8)
+ _btn_label1.set_text(str(self.msg_tmp)+'\"')
elif value.find("T:") != -1:
- _btn_label1.set_size(230, 40)
- _btn_label1.set_pos(0, 5)
- _btn_label1.set_text(str(msg_tmp))
+
+ _btn_label1.set_size(216, 66)
+ _btn_label1.set_pos(0, 0)
+ _btn_label1.set_text(str(self.msg_tmp))
_btn_label1.set_long_mode(lv.label.LONG.DOT)
_btn_label1.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
_btn_img.set_pos(self.startWidth-50, 0)
_btn_img.set_src("E:/static/APP/wechat/S_3.png")
_btn_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- count+=1
bottom_btn1 = self.wechat_list.get_child(-1)
bottom_btn1.scroll_to_view(lv.ANIM.OFF)
if self.wechat_num >= self.MXA_MSG:
self.wechat_num = 0
self.wechat_num += 1
- print("talking self.wechat_num ...:{}".format(self.wechat_num))
+ print("talking self.wechat_num ...:{} self.MXA_MSG:{}".format(self.wechat_num,self.MXA_MSG))
self.record_test.start("/ext/static/storage_file/{}.amr".format(self.wechat_num),16)
self.second_timer.start(1000, 1, self.reduce_second)
self.press_state = 1
#读音频amr二进制数据
#修改或添加词典键值
-
+ self.press_state = 0
+ self.ble_send = 0
+
with open("/ext/static/storage_file/wechat_record.json","w",encoding="utf-8") as fd:
ujson.dump(self.wechat_recode_list,fd)
-
+ print("senddata self.wechat_num ...:{}".format(self.wechat_num))
path = "/ext/static/storage_file/{}.amr".format(self.wechat_num)
with open(path,"rb") as fd:
buf = bytearray(ql_fs.path_getsize(path))
senddata = [self.countdown_old,buf]
EventMesh.publish(constants.PROTOCOL.TK_SEND,senddata)
#隐藏显示文本 显示列表显示框
- self.press_state = 0
- self.ble_send = 0
+
self.timer.start(2 * 1000, 0, self.hide_label)
+
self.updata_list_show(2)
wechat_num = get_wechat_data[1]
MXA_MSG = get_wechat_data[0]
wechat_recode_list = get_wechat_data[2]
- if wechat_num > 0:
- wechat_num += 1
+ # print("TK_ProtoCol:datalen:{} {} {}".format(wechat_num,MXA_MSG,wechat_recode_list))
+
if wechat_num >= MXA_MSG:
wechat_num = 0
if wechat_num == 0:
wechat_num += 1
+ elif wechat_num > 0:
+ wechat_num += 1
#写记录列表
wechat_recode_list["%02d"%(wechat_num)] = "R:{}".format(3)
wechat_num = get_wechat_data[1]
MXA_MSG = get_wechat_data[0]
wechat_recode_list = get_wechat_data[2]
- if wechat_num > 0:
- wechat_num += 1
+ # print("TK_ProtoCol:datalen:{} {} {}".format(wechat_num,MXA_MSG,wechat_recode_list))
+
if wechat_num >= MXA_MSG:
wechat_num = 0
if wechat_num == 0:
wechat_num += 1
+ elif wechat_num > 0:
+ wechat_num += 1
msg_txt = {}
# 0 1 2 3
# print("msg_tmp:init {}".format(msg_s))
# EventMesh.publish("save_phonename", sos_dial)
# voiceCall.callStart(sos_dial)
EventMesh.publish(constants.PROTOCOL.SOS_SEND)
-
+#定时开关机
+class bootoff_ProtoCol(ProtoCol):
+ """定时开关机"""
+ TYPE = "BOOTOFF"
+ def send(self, event, msg):
+ # [XT*334588000000156*0004*MONITOR]
+ send_data = "SZKW*%s*0007*BOOTOFF"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("BOOTOFF: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*SOS_SEND]'
+ 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]
+ on_hour = msg_tmp[2]
+ on_min = msg_tmp[3]
+ print("BOOTOFF:send data:%d %d %d"%(on_bt,on_hour,on_min))
+ #b'[SZKW*860132060006970*0015*BOOTOFF,1,06:00,23:59]'
+
+ read_data["off_on"] = on_bt
+ read_data["off_hour"] = on_hour
+ read_data["off_min"] = on_min
+ EventMesh.publish("set_storage_data",read_data)
+ with open("/ext/static/storage_file/config.json","w",encoding="utf-8") as fd:
+ ujson.dump(read_data,fd)
+ EventMesh.publish(constants.PROTOCOL.BOOTOFF_SEND)
+
+
class ProtoColResolver(object):
def __init__(self):
self.protocol_list = []
def btn8_press(self):
pass
+from common import Abstract
+class TimePoweroffScreen(Abstract):
+
+
+ def __init__(self):
+ super().__init__()
+ self.power_off_flag = 0
+ self.read_data = {}
+ EventMesh.subscribe("get_time_power_off", self.get_time_power_off)
+ EventMesh.subscribe("power_off_callback", self.power_off_callback)
+ EventMesh.subscribe("set_time_power_off", self.set_time_power_off)
+
+
+ def power_off_callback(self,event,msg):
+ if self.power_off_flag == 0:
+ self.power_off_flag = 1
+ EventMesh.publish("set_time_power_off")
+ Power.powerDown()
+
+ elif self.power_off_flag == 1:
+ self.power_off_flag = 0
+ EventMesh.publish("set_time_power_off")
+ Power.powerRestart()
+
+
+ def get_time_power_off(self,event,msg):
+ if self.power_off_flag == 0:
+ self.power_off_flag = 1
+ elif self.power_off_flag == 1:
+ self.power_off_flag = 0
+
+ def set_time_power_off(self,event,msg):
+ self.read_data = EventMesh.publish("get_storage_data")
+ if self.read_data != {}:
+ b = str("off_on") in self.read_data().keys()
+ if b == True:
+ pass
+
+
+
+ def done_return(self):
+ pass
+
+ def btn1_release(self):
+ pass
+
+ def btn8_press(self):
+ pass
class LanguageScreen(Screen):
NAME = "language"