目录
整体架构
硬件连接与配置
硬件接线
所需接口:
连接小智AI开发板(如ESP32-S3-DevKitC-1)与设备:
-
-
TX(小智)→ RX(设备)
-
RX(小智)→ TX(设备)
-
GND → GND(共地防干扰)
-
注意事项:
-
-
使用USB转TTL模块时,需确保波特率一致(推荐115200);
-
若设备无串口,可用CH340等转换芯片接入MCU的UART引脚。
-
小智AI固件烧录
步骤:
-
-
下载专用固件。
-
使用flash_download_tool,选择ESP32-S3芯片类型。
-
设置烧录地址为0x0,波特率921600。
-
连接开发板后执行擦除→烧录。
-
验证:烧录成功后,小智启动并发出配网热点(如Xiaozhi-XXXX)
串口通信协议设计
协议格式(JSON或自定义二进制):
指令类型|参数长度|参数内容
应用场景:
设置密码:SET_PWD|6|123456
调节温度:SET_TEMP|2|25
关键设计原则:
指令分类:
指令类型 功能码 参数示例
设置密码 0x01 长度+ASCII码
调节参数 0x02 数值(整数)
校验机制:
添加CRC8校验位(如0x01|6|123456|0xC3)。
分隔符:使用|或\n作为帧结束符。
语音理解过程
输入:用户说“请将用户密码设置为123456”
处理:小智AI内部完成三层转换:
-
-
声波 → 文字(如同语音输入法)
-
文字 → 意图理解(理解这是“密码设置”操作)
-
意图 → 结构化指令(生成机器能懂的JSON),就像餐厅的点菜单,把顾客需求标准化后传给厨房
-
协议转换
-
转换规则:
-
密码设置
→SET_PWD
-
123456
→ 十六进制代码
-
-
输出结果:
AA 01 06 31 32 33 34 35 36 55
(机器语言)
完整实现路径
需要注意的是,一般产品都会考虑安全性问题,
若需高安全性,可在协议层加密(如AES-128),避免密码明文传输。
通过以上步骤,硬件团队可快速完成集成。
实际开发中建议先使用AT指令模拟器,验证协议逻辑,再部署到物理设备。
实现关键点
三张表:
-
-
指令映射表,确定支持哪些语音指令,比如“设置密码”=SET_PWD;
-
参数规则表,设定业务规则边界,比如密码长度范围:6-12位
-
设备响应码表,定义返回码,比如0x55=成功, 0xEE=参数错误
-
风险控制:
-
-
错误指令:设置“确认环节”:“确定要修改密码吗?” ,避免误操作
-
安全漏洞:禁止语音传输原始密码,用***代替敏感信息
-
设备无响应超时提醒:“设备未响应,请检查连接” 明确问题定位。
-
作者简介
卫朋《硬件产品经理》作者,实战派产品及流程专家,人人都是产品经理受邀专栏作家,CSDN认证博客专家、嵌入式领域优质创作者,阿里云开发者社区专家博主。