ESP32-S3-AI-Kit-(B) 使用教程

【ESP32 S3小智AI】

】硬件

[] 开发板:ESP32-S3-DevKitC-1(选择 WROOM N16R8 模组)

[] 数字麦克风:INMP441

[] 功放:MAX98357A

[] 腔体喇叭:8Ω 2~3W  或 4Ω 2~3W 

[] 导线:跳线一盒,杜邦线若干

[] 400 孔面包板 2 块

[] 128x32 I2C(IIC) 液晶显示屏,SSD1306 驱动(推荐)

[] ML307R Cat.1 4G 模组,AT固件版(可选)

[] 6*6mm 立式 轻触开关(可选)

除此之外,你可能还需要用到万用表,电烙铁套件,钳子三件套,Type-C数据线,用于烧录固件的PC。

】硬件说明

[] 1.1 开发板(ESP32-S3-DevKitC-1)

尽量要选择 N16R8,即 16 MB Flash 和 8 MB PSRAM 的配置。


[] 1.2 MEMS 数字麦克风(INMP441)


这个电子元件最小,焊接难度较大,新手建议买焊接好的。自行焊接要注意一定不可以让引脚和半环形金属线接通。

INMP441 很脆弱,如果使用杜邦线接线,要注意不能把 VDD 和 GND 反接,否则容易烧坏


[] 1.3 数字功放(MAX98357A)

使用面包板连接,建议购买已经焊接排针的配件。

[] 1.4 腔体喇叭(8Ω 3W)

[] 1.5 导线(跳线一盒,杜邦线若干)

[] 注意:如果你使用杜邦线连接(不使用面包板),请在购买杜邦线加上几条1分2的分叉线(母线)用于麦克风和数字功放的短接,以解决开发板的电源3V3和接地GND的排针接口不够用的问题。


[] 1.6 面包板(2 块 可拼 400 孔,可选,推荐)

[] 如果没有面包板,我们在开发板上接的电子元件越来越多后,很容易就会乱成一团糟。

面包板400孔外观图

面包板内部结构图,分区横向连通,竖条为正负极

如图,两块 400 孔的面包板拼成一块,把开发板装在中间,可使面包板的利用率最大化。

面包板基础知识:面包板是分区块的,中间两个区块相同数字横向的每行是连通的(中间隔断除外),正负红蓝线是竖向每列连通的(如有隔断除外)。

[] 1.7 OLED 显示屏(IIC 接口,推荐,可选)


购买时需要确认是使用 SSD 1306 驱动的,建议买GND开头的新版OLED屏幕。

[] 1.8 Cat. 1 4G 模块(ML307R,可选)


ML307R 是中移物联推出的 Cat. 1 物联网模块,DC 版比 DL 版增加了 OpenCPU SDK 二次开发的支持。
购买时需要确认是 AT 固件版本。
注:此模块用来连接国内的 4G 移动数据网络,实现AI联网对话聊天。(不能打电话和发短信,使用该模块后可以不用连接WIFI,适合到户外等无WIFI网络的环境下使用。当然没有WIFI时也可以使用手机热点,具体请自己视情况考虑是否选择配备。)
注:建议4G模组选择可插拔卡的,如果经常使用可以使用自己的手机号码副卡(使用中国移动的卡),4G模块自带的流量卡每月流量可能不够(一般不能充值流量),或者需要另选流量套餐比较多的流量卡。

[] 1.9 微动开关/按钮

[] 使用尺寸6*6MM微动开关/轻触开关,在面包板上请岔开横行按示意图插到面包板,按钮如下图示:

】接线说明

[] 1.1 ESP32-S3-DevKitC-1开发板版本1(乐鑫标准版 44 IO引脚)接线图

注意:如果你使用杜邦线连接(不使用面包板),请在购买杜邦线可以买几条1分2的分叉线(母线)用于麦克风和数字功放的短接,以解决开发板的电源3V3和接地GND的排针接口不够用的问题。

[] 开发板为 44 引脚标准版请参考下图接线,无ML307R-4G模块不用连接4G模块接线:


注意:如果用户使用的MAX98357数字功放是 BGA 封装的(芯片比较上图中的小),可以不接 GAIN_GND 这根短线(上图左边绿色短线),如用户接正常工作则不用管。

注意麦克风焊接不要焊反了,下图是焊接反了的


