YM310_X09模块AI开发板连接小智AI

介绍

本文档介绍了通过 X09 模组接入小智 AI 系统,成功实现 AI 玩具的语音交互功能。该设备不仅能播报新闻,还具备唱歌、讲故事、回答问题、控制设备等多样化能力,为用户提供丰富的智能交互体验,满足娱乐、生活辅助等多场景需求。

系统框图

在这里插入图片描述

通讯协议

WebSocket 协议

WebSocket总体流程如下图所示:
在这里插入图片描述
HTTP协议

HTTP 协议用于设备与服务器之间的通信,获取验证码。

音频流数据

用户通过麦克风输入声音,设备端采集音频流,经 “Audio 服务 + ES8311” 处理。处理后的音频流通过 WebSocket 上传至小智 AI 服务器。服务器处理后,智能体下行音频流经 WebSocket 返回,设备接收后由 “Audio 服务 + ES8311” 播放,从喇叭输出。

连接小智AI平台

注册登录小智官网
小智官网登陆网址https://xiaozhi.me/login
在这里插入图片描述
新建智能体,配置角色后点添加设备。
用我们demo板测试,第一次使用按键对话会播报验证码,点添加设备输入验证码即可绑定,绑定成功后重启设备即可正常使用。

小智AI源码介绍

小智源码在components/demo/ai_xiaozhi目录下,主要包含以下文件:

原码 功能说明
xiaozhi_main.c 主要功能代码,串联按键、显示、音频播放等逻辑
xiaozhi_server.c 连接AI小智服务器,完成音频数据收发,以及AI接收服务器发送过程来的语音处理文字问题
xiaozhi_display.c 屏幕状态栏更新、文字显示(如不需要此功能,通过宏关闭即可)
xiaozhi_audio.c 完成录音、播放功能
xiaozhi_ota.c 验证码接收功能,OTA升级(待待开发)
xiaozhi_vbat.c 电源管理功能

自己开发让AI板子连接服务器

连接服务器主要包括以下两个部分:

1、数据传输协议,确定AI板子和AI服务器之间的传输协议
2、音频编码(录音)格式,音频解码(播放)格式

如果使用的是小智AI服务器,小智AI源码基本上不用修改。如果使用的是其他服务器,需要根据服务器使用的协议修改xiaozhi_server.c文件的逻辑,以及xiaozhi_audio.c文件,其他根据情况修改既可以。

若还没有服务器,可以参考开源服务器:xiaozhi-esp32-server

我们YOPEN SDK链接,已经包含了开源的小智AI 代码,需要可自行下载。

demo板子具体硬件介绍可以上一篇文章:X09 模块AI开发板介绍

现在demo板是沟通过按键进行对话,后续会增加语音唤醒,如说:小智同学 唤醒后可直接对话,无需再按按键。

板子原理图可开放,可在官网链接购买。

链接:域格YM310 X09小封装移芯EC716平台超低功耗 强兼容模组

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