ESP32_ai小智
本文介绍了基于ESP32-S3开发板构建智能语音助手"小智"的硬件配置与实现过程。主要硬件包括ESP32-S3开发板、OLED显示屏、麦克风模块和数字功放等组件,详细说明了各模块的连接方式。软件方面通过修改SDK配置文件和GPIO定义完成系统设置,并提供了完整的WiFi配网流程和设备注册方法。项目实现了语音交互功能,包含音量调节按键和唤醒功能设计,支持通过手机端进行设备管理和智
前言
前段很火的小智,周末很空也跑下
1:配件(激光测距的不需要的,买来它用的)
MCU:ESP32-S3-DevKitC-1开发板版本1(乐鑫标准版 44 IO引脚)
OLED:0.96 支持 SSD1306 (12864) I2C 4引脚
微动轻触开关 66*5mm 5mm好插入面包板 最小2个,主要是 调节音量用的 音量好像默认是70%还是80% ,按下± 10% 最好是3个,加个 GPIO47/GPIO0 唤醒功能
2块面包板 及 杜邦线 若干
XH2.54 接线公母头, 接喇叭时用到
2:接线参考
https://ccnphfhqs21z.feishu.cn/wiki/EH6wwrgvNiU7aykr7HgclP09nCh
这里 麦克风 INMP441(I2S接口) GND 接地 短接 L/R 左/右声道
数字功放 MAX98357A GND 接地 短接 GAIN 增益和频道
这里的配置 修改的是 sdkconfig 可以手动取修改
EG:OLED TYPE 修改
用到的GPIO ,波特率等 定义 在boards/板子型号/config.h 里 ,可以自行修改
eg:boards/bread-compact-wifi/config.h
再进入编译,烧录
3:用手机搜索连接名称“Xiaozhi-****”的WIFI
连接192.168.4.1地址进行WIFI配置 选择2.4的 不要选择5 或6的 当前MCU 只支持2.4G 的
输入WIFI SSID 与 密码, 如果没有自动重启,按下RST键重启
如需重新配网,可以按下RST键重新启动小智,并立即按下ROOT键,小智将重新进入配网状态
4:第一次进入需进行设备注册(需要手机号注册账号),如使用小智线上服务,可访问:https://xiaozhi.me,选择智能体——>新建智能体——>输入智能体名称——>添加设备——>输入验证码。
验证码 会显示再OLED屏上,小智大概一分钟 左右会自动报一次,没屏幕记好就行
默认提示词 你好,小智
大概一两分钟没对话,自动关闭了,注意点,RST重启下,喊小智唤不醒
可以手动修改下 增加一个按键 休眠时唤醒 touch_button_ 接GPIO47 或 boot_button_ GPIO0 可以用RST替代,可以不接按钮
//相当于重启器
boot_button_.OnClick([this]() {
auto& app = Application::GetInstance();
if (app.GetDeviceState() == kDeviceStateStarting && !WifiStation::GetInstance().IsConnected()) {
ResetWifiConfiguration();
}
app.ToggleChatState();
});
//按下说话开始, GPIO47
touch_button_.OnPressDown([this]() {
Application::GetInstance().StartListening();
});
//防守 说话结束 GPIO47
touch_button_.OnPressUp([this]() {
Application::GetInstance().StopListening();
});
5:测试结果 如果对你又帮助,麻烦点个赞,加个关注
前人栽树,后人乘凉,完全没难度,
更多推荐
所有评论(0)