AtomS3R-CAM是一款非常小巧的物联网设备。其尺寸仅为24×24×24mm,但是其功能非常强大,主要用于AI视觉语音开发。设备由控制器与语音底座组成,两者用排针相互连接。控制器板载了摄像头、9轴IMU和IR发射等。语音底座板载了音频解码芯片,主要用于麦克风和扬声器。
一、硬件介绍
首先是设备的照片


主控芯片:ESP32-S3-PICO-1-N8R8
摄像头:0.3MP GC0308
九轴传感器:六轴姿态传感器(BMI270)+三轴地磁式传感器(BMM150)
音频编解码器:ES8311(24位分辨率,采用I2S协议)
MEMS麦克风:MSM381A3729H9BPC
扬声器:2014型腔体喇叭:1W@8Ω
红外IR:180°发射角,无遮挡最远12.46m
WiFi:2.4 GHz
二、官方资料
AtomS3R-CAM是M5Stack的一款产品,他们的产品针对不同的场景有很多不同种类的产品。其中大多数拿来都是可以直接使用的,不需要太多的折腾。产品也是非常美观和小巧的。AtomS3R-CAM的官方介绍链接为:AtomS3R-CAM AI Chatbot。
三、接入小智AI
AtomS3R-CAM出厂自带小智AI程序,上电后会语音提示要进行网络配置。配置方式是通过手机或电脑连接AtomS3R-CAM提供的WiFi热点。连接后会自动进入WiFi联网配置,需要注意的是AtomS3R-CAM只能连接2.4GHz网络,所以需要准备2.4GHz或修改路由器为2.4GHz的网络。连接好网络后可以通过串口查看其运行情况,大多数联网后会进行远程升级。升级过程会比较漫长,需要耐心的等待。在此过程中可以连接小智AI的后台来绑定设备。对应的网站链接是XiaoZhi AI - 小智AI。
进入后可以看到有DIY教程和源码GitHub链接以及控制台。

点击控制台可以通过该平台绑定烧有小智AI的AtomS3R-CAM设备,也可以设置角色音色、AI模型和对话内容等。需要注意的是使用该平台需要使用手机号注册。


四、使用固件烧录小智AI
1、使用官方M5Burner软件
该软件是M5Stack官方提供的软件,可以烧录M5Stack所有产品的程序。
特点是:
1、烧录方式简单,教程详细
2、适配性强,固件都是官方提供的,给我们的固件都是经过验证的,可以放心烧录
烧录方式是打开软件后先找到对应的产品系列和固件程序,点击Download下载,然后长按Reset按键后松开点击烧录。对应的固件如下

2、使用小智AI提供的烧录软件
小智AI提供了市面上常见的支持小智AI的乐鑫产品对应的固件。
特点:扩展性相对强一点,可以烧录多个程序
烧录方式教程链接:Flash工具/Web端烧录固件(无IDF开发环境) - 飞书云文档。
固件下载链接:v2.2.4 小智AI终端最新版本固件及源码下载 - 飞书云文档。
找到AtomS3R-CAM对应的固件,需要注意的是一定要看清楚对应的固件名称,如果烧写错误的话,程序是无法正常运行的。M5Stack的产品命名非常相近,需要一个字符都不能错。对应的固件如下

烧录程序和固件下载好之后需要放到没有中文的路径文件夹下,固件不能放到烧录程序文件夹下的bin文件夹中。点击flash_download_tool_3.9.7软件后会弹出烧录芯片选择和烧录方式配置界面,可以按照如下配置选择

配置好之后进入到烧录界面,选择好固件文件和串口就可以点击START下载

3、使用小智AI源码烧录
小智AI开源了其代码,开发者可以在其基础上进行二次开发。其开发教程也是相对来说比较详细的。对应的教程链接为:Windows搭建 ESP IDF 5.5.4开发环境以及编译小智 - 飞书云文档。需要注意的是一定要按照教程指明的ESP-IDF版本进行编译,否则会很容易出现错误。
首先是安装对应的ESP-IDF版本,软件包对应的链接为:ESP-IDF Installation Manager Downloads。
其次是下载小智AI源码,对应的链接为:78/xiaozhi-esp32: An MCP-based chatbot | 一个基于MCP的聊天机器人。
下载好之后建议使用IDF_Powershell进行配置和编译。打开对应版本的IDF_Powershell,使用cd指令进入到小智AI源码的文件夹中,根目录下就可以。
然后使用指令idf.py set-target esp32s3设置芯片类型。AtomS3R-CAM使用的就是ESP32-S3设置好之后会在根目录下添加managed_components文件夹,并下载一些依赖源码。设置成功界面如下

然后是使用指令idf.py menuconfig对工程文件进行配置。首先是设置板卡型号,按照如下图的配置Xiaozhi Assistant下的Board Type下的选项

然后是设置分区文件,需要注意的是AtomS3R-CAM的内存大小是8MB,所以需要使用8MB的分区文件,在Partition下修改CSV文件名为8MB的即可。只需修改默认的16MB中的数字16为8即可。

其次是设置Flash大小,AtomS3R-CAM的Flash大小为8MB。需要在Serial flasher config下设置Flash size选项为8MB。

然后是进行编译,使用指令idf.py build就可以进行编译。编译成功的界面如下

到这里就可以使用指令idf.py -p COMX flash烧录程序了,其中的X表示对应的串口号,需要根据各自的实际情况进行修改。当出现如下界面就说明烧录成功了。重启设备就和直接烧写固件的效果一样。

五、遇到的问题
1、在设置好芯片类型后执行idf.py menuconfig指令一直调用不出来,提示依赖包缺失。
这是因为下载源码时没有下载对应的依赖包,对应的依赖包是在managed_components文件夹内,在设置芯片时会自动下载的。如果对应的文件夹内没有文件的话说明下载失败。
2、烧录芯片成功后通过串口查看芯片运行情况显示一直卡在I2C设置,并不断重启
导致这个问题出现的原因是板卡类型选错了,一定要选择M5Stack AtomS3R CAM/M12 + Echo Base。
六、相关文件
涉及所有的文件都放在链接当中了。其中源码是配置好了的,可以直接编译的。
通过网盘分享的文件:ESP32(乐鑫)
链接: https://pan.baidu.com/s/146wHmwOthqy9du7HLOquhw?pwd=hin2 提取码: hin2
我要赚赏金
