ack_flag = 1
elif jsload_data["event"] == "bt_scan_rest":#扫描列表
EventMesh.publish("send_bt_scan_list",jsload_data)
+ ack_flag=1
elif jsload_data["event"]=="bt_connect_single":
EventMesh.publish("save_bt_connect_list",jsload_data)
+ ack_flag=1
elif jsload_data["event"]=="need_send_bt_connect_list":
self.get_bt_connect_timer.stop()
self.get_bt_connect_flag = 0
EventMesh.publish("save_bt_connect_list",jsload_data)
EventMesh.publish("send_bt_connect_list")
+ ack_flag=1
+
+ elif jsload_data["event"]=="get_ble_switch":
+ EventMesh.publish("send_ble_adv_switch")
+ ack_flag=1
+ pass
+ elif jsload_data["event"]=="get_cat1_imei":
+ EventMesh.publish("send_imei_to_ble")
+ ack_flag=1
+ pass
elif jsload_data["event"] == "ack" :#电源按键按下
self.read_ack_flag = 1
# // "switch_bt_state":"0"
# // }
# // } #格式
+ ble_state = EventMesh.publish("get_storage_config","switch_bt_state")
+ if ble_state == None:
+ ble_state = 0
+ self.read_ack_flag=0
json_data = \
{
"event": "switch_bt_state",
"data":{
- "switch_bt_state":msg
+ "switch_bt_state":str(ble_state)
}
}
json_str =ujson.dumps(json_data)
print("send_ble_adv_switch{}".format(json_str))
self.send_data(json_str)
+
+
+ def send_reset_cb(self):
+ send_count = 5#最大重发5次,没ack或者返回error重发
+ while 1:
+ send_count-=1
+ self.read_ack_flag = 0
+ EventMesh.publish("send_ble_adv_switch")
+ #utime.sleep_ms(100)
+ count =100
+ while True:
+ count -=1
+ if count <=0 or self.read_ack_flag != 0 :
+ break
+ utime.sleep_ms(10)
+ # print("ota_data:{} count:{}".format(len(json_str),count))
+ if send_count <=0 or self.read_ack_flag == 1:
+ break
+
pass
def send_get_connect_bt_state(self,event,msg):
json_data = \
self.PIN_MOT=Pin(Pin.GPIO36, Pin.OUT, Pin.PULL_DISABLE, 0)
self.extint_wakeup_cta1_timer = osTimer()
- # self.extint_wakeup_cta1.enable()
+ self.extint_wakeup_cta1.enable()
self.extint_AI.enable()
self.pwk_key_status = 0
self.pwk_key_timer_count = 0
print("sys_sleep_cb!!!!!!!!!!!!!!!")
print("sys_sleep_cb!!!!!!!!!!!!!!!")
self.PIN_wakeup_bt.write(0)
- def sys_up_cb(self,event=None,msg=None):#休眠前回调
+ def sys_up_cb(self,event=None,msg=None):#唤醒前回调
print("sys_up_cb!!!!!!!!!!!!!!!")
print("sys_up_cb!!!!!!!!!!!!!!!")
print("sys_up_cb!!!!!!!!!!!!!!!")
self.wakeup_BT()
+ self.PIN_wakeup_bt.write(1)
def wakeup_BT(self,event=None,msg=None):#4G唤醒蓝牙
if Vbatt<=self.VBATT_tab["10"]:
return 10
def audio_montage_play(self,event,msg):
+ self.wakeup_BT()
+
self.aud.stopPlayStream()
self.aud.stopAll()
str_data='mp3files='
self.aud.montage_play('U:/static/audio.bin',1,1,str_data)
def paly_iccid_imei(self,event,msg):
+ self.wakeup_BT()
str_data = 'mp3files={}.mp3+'.format(audio_buf.index("liuliangtishi"))#流量提示
imei = modem.getDevImei()
iccid = sim.getIccid()
self.aud.montage_play('U:/static/audio.bin',1,1,str_data)
#鉴权出错,播放imei号
def paly_device_res_error(self,event,msg):
+ self.wakeup_BT()
str_data = 'mp3files={}.mp3+'.format(audio_buf.index("jianquancuowu"))#AI功能异常,请联系客户查询,设备号为:
imei = modem.getDevImei()
imei = imei.upper()
EventMesh.publish("set_play_new_voice_state",1)
EventMesh.publish("update_play_new_voice_info")
EventMesh.publish("play_new_voice_list")
-
- pass
pass
elif jsload_data["event"] == "audio.convert.failed": #音频转换失败了
- if EventMesh.publish("get_play_new_voice_state")== 1:
- EventMesh.publish("set_play_new_voice_state",1)
- EventMesh.publish("update_play_new_voice_info")
- EventMesh.publish("play_new_voice_list")
+ pass
else:#下发音频数据
GET_CHAT_CONFIG_R="get_chat_config_R"
GET_CHAT_CONFIG_S="get_chat_config_S"
+ CHAT_CONFIG_R = "chat_config_R"
+ CHAT_CONFIG_S = "chat_config_S"
+
class IOTSendCmdManager(Abstract):
#
def __init__(self):
def get_play_new_voice_state(self,event,msg):
return self.play_new_voice_state
+ def _1S_timer_cb(self,*argc):
+ EventMesh.publish("publish_AI_btnInfo",{"func":self._1S_timer_cb_})
+
+ def _1S_timer_cb_(self):
+ #self.iot_web_send_queue.put("ping")
+ get_VC_satrt_flag = EventMesh.publish("get_VC_satrt_flag")
+ if get_VC_satrt_flag == None:
+ get_VC_satrt_flag = 0
+ if get_VC_satrt_flag == 0:
+ self.play_new_voice_list_timer_cb()
+ self._1S_timer.stop()
def play_new_voice_list(self,event,msg):
+ if len(self.new_voice_list) != 0:
+ self._1S_timer.start(1000, 1, self._1S_timer_cb)
+
+ def play_new_voice_list_timer_cb(self):
print("play_new_voice_list:{}".format(len(self.new_voice_list)))
if len(self.new_voice_list) != 0:
time_tmp = utime.mktime(date_tmp)
try:
print("type:{}".format(msg))
- json_load = ujson.dumps(msg)
data = msg["data"]
bt_scan_rest ={
"cmd":"bt_scan_rest",
# http://220.160.104.34:30800/ws-bus/test/voice-record/876226211472149?state=1,
- # http://220.160.104.34:30800/ws-bus/test/876226211472149?testType=alarmList
+ # http://220.160.104.34:30800/ws-bus/test/860132066107046?testType=alarmList
def hr_report_publish_event(self,data):
HR_DATA = EventMesh.publish("GET_IOT_WEB_SEND_CMD",WEB_CMD_ENUM.HR_S_CMD)
def close_websocket_timer(self,event,msg):
self._1S_timer.stop()
- def _1S_timer_cb(self,*argc):
- EventMesh.publish("publish_AI_btnInfo",{"func":self._1S_timer_cb_})
-
- def _1S_timer_cb_(self):
- self.iot_web_send_queue.put("ping")
+
def socket_send_queue_thread(self):
while True:
speed = data["speed"]
vadDuration = data["vadDuration"]
voiceId = data["voiceId"]
- EventMesh.publish("SET_SPEECH_RATE",speed)
+ if vadDuration != None:
+ EventMesh.publish("SET_SPEECH_RATE",speed)
+ if voiceId != None:
+ EventMesh.publish("set_vad_silence",voiceId)
EventMesh.publish(WEB_CMD_ENUM.CHAT_CONFIG_S)
#获取AI对话音色配置
class IOTWeb_get_chat_configProtoCol(ProtoCol):
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
s_msg = ""
- if msg == "0":
+ if msg == "1":
s_msg = "开始扫描附近设备"
- elif msg == "1":
+ elif msg == "0":
s_msg = "停止扫描附近设备"
bt_scan = {
"cmd":"dispatch_rest",
elif data == "0":
s_ret = "0"
EventMesh.publish("send_ble_scan","0")
+
pass
print("recv bt_scan{}".format(msg))