具体项目介绍可以看虾哥的:GitHub - 78/xiaozhi-esp32: Build your own AI friend
esp32c3的:GitHub - Kevincoooool/xiaozhi_c3_hardware: ESP32C3 AI对话小音箱 你好小智
b站视频:【【开源】30元改造一个AI对话小音箱ESP32C3】 https://www.bilibili.com/video/BV1KXq2YyEEf/?share_source=copy_web&vd_source=8b4c97767b164d6b12da442fa3fc9f2f
小智物联网连接配置:小智 AI 聊天机器人 - 控制面板
本身是看好可以使用ESP32C3开发板,但是看了下,需要用特供的C3开发板,那样成本并不比S3低,所以最终实践还是用的ESP32S3开发板。
动手实践
其实挺忐忑的,因为不是太清楚这个项目对硬件的需求,或者因为是看到了好几个项目,有点混淆了。比如在虾哥的项目里,介绍说是使用ESP32S3,同时还支持虾哥自己的Mini ESP32C3 ,虾哥自己的Mini ESP32C3是8MB Flash的。
小智聊天机器人,项目介绍:xiaozhi_c3_hardware/Firmware at master · Kevincoooool/xiaozhi_c3_hardware · GitHub
项目里说所有的硬件文档放在了飞书里:小智 AI 聊天机器人百科全书 - 飞书云文档
结果到了飞书里,发现还是需要 ESP32S3硬件。或者用Xmini-C3开发板,也就是普通的C3开发板不行了哦。
普通的ESP32C3 是4MB Flash,可能就是这个空间不够用。
没办法,改用ESP32S3 。
元件清单
ESP32S3开发板一块,用的是ESP32S3 N16R8
数字麦克风 INMP441全向麦克风模块
功放 MAX98357 I2S 音频放大器模块
喇叭 腔体喇叭8欧2W
OLED 选配 128*64屏0.96寸OLED显示屏模块 需要SSD1306驱动的
在面包板上安装好各个元件
下载安装固件
从这里下载烧录固件的软件
点击下载后,打开了这个网页:Flash 下载工具用户指南 - ESP32 - — ESP 测试工具 latest 文档
下载flash_download_tool 这个工具,解压之后直接就可以运行
烧录
运行后设置:
ChipType设为ESP32S3 ,WorkMode
:软件模式设置为 Develop
模式,LoadMode
:下载接口设为 UART
。
点击ok后,进入烧录界面:
首先在第一行选择要烧录的bin文件,我是使用从这里Releases · 78/xiaozhi-esp32下载的merged-binary.bin文件,打上对钩,地址写0x8000(后来知道要设为0x0)
COM根据自己的情况选,比如我是COM5,速率选921600,其它都选的默认 ,按start
烧录出现ERROR报错,原来是地址需要选0x0
再次烧录,还是报错。把打开的Arduino程序关掉,因为它也用了COM5端口了,烧录成功!
按rst按钮重启。
配置网络
用手机,找到WiFi,名字xiaozhi开头,连上这个wifi后,手机就会出现配置界面(这时候esp32S3开发板的地址是192.168.4.1):配置wifi,选好名字,设好密码。但是没连上,显示Failed to connect to WiFi,大约是因为密码里面有特殊字符。
换成另一个访客网络,终于在配置里连上了。
配网参考这里:配置设备 Wi-Fi 和登记设备及信号问题 - 飞书云文档
但是配置完成,重启后,ESP32S3并没有连入WiFi,这就比较难处理了。
又重新刷机,设置密码后,好像又使用了一次密码,最后显示Done,重启后,在路由器管理页面,还是没有看到ESP32S3登入网络。
在文档里配置设备 Wi-Fi 和登记设备及信号问题 - 飞书云文档,找到这么一句:说WiFi可能不稳定,加强一下信号就好了。具体方法是使用软导线在天线上饶3圈。
按照操作,果然信号好了,在路由器里能看到这台ESP32S3了,但是下一步呢?
下一步,唤醒小智,但是喇叭没有声音,这时候oled也没有反应。
先待续
调试
WiFi没有连上,显示Failed to connect to WiFi
主WiFi没有连上,怀疑是密码里有特殊字符导致的。
换用访客网络,连上了。