齐护ESP32 AI对话打印机器人制作指南
百度AI
一、 项目简介
本项目旨在制作一个能与人互动的AI对话机器人。
核心功能:按住按钮说话,机器人将语音发送至百度文心一言,识别并生成回复,再通过语音合成模块播报出来。
扩展功能:结合微型打印机,将AI的对话内容实时打印成标签。
演示案例:你可以问它"讲个关于小学生的笑话"或"帮我讲一个孙悟空大战奥特曼的故事",它都能生动作答。
二、 硬件准备与接线
本项目主要涉及以下硬件模块,请确保接线正确:
主控板:齐护ESP32主板(内置C02 ESP32芯片)。
语音合成模块:
作用:将AI返回的文字转换为语音播报。
接线:连接至 IO16、IO17。
版本注意:V2.1版本为一体式(自带喇叭);V2版本需外接喇叭。编程时需对应选择版本。
拾音器(麦克风):
作用:录制人声并发送给AI进行文字转换。
接线:连接至 IO12、IO13(具体以模块标注为准,含电源与DT引脚)。
注意:小巧版拾音器无防反接设计,接线务必小心,避免烧坏。
按键模块:
作用:按住说话,松开结束录音。
接线:连接至 IO35(部分教程提及34/35,以实际IO35为准)。
注意:若使用非原装按键,需注意信号逻辑(高/低电平触发)是否匹配。
微型打印机(扩展项):
接线:连接至 IO23、IO19。
注意:打印机功耗较大,必须接外部独立电源(7.4V-9V电池),且注意正负极。若上传程序报错,可尝试先拔掉打印机串口线。
状态指示灯:主板自带的2号灯,用于显示联网及工作状态。
三、 软件配置与平台激活
在使用大模型前,需要获取使用权限(类似手机流量,需消耗Token):
获取MAC地址:
打开"获取MAC地址"的示例程序并上传。
打开串口监视器(波特率 115200),复制打印出的MAC地址(设备的唯一身份证)。
激活权限:
进入齐护机器人,找到对应功能激活入口。
输入MAC地址进行激活,获取使用时长。
注意:一个密钥(MAC地址)同一时间只能供一台设备在线。

四、 程序逻辑详解(Mixly图形化编程)
打开"第二节 与AI对话平台接通"的示例程序,核心逻辑如下:
系统初始化:
串口打印:设置波特率为115200,用于调试观察。
语音合成初始化:选择对应的模块版本(V2或V2.1),定义引脚16/17。
开机提示:设置开机语音(如"开机了,正在连接服务器"),提升交互感。
网络连接:
配置WiFi名称和密码。
避坑指南:手机热点请关闭5G频段,确保信号强度在三格以上,否则易导致录音中断或连接失败。
AI对话配置:
模式选择:勾选"GPT对话"(包含语音识别+大模型对话)。
麦克风定义:设置拾音器引脚。
提示词(Prompt)设置:这是AI的"人设"。你可以定义它为"医生"、"老师"等,并限制回复范围(如"不要超过100字"、"不要说废话"),让回答更精准。
交互逻辑:
按下按键:开始录音,打印"正在录音"状态。
松开按键:停止录音,将音频发送给百度AI。
接收与过滤:AI返回的内容包含状态码(如question=、answer=)。程序需通过"字符串过滤"模块,剔除状态码,只保留纯净的回答文本。
语音播报:将过滤后的文本通过语音合成模块播放。建议选择"可中断"模式,避免程序卡死。
打断功能:在播报过程中再次按下按键,执行"语音合成停止",立即打断当前回复,以便接收新指令。

五、 扩展功能:打印对话内容
在对话功能跑通的基础上,增加打印功能:
硬件连接:将打印机接在23、19引脚,并接好独立电源。
编程添加:
在接收到AI回复并过滤后,加入"打印机"模块。
将AI返回的文本变量传入打印机。
设置"进纸3行",方便撕取标签。
调试技巧:若上传程序失败,通常是打印机串口干扰,请拔掉打印机数据线后再上传,传完插回即可。

六、 常见问题与注意事项
供电不足:ESP32连接WiFi和驱动喇叭/打印机时电流较大,建议使用7.4V锂电池外部供电,单纯依靠电脑USB可能带不动。
频繁掉线:检查WiFi信号强度;避免同一MAC地址多设备同时连接服务器。
录音无声/乱码:检查拾音器接线是否松动;检查串口监视器波特率是否为115200。
报错处理:若AI返回"错误"或超时,可在程序中增加判断,过滤掉包含"错误"字样的返回信息,避免机器播报报错代码。