[] 开发板引脚接线请以表格对照为准!!!预览图只作外观样式参考!!!

[] 接线请按照表格的引脚进行接线,接线完成后大致预览效果如下图:


使用短线尽可能减少信号干扰。

[] 1.2 按键外接(可选)

1.音量调节

固件版本0.3.3新增了音量调节按钮,触控按钮对应 GPIO40引脚,另一端接地GND,按下按钮进行声音增加,长按静音。0.4.1版本增加音量减少按钮,对应 GPIO39,长按静音,之前的音量按钮长按操作变为最大音量。

2.唤醒/中断

固件版本0.3.1以上支持按键唤醒和中断对话,可使用开发板上的 Boot按钮,或者对接 GPIO0引脚,另一端接地GND,在进行对话时,按下按钮可以打断对话,再次按下按钮即可唤醒恢复对话。

注意事项在外接按钮时,请不要直接在开发板上单行连接四脚开关,请错开成两行来插接因为面包板中间区块的横向数字行是直接连通的(中间隔断了除外)。单行插接连接会造成引脚短接,相当于按钮为常按状态,按钮无法使用。

[] 1.3 跳线颜色方案

在跳线款式有限的情况下,尽最大可能统一配色方案。

统一的配色也方便其他人读懂。

比如 VCC 使用红色和棕色,GND 使用灰色和黑色,数字信号使用了咖啡色和橙色,这样可以避免正负极反接的情况。

也有例外的情况,比如上图中使用了黄色线短接麦克风的 L/R 和 GND,使用了蓝色线从开发板的 LDO 引脚引出 USB 的 5V 电压。

[] 1.4 液晶屏幕扩展版

[] 增加了一个液晶屏幕,使用 4 线 I2C 接口,可以用来显示 WiFi 或 4G 信号强度,网络信号弱会影响使用体验。

[] 1.5 4G 扩展版

[] 面包板左下角增加了一个 4G 模块,4G 天线藏到了面包板背后。天线不能离麦克风太近,距离 3cm 以内会听到明显信号干扰。最简单的处理方案是把天线粘贴在喇叭的模拟信号线上,并且远离麦克风。

[] 4G 模块需要 5V 电压供电,因为开发板只有 5V VIN 输入引脚,没有 5V 输出引脚,所以我们在 LDO (稳压器)的近似 5V (大约4.7-4.8V)引脚上引电出来,如图所示。

[] 外围电子元件拿开后,可以看到完整的接线图。

】常见接线问题 FAQ

1.烧录固件后,RGB 灯不亮。
需要检查 RGB 灯旁边的两个焊点是否已经接上,如果没有焊接,可以先用导线接通,重启查看是否会亮。
2.如何检查电路故障?
a.在没有接电源的情况下,用万用表测试导线是否导通,比如距离相远的两个 GND 引脚,或者两个 3.3V 引脚。
b.接电源后,检查 GND 与其他引脚电压是否在正常值。

】软件

[] 方式一:Flash软件电脑上烧录(无 IDF 开发环境)

[] 此固件适用于 ESP32 S3 WROOM N16R8

注意1)v0.X.X_ML307.zip 是 4G 版固件,默认WiFi 版请下载 v0.X.X_bread-compact-wifi.zip(x.x代表版本号)。

 2)本文档为固件烧录操作示例,烧录时建议烧录最新的固件版本。

安装FLASH下载工具:

https://www.espressif.com.cn/zh-hans/support/download/other-tools

连接 ESP32 S3 开发板的 USB JTAG/serial 到电脑主机,运行 Flash 下载工具,使用 UART 模式把下载解压后的 merged-binary.bin 烧录到地址 0x0 。

[] 准备工作

[] 在Windows系统上,目前下载/烧录工具推荐Flash download_tool 3.9.7版本,其他版本只要不是太旧也可使用。

[] 下载后解压 flash_download_tool_3.9.7_1.zip 到硬盘自行指定目录即可,无需安装,进入目录直接双击 flash_download_tool_3.9.7.exe 即可运行。

注意,烧录工具也不要放在中文目录下,否则可能无法加载文件。


[] 下载固件

(1)下载并解压

烧录的BIN文件请到QQ群公告中下载(保持最新版本和全部releases)。
下载地址:https://github.com/78/xiaozhi-esp32/releases
国内源码:https://gitee.com/tenclass/xiaozhi-esp32 
请根据你使用的开发板及外设模块情况,选择对应的版本下载固件到电脑本地硬盘上。
注意:默认的为面包板固件(自行购买ESP32s3-WROOM-1/1U-N16R8 开发板及模块组装的,按接线方案,使用面包板、杜邦线或自行焊接的),默认选择 WIFI版本,如果加装的ML307R(AT)4G模块的,请选择 ML307版本。
面包板wifi产品对应:vx.x.x_bread-compact-wifi.zip 
面包板4G版本对应 vx.x.x_bread-compact-ml307.zip (vx.x.x表示版本号例如 v1.0.1 )

(2)复制 .bin 文件到指定目录

把下载的 bin 固件压缩包文件解压,建议放到 flash download tool 软件bin目录下,请不要使用中文目录名,如下图示:


[] 烧录固件/下载到开发板

到 Flash download_tool_3.9.7 解压后目录,双击运行 flash_download_tool_3.9.7.exe 如下图示:

1)下载设置

(1)芯片类型,选择 ESP32-S3
(2)工作模式,选择 Develop
(3)加载模式,建议选择 UART (备选USB模式,这里不做说明)

接口及sRGB等说明:

(1)开发板正面TypeC接口朝下时,右边的接口为 UART 接口(如下图示),左边的为USB接口,注意不要接错了。

补充:个别的定制的开发板可能不同,请根据开发板USB接口的正面或背面的丝印COM来识别为UART接口。


(2)如果你开发板上的sRGB灯的开关没有焊接上(部分厂商考虑可能有些人不需用到sRGB灯),Flash下载工具会识别不了而出现warning警告,不影响烧录,可先忽略,之后在用电洛铁短接即可(见最下方图示位置2)。

1)加载固件 & SPI下载设置

(1)在第一行空白框上 ... 按钮,选择bin文件目录导入bin文件,如下图示:


(2)在导入bin文件选择框前面勾选中(一定要勾选),在bin文件选择框后面的输入框中填写 0x0 0x000 (表示下载到开发板存储器1区起始位置)

注意:如果你不把bin文件放到flash download tool 程序的bin目录下,放到电脑硬盘其他地方时,请不要使用中文目录名,否则烧录程序加载bin文件会报错,将无法烧录。

(3)COM端口:先在桌面 此电脑 —》右键菜单属性 —》设备管理器(右侧菜单) —》端口(COM和LPT)点击展开,查看插入的开发板对应的COM端口号,(不确定的请插拔一下开发板USB接口,看卸载和新识别的COM端口号就是要选择的COM端口号),即为FLASH DOWNLOAD TOOL在SPI下载是要设置的对应COM端口号。


注意ESP32S3开发板的COM串口一般是 CH340CH343 芯片驱动的,带有 CH34 字样端口,或个别 CP210 等芯片驱动的 ,也是UART端口。

下图示这里的 COM8端口 仅供参考,根据你的电脑上显示的COM端口来选择你的开发板端口,不一定是COM8,以你的电脑识别的COM端口为准。


(3)其他:SPI速度SPEED 和SPI模式MODE 默认即可(不要选QOUT和DOUT),BAUD波特率可选速度高一点的。

** 烧录的bin文件前面复选框一定要勾选!

** COM端口号根据自己电脑设备管理器里的COM端口选择(不一定是COM4,下图示此处只作演示)。


(4)点击 START开始烧录,进度条开始出现,直到结束,状态显示 FINISH 完成。下载/烧录过程一般几分钟到十来分钟。下载完成下图示:


(5)烧录完成后,点击按钮上的 RST(Restart,如下图位置1)重启开发板,即可进入 WI-FI 配网模式,具体配网详细介绍见下一章。

配网和登记设备链接:如何配置设备WiFi和登记设备


[] 方式二:ESP-Launchpad 浏览器WEB端烧录

[] 准备工作

1)准备好待烧录的ESP32S3开发板,具体请参考上文方式一中的下载固件段落中支持的开发板。
2)连接开发板的数据线(手机或开发板等配置的标准数据线,不能是那种2芯的普通电子产品用的USB充电线)。
能上网的带USB接口的电脑台式机或笔记本。
3)请把ESP32S3开发板连接到电脑USB接口上(部分开发板需要打开电源开关),确保已经在电脑——右键属性——相关设置——设备管理器中,开发板已经被识别出COM串口。
如果没有找到COM端口,请检查数据线和开发板状态,并确认已经安装好串口桥芯片驱动程序(驱动可以找卖家要或者自行上网搜索),如果不清楚是哪个COM端口,请参考方式一中的第3节插拔识别等。
4)请使用主流的浏览器,如 谷歌 Chrome(已验证) ,微软 Edge(已验证) /IE 浏览器,或其他 webkit内核浏览器。烧录固件时尽量不使用电脑管理软件和杀毒软件。

[] 下载固件

把小智AI对应版本的固件,从公告迭代源码链接或QQ群文件中,下载到电脑硬盘上,解压出 bin 固件文件备用。

面包板组装小智AI终端的用户默认请下载 WiFi 版 v0.X.X_bread-compact-wifi.zip(x.x代表版本号)。

请不要使用中文目录/路径,具体操作请参考上文中的方式一第2节。

开源固件及源码下载地址https://github.com/78/xiaozhi-esp32/releases

以上github网址无法打开时,请到QQ群文件中下载对应版本的烧录固件。

[] 烧录固件/下载到开发板

1)浏览器访问烧录网址

在线烧录网址:https://espressif.github.io/esp-launchpad/

本教程中使用的烧录网站是英文的,首页上面是烧录应用固件功能介绍,注意烧录新固件会覆盖原有的固件。网站快速开始页面默认是烧录ESP-RainMaker的应用固件,不用去管,我们直接切换到DIY菜单页面

2)DIY页面连接 Connect 开发板COM串口

操作步骤:

①请点击网站 DIY页面 右上方的 Connect 菜单(箭头位置1)。

②在弹出层上,选中用户电脑上连接的开发板COM串口,如下图示箭头位置2(USB Serial (COM12)-已配对 ),此处COM端口数字仅供参考,根据每个人开发板会有不同。

③在弹出层上,点击 连接 按钮授权,这样用户的开发板COM串口就被网站浏览器加载了。

确认开发板COM串口被连接

开发板COM端口被浏览器连接后,网页会显示 Connected to device: ESP32-S3 字样同时,菜单 Connect 会变为 Disconnect表示开发板COM端口连接成功

3)加载和设置对应版本 BIN 固件

1)网页加载对应的bin固件

点击 DIY页面中间位置的 选择文件按钮(下图位置1),浏览到电脑上bin固件所在的文件夹,选中bin固件文件(下图位置2),再点击打开按钮(下图位置3),将 bin固件的加载到网页上。

2)设置烧录起始位置

操作步骤:

请在Flash Address 烧录地址(flash存储区的起始地址)的输入框填写 0x0 0 如下图示位置1。

同时,请确保已经为位置2看到刚才加载的bin文件,如果没有显示,请按第 1)步重新导入一下。

由于小智AI固件包已经合并成一个bin包,即 merged-binary.bin,不需要额外再添加别的bin固件了。

4)烧录bin固件及检查烧录是否成功

(1)开始启动烧录

请点击上图示位置3的 Program 按钮开始烧录固件程序,提示将会下载对应应用固件到开发板/设备中。

(2)烧录进程显示

开始烧录后,网页会自动跳转到 Console 控制台命令行 菜单页面,显示烧录进程,如下图示:

(3)确认烧录完成并重启

烧录完成

当在控制台黑屏上看到写入完成100%并提示离开Leaving...提示信息之后,点击右侧的重启设备按钮,重新启动开发板,就可以看到程序烧录成功了。

重启设备/开发板

固件烧录完成后,设备不会自动重启,需要动手重启设备,这里请点击网页上的 Reset Device 按钮(下图位置1)并再次确认 点击 Comfirm 按钮(下图位置2)确认重启开发板以启动运行刚才烧录的固件程序。

开发板固件程序正常运行

开发板/设备重启后,会在控制台加载小智AI终端固件程序的串口日志,输出日志中出现网卡地址和WIFI配网提示,表示程序烧录成功,如下图示。

[]  错误提示及异常

Q1:开发板连接不上?

开发板连接不上浏览器,弹出层选项为空,不能加载在网页上显示,考虑接口插错了,或者多个端口时选择错误,或者开发板COM串口被电脑上的其他软件占用。



[教程导航]