self.play_new_voice_flag =0 #播放文字留言flag
EventMesh.subscribe("play_tts",self.play_tts)
EventMesh.subscribe("play_new_voice",self.play_new_voice)
+ EventMesh.subscribe("set_vad_silence",self.set_vad_silence)
+
self.AI_alarm = _ai_alarm.AI_alarm()
self.error_data = []
self.asr_taskid = ""
else:
EventMesh.publish("publish_AI_btnInfo",{"func":self.websocket_error,"data":jsload_data["payload"]["message"]})
pass
+
+ elif jsload_data["event"] == "audio.convert.completed":#音频转成完成没有出错 接口
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
-
- elif jsload_data["event"] == "audio.convert.completed":#接口
+ 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
- pass
else:#下发音频数据
#self.AI_ASR_str = ""#下发音频后清掉asr结果
# if self.VC_state == VC_State_RequestToRespond:
# print("AI_client_VC_RequestToRespond 重复 tts_str:{}\nasr_str:{}".format(self.AI_TTS_str,self.AI_ASR_str))
self.AI_client_VC_send(ujson.dumps(json_data))
+ def set_vad_silence(self,event = None,msg= None):
+ self.vad_silence = msg
+ EventMesh.publish("set_storage_config",["vad_silence",self.vad_silence])
+ # EventMesh.publish("publish_AI_btnInfo",{"func":self.play_new_voice_cb,"data":msg})
def play_new_voice(self,event = None,msg= None):
EventMesh.publish("publish_AI_btnInfo",{"func":self.play_new_voice_cb,"data":msg})
def play_new_voice_cb(self,data):
PLAY_CONTROL_R="player_control_R"
PLAY_CONTROL_S="player_control_S"
+ GET_CHAT_CONFIG_R="get_chat_config_R"
+ GET_CHAT_CONFIG_S="get_chat_config_S"
+
class IOTSendCmdManager(Abstract):
#
def __init__(self):
url = data["url"]
# url = "http://qipaiai-oss1.tos-cn-beijing.volces.com/qi_pai_ringtone/2025_08_11/742659759219544064test.mp3"
self.play_new_voice_state = 1
- EventMesh.publish("play_new_voice",[url,1])
+ EventMesh.publish("play_new_voice",[url,0])
break
pass
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
schedule = {
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
switch_bt_state = {
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
elif msg == "1":
s_msg = "停止扫描附近设备"
bt_scan = {
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
bt_state ={
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
TYPE = "bt_scan_rest"
def send(self, event, msg):
- print("send schedule{}".format(msg))
+ print("send bt_scan_rest{}".format(msg))
# 通过websocket发送到服务器端
send_data = b''
TYPE = "connect_bt"
def send(self, event, msg):
- print("send schedule{}".format(msg))
+ print("send connect_bt{}".format(msg))
# 通过websocket发送到服务器端
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
if msg == 0:
s_ret = "error"
connect_bt = {
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
TYPE = "disconnect_bt"
def send(self, event, msg):
- print("send schedule{}".format(msg))
+ print("send disconnect_bt{}".format(msg))
# 通过websocket发送到服务器端
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
disconnect_bt = {
- "cmd":"post_rest",
+ "cmd":"dispatch_rest",
"ts":time_tmp,
"msg":"消息收到响应",
"data":{
EventMesh.publish("send_disconnect_bt_mac",mac)
print("recv disconnect_bt{}".format(msg))
EventMesh.publish(WEB_CMD_ENUM.DISCONNECT_BT_S,None)
+class IOTWeb_get_chat_configProtoCol(ProtoCol):
+ """get_chat_config"""
+ TYPE = "get_chat_config"
+
+ def send(self, event, msg):
+ # print("send get_chat_config{}".format(msg))
+ # 通过websocket发送到服务器端
+ date_tmp = utime.localtime()
+ time_tmp = utime.mktime(date_tmp)
+ get_chat_config = {
+ "cmd":"get_chat_config",
+ "ts":time_tmp,
+ "msg":"获取AI对话配置",
+ "data":None
+ }
+ send_data = b''
+ send_data = protocol_send_total_data(get_chat_config)
+ print("send_data get_chat_config{}".format(send_data))
+ EventMesh.publish("CHANNEL_IOT_WEB_SEND", send_data)
+
+ def recv(self, event, msg):
+ """
+
+ @param event:上行下发get_chat_config
+ @param msg: 接收到的下行数据
+ """
+ # {
+ # "cmd":"post_rest",
+ # "ts":1738283829,
+ # "msg":"消息收到响应",
+ # "data":{
+ # "cmd":"get_chat_config",
+ # "rest":"success|error",
+ # "msg":"收到获取AI对话配置请求"
+ # }
+ # }
+ print("RECV get_chat_config{}".format(msg))
+
class LK_ProtoCol(ProtoCol):
"""链路保持"""