本期為大家推送迪文開發(fā)者論壇獲獎開源案例——AI智能交互新方案:基于T5L智能屏的AI DeepSeek大模型。該方案通過T5L串口與AI模塊開發(fā)板進行數(shù)據(jù)交互,支持用戶與屏幕智能實時對話交互,并同步展示動態(tài)表情,構(gòu)建了具有情感化交互能力的AI終端解決新方案。
UI素材展示
C51工程設計
(1)屏幕主要程序如下:
#defineMAX_PACKETS20//預設最大包數(shù)量typedefstruct { unsignedchar*indata;//數(shù)據(jù)指針 intlength;//包長度} Packet;intsplit_packets(constunsignedchar*indata,intdata_len, Packet *packets,int*packet_count){ intpositions[MAX_PACKETS] = {0}; intcount =0; inti;//查找所有包頭位置 for( i =0; i <= data_len -?2&& count < MAX_PACKETS; )?? ? {? ? ? ? if?(indata ==?0x5A?&&indata[i+1] ==?0xA5) {? ? ? ? positions[count++] = i;? ? ? ? i +=?2;//跳過包頭? ? ? ? }?else?{? ? ? ? ? ? i++;? ? ? ? }? ? }? ? if?(count ==?0)?return?-1;? ? *packet_count = count;? ? for?( i =?0; i < count; i++) {? ? ? ? int?start = positions;? ? ? ? int?end = (i < count-1) ?positions[i+1] : data_len;? ? ? ? packets.indata = indata + start;? ? ? ? packets.length = end - start;? ? }? ? return?0;}#defineOutGbkLen ? ? ? 256unsignedchar HuanBuffdata[1024];voidHandleRecData(unsigned?char?*inputdata,unsigned?char?len){? ? char?emotions=0;? ? char?emoarr[2];? ? memset(HuanBuffdata,0,sizeof(HuanBuffdata));? ? memcpy(HuanBuffdata,inputdata,len);? ? switch(HuanBuffdata[2]){? ? ? ? case?1://表情? ? ? ? ? ? if(HuanBuffdata[3]>20) emotions=0; else emotions=HuanBuffdata[3]; emoarr[0]=0; emoarr[1]=emotions+1; write_dgusii_vp(0x3000,emoarr,1); break; case2://網(wǎng)絡狀態(tài) break; case3://通知消息 write_dgusii_vp(0x2000,&HuanBuffdata[3],strlen(&HuanBuffdata[3])/2); break; case4://聊天信息 write_dgusii_vp(0x4000,&HuanBuffdata[3],strlen(&HuanBuffdata[3])/2); break; }}voidDispDataHandle(void){ inti ; intdata_len = uart4_rx_count; Packet packets[MAX_PACKETS];//棧內(nèi)存分配 intpacket_count; if(split_packets(Uart4_Rx, data_len,packets, &packet_count) ==0) { for( i =0; i < packet_count; i++){? ? ? ? ? ? HandleRecData(packets.indata,packets.length);? ? ? ? }? ? }}
(2)AI模塊開發(fā)板程序如下:
voidXINGZHI_1_54_TFT_LcdDisplay::SetChatMessage(constchar* role,constchar* content) { DisplayLockGuardlock(this); if(chat_message_label_ ==nullptr) { return; } lv_label_set_text(chat_message_label_, content); charsenddata[10]; inti=0; memset(senddata,0,sizeof(senddata)); senddata[i++]=0x5a; senddata[i++]=0xa5; senddata[i++]=0x4; uart_write_bytes(USART_UX,senddata,i); uint16_tunicode_string[256];//足夠大的緩沖區(qū) memset(unicode_string,0,sizeof(unicode_string)); uint32_tretlen=utf8_to_unicode((constuint8_t*)content,strlen(content),unicode_string); uint8_tgbk_string[256];//足夠大的緩沖區(qū) UnicodeToGbk(unicode_string,gbk_string,sizeof(gbk_string)); uart_write_bytes(USART_UX,gbk_string,strlen((char*)gbk_string));}voidXINGZHI_1_54_TFT_LcdDisplay::SetStatus(constchar* status) { DisplayLockGuardlock(this); if(status_label_ ==nullptr) { return; } lv_label_set_text(status_label_, status); lv_obj_clear_flag(status_label_, LV_OBJ_FLAG_HIDDEN); lv_obj_add_flag(notification_label_, LV_OBJ_FLAG_HIDDEN); charsenddata[10];inti=0; memset(senddata,0,sizeof(senddata)); senddata[i++]=0x5a; senddata[i++]=0xa5; senddata[i++]=0x3; uart_write_bytes(USART_UX,senddata,i); uint16_tunicode_string[256];//足夠大的緩沖區(qū) memset(unicode_string,0,sizeof(unicode_string)); uint32_tretlen=utf8_to_unicode((constuint8_t*)status,strlen(status),unicode_string); uint8_tgbk_string[256];//足夠大的緩沖區(qū) UnicodeToGbk(unicode_string,gbk_string,sizeof(gbk_string)); uart_write_bytes(USART_UX,gbk_string,strlen((char*)gbk_string));}
-
AI
+關(guān)注
關(guān)注
88文章
35065瀏覽量
279335 -
大模型
+關(guān)注
關(guān)注
2文章
3134瀏覽量
4053 -
DeepSeek
+關(guān)注
關(guān)注
1文章
797瀏覽量
1717
發(fā)布評論請先 登錄
首創(chuàng)開源架構(gòu),天璣AI開發(fā)套件讓端側(cè)AI模型接入得心應手
智能語音交互的突破與應用,啟明云端AI大模型方案應用

FPGA+AI王炸組合如何重塑未來世界:看看DeepSeek東方神秘力量如何預測......
啟明智顯集成DeepSeek、豆包、OpenAI等全球先進AI大模型,助力傳統(tǒng)產(chǎn)品AI智能升級

廣和通AI玩具解決方案:DeepSeek賦能,引領市場新變革
【開源獲獎案例】基于T5L智能屏的EQ均衡效果器

機械革命AI PC接入DeepSeek大模型
【開源獲獎案例】基于T5L芯片的調(diào)音臺麥克風混響回聲控制

評論