【开源获奖案例】AI智能交互新方案:基于T5L智能屏的AI DeepSeek大模型
——来自迪文开发者论坛 本期为大家推送迪文开发者论坛获奖开源案例——AI智能交互新方案:基于T5L智能屏的开源AI DeepSeek大模型。该方案通过T5L串口与AI模块开发板进行数据交互,获奖支持用户与屏幕智能实时对话交互,案例案基并同步展示动态表情,智能L智构建了具有情感化交互能力的交互AI终端解决新方案。 #defineMAX_PACKETS20//预设最大包数量typedefstruct { unsignedchar*indata;//数据指针 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://网络状态 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];//栈内存分配 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); } }} 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];//足够大的缓冲区 memset(unicode_string,0,sizeof(unicode_string)); uint32_tretlen=utf8_to_unicode((constuint8_t*)content,strlen(content),unicode_string); uint8_tgbk_string[256];//足够大的缓冲区 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];//足够大的缓冲区 memset(unicode_string,0,sizeof(unicode_string)); uint32_tretlen=utf8_to_unicode((constuint8_t*)status,strlen(status),unicode_string); uint8_tgbk_string[256];//足够大的缓冲区 UnicodeToGbk(unicode_string,gbk_string,sizeof(gbk_string)); uart_write_bytes(USART_UX,gbk_string,strlen((char*)gbk_string));}
UI素材展示
C51工程设计
(1)屏幕主要程序如下:
(2)AI模块开发板程序如下:
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
-
- GROTTO个乐的夏日自然限定
- 厦门地铁五一假期优化调整 高峰时段行车间隔减少
- 旅游意外险怎么赔付,旅游意外险有必要买吗
- 技术合同成交额逆势增长 泉州前三季度目标任务提前完成
- sbr工艺优缺点和适用范围有哪些(详细介绍SBR工艺的功能)
- 2019年第一条锦鲤!罗浮宫送保时捷3天倒计时!
- 厦门旅游市场回暖 游客出行中要安全有序赏春光
- 我国将进一步规范农村客货邮运营服务
- 湖人战小牛首发不变 沃顿:必须给东契奇施加压力
- 自2000年以来,全球冰川缩小了5%以上—新闻—科学网
- 洪金宝获亚洲电影大奖终身成就奖 洪金宝为什么能获得这个奖?
- “纯实木家具的优缺点”
- 一年家具质量“三包”标准-
- 旅游意外险怎么赔付,旅游意外险有必要买吗
- 啤酒废水处理方法主要工艺有哪些(啤酒废水处理设备)
- 自2000年以来,全球冰川缩小了5%以上—新闻—科学网
- 逛完2025亚洲宠物展,我发现养猫养狗已经进入“智能时代”
- 出国留学意外险买多少合适?留学境外意外保险多少钱?
- 油价周线下跌,美俄峰会未达成协议,地缘政治不确定性持续
- 鱿鱼足冒充章鱼足 部分购物平台被上海市消保委约谈
- 搜索
-