WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GetSelect4gorbt() == AI_SELECT_4G");
if (GetInit_4gai_task())
{
- uapi_UI_start_asr();
+ uapi_UI_start_asr(AI_TYPE_JIU);
}
else
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "4gAi服务初始化成功");
bool state = true;
SendMsgToUIService(UI_4G_AI_INIT_STAUS, 0, &state, sizeof(bool));
- uapi_UI_start_asr();
+ uapi_UI_start_asr(AI_TYPE_JIU);
AiVoiceModel::GetInstance().stop_ai4g_connect_timer();
p_AiVoicePresenter->ChangeViewAndLogicOperator(AIVOICE_4GSERVICECON_VIEW, AIVOICE_AIMODE_CONNECTING);
}
// usleep(50000);
set_clear_queue_stream(1);
LOS_Msleep(100);
- uapi_UI_start_asr();
+ uapi_UI_start_asr(AI_TYPE_JIU);
ChangeViewAndLogicOperator(AIVOICE_RETURN_RESULT_TEXT_VIEWID, AIVOICE_AIMODE_CONNECTING);
return true;
}
model->SetSelect4gorbt(AI_SELECT_4G);
if (!model->GetInit_4gai_task())
{
- init_ai_task();
+ init_ai_task(AI_TYPE_JIU);
model->start_ai4g_connect_timer();
ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_4GSERVICECON_VIEW); // LOADING
}
model->SetSelect4gorbt(AI_SELECT_4G);
if (!model->GetInit_4gai_task())
{
- init_ai_task();
+ init_ai_task(AI_TYPE_JIU);
model->start_ai4g_connect_timer();
ChangeViewAndLogicOperator(AIVOICE_STARTCHAT_VIEWID, AIVOICE_4GSERVICECON_VIEW); // LOADING
}
model->SetSelect4gorbt(AI_SELECT_4G);
if (!model->GetInit_4gai_task())
{
- init_ai_task();
+ init_ai_task(AI_TYPE_JIU);
model->start_ai4g_connect_timer();
ChangeViewAndLogicOperator(model->GetCurView(), AIVOICE_4GSERVICECON_VIEW); // LOADING
}
return 0;
}
-extern bool init_ai_task(void);
+extern bool init_ai_task(uint8_t type);
extern errcode_t chat_server_init(void);
g_test_server_index = atoi((char*)argv[0]);
}
printf("AT^WSTEST g_test_server_index %d\n",g_test_server_index);
- init_ai_task();
+ init_ai_task(AI_TYPE_JIU);
return 0;
}
return 0;
}
-extern void uapi_UI_start_asr(void);
+extern void uapi_UI_start_asr(uint8_t type);
static uint32_t start_asr(uint8_t *para, uint32_t paraLen, char *strCommonCmd)
{
printf("CAT1TEST ATCMD Convert Command Failed\n");
return ERRCODE_FAIL;
}
- uapi_UI_start_asr();
+ uapi_UI_start_asr(AI_TYPE_JIU);
return 0;
}
return ERRCODE_FAIL;
}
uapi_cat1_keep_wakeup(1);
- uapi_UI_start_asr();
+ uapi_UI_start_asr(AI_TYPE_JIU);
return 0;
}
#include "dev_authentication.h"
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);
}
- else if (g_py_ver>=19 )
+ else if (g_py_ver>=19 && (uapi_dev_runtime_get_cat1_networkstat()) )
{
char * cat1_modemver = uapi_dev_runtime_get_cat1_modemver();
if(g_py_ver==19)
char result_str_asr[256]={0};
-void uapi_UI_start_asr(void)
+static uint8_t type_ai=0;
+
+uint8_t chat_reconnect=0;
+
+void uapi_UI_start_asr(uint8_t type)
{
memset_s(result_str_asr,256,0,256);
-
// uapi_stop_tts();
+
+ if(type_ai!=type)
+ {
+ type_ai=type;
+ if(chat_client)
+ {
+ chat_server_deinit();
+ chat_reconnect=1;
+ }
+ }
+
+
+ /////////////////////////////////////////////////////
+
tts_break=1;
tts_server_deinit();
tts_reconnect=1;
AIStreamFlush();
send_msg_data_into_Ai_msg_queue((uint8_t *)"tts_recv_buf",13,201);
-
-
-
asr_need_stop=0;
return false;
}
-
+
cJSON_AddStringToObject(dataJSON,"type","jiutian-lan");
cJSON_AddStringToObject(dataJSON,"content",msg);
// while (1)
{
/* code */
+ char_reconnet:
is_bk_websocket_chat=1;
// char url_buf[124]={0};
{
// http://118.145.158.207:22080ws://118.145.158.207:22080/chat/ws
// ws://amp.raisound.com/chat/ws?dt=%s&platform=chinamobiledevice&bot_type=jiutian-lan
- chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=chinamobiledevice&bot_type=jiutian-lan",NULL,0);
+ // type_ai=AI_TYPE_DE;
+ if(type_ai==AI_TYPE_JIU)
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=chinamobiledevice&bot_type=jiutian-lan",NULL,0);
+ }
+ else if(type_ai==AI_TYPE_DOU)
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=huoshan",NULL,0);
+ }
+ else if(type_ai==AI_TYPE_WEN)
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=baidu",NULL,0);
+ }
+ else if(type_ai==AI_TYPE_KIMI)
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=moonshot",NULL,0);
+ }
+ else if(type_ai==AI_TYPE_DE)
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?platform=huoshan&model=ep-20250206162546-g74w6",NULL,0);
+ }
+ else
+ {
+ chat_client = init_websocket_client("ws://118.145.158.207:22080/chat/ws?&platform=aliyun",NULL,0);
+ }
+
+
if (chat_client== NULL) {
client_count--;
// send_ai_txt(1,"你是谁");
+
set_ai_chat_service_init_flag(1);
WebSocketMessageType type;
while (disconnect_server==0)
set_ai_chat_service_init_flag(0);
lwip_close_websocket_client(chat_client);
chat_client=NULL;
+
+ if(chat_reconnect==1)
+ {
+ chat_reconnect=0;
+ goto char_reconnet;
+ }
is_bk_websocket_chat=0;
return ;
}
+
errcode_t chat_server_init(void)
{
if(chat_client || is_bk_websocket_chat)
{
//查询结果
startAudioCaptureTask();
+ // {
+ // //上传文件
+ // }
+
bool state = true;
SendMsgToUIService(UI_AI_JUMP_TO_LISTENING_VIEW, 0, &state, sizeof(bool));
-bool init_ai_task(void)
+bool init_ai_task(uint8_t type)
{
if(is_init_ai)
{
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"g_timer_time_sync create failed\n");
}
-
-
-
-
-
+ type_ai=type;
uapi_tts_paly_init();
-
- chat_server_init();
tts_server_init();
+ chat_server_init();
// is_init_ai=0;
}
extern "C" {
#endif /* __cplusplus */
#endif /* __cplusplus */
-////////////////////////// UI 使用接口///////////////////////////////////
-bool init_ai_task(void);
+////////////////////////// UI 使用接口/////////////////////////////////
+bool init_ai_task(uint8_t type);
bool dinit_ai_task(void);
-void uapi_UI_start_asr(void);
+void uapi_UI_start_asr(uint8_t type);
void uapi_UI_stop_asr(void);
void uapi_UI_stop_start_asr_timeout(void);
+typedef enum
+{
+ AI_TYPE_0=0,
+ AI_TYPE_JIU,
+ AI_TYPE_DE,
+ AI_TYPE_DOU,
+ AI_TYPE_WEN,
+ AI_TYPE_KIMI
+}G_AI_TYPE;
+
////////////////////////////////////////////////////////////////////////
void tts_server_deinit(void);
+void asr_server_deinit(void);
+
+
+void chat_server_deinit(void);
+
void uapi_set_tts_break(uint8_t data);
uint8_t uapi_get_tts_break(void);