零知IDE——基于零知ESP32S3部署AI 小智,轻量化智能交互终端

✔零知开源(零知IDE)是一个专为电子初学者/电子兴趣爱好者设计的开源软硬件平台,在硬件上提供超高性价比STM32系列开发板、物联网控制板。取消了Bootloader程序烧录,让开发重心从 "配置环境" 转移到 "创意实现",极大降低了技术门槛。零知IDE编程软件,内置上千个覆盖多场景的示例代码,支持项目源码一键下载,项目文章在线浏览。零知开源(零知IDE)平台通过软硬件协同创新,让你的创意快速转化为实物,来动手试试吧!

✔访问零知实验室,获取更多实战项目和教程资源吧!

www.lingzhilab.com

项目概述

项目基于零知ESP32-S3主控,搭配ST7789驱动的LCD屏、"小智"扩展底板以及扬声器,实现语音控制"小智"唤醒、对话,提供从音频采集到云端交互到音频播放的全链路解决方案,同时提供丰富的状态监控和交互事件反馈。

一、系统接线部分

硬件清单

组件名称 型号规格 数量 备注
主控板 零知ESP32-S3 1 主控制器
底板 小智扩展底板 1 零知ESP32-S3扩展板
扬声器 腔体喇叭扬声器3.2W 1 音频输出
LCD显示屏 2.0寸SPI ST7789 1 数据显示

接线方案表

根据代码中的引脚定义,硬件接线方案如下:

组件名称 连接模块 连接方式 功能说明
零知ESP32-S3主控板 小智扩展底板 直插 扩展板套件,需要注意方向
扩展板8P排母 LCD 直插 对应LCD引脚,需要注意方向
扩展板2.0插座 喇叭 直插 插座有方向

散件图

请注意:主板安装有方向,看清楚丝印再安装,确认无误再通电;

实物拼装图

二、安装与使用

打开零知IDE,点击开源平台

搜索"小智",点击"代码下载"

配网以及绑定设备

首次烧录需要配网以及绑定设备,这里我们搜索微信账号"安信可科技",点击"微信配网",注意连接的WIFI频段要2.4G的,暂不支持5G频段


配置完成后,屏幕和串口都会显示和输出"验证码"

输入小智官网网址

"https://xiaozhi.me/"点击跳转

绑定后可给你的"小智"配置角色;

更多内容可下划探索

绑定完成后,按下开发板上的"RST"键

三、代码讲解部分

屏幕配置

cpp 复制代码
// LCD屏幕硬件引脚配置逻辑
constexpr gpio_num_t kDisplayBacklightPin = GPIO_NUM_42; //BL
constexpr gpio_num_t kDisplayCsPin = GPIO_NUM_41;        ///CS
constexpr gpio_num_t kDisplayDcPin = GPIO_NUM_40;        //DC
constexpr gpio_num_t kDisplayRstPin = GPIO_NUM_45;      //RST
constexpr gpio_num_t kDisplayMosiPin = GPIO_NUM_47;      //SDA
constexpr gpio_num_t kDisplayClkPin = GPIO_NUM_21;        //SCL

//这里的引脚配置刚好跟扩展板的引脚对应上,如果不用扩展板的可自行修改

//显示屏参数的编译期常量配置
constexpr auto kDisplaySpiMode = 0;
constexpr uint32_t kDisplayWidth = 240;
constexpr uint32_t kDisplayHeight = 320;
constexpr bool kDisplayMirrorX = false;
constexpr bool kDisplayMirrorY = false;
constexpr bool kDisplayInvertColor = true;
constexpr bool kDisplaySwapXY = false;
constexpr auto kDisplayRgbElementOrder = LCD_RGB_ELEMENT_ORDER_RGB;

//kDisplayWidth 和 kDisplayHeight 是屏幕的分辨率,如果用其他分辨率(注意驱动ST7789必须一致),在对应位置修改即可

麦克风和扬声器配置

cpp 复制代码
// 麦克风硬件引脚配置逻辑
#if AUDIO_INPUT_DEVICE_TYPE == AUDIO_INPUT_DEVICE_TYPE_I2S_STD //标准 I2S 通讯协议
constexpr gpio_num_t kMicPinWs = GPIO_NUM_4;   // WS/WR/WCLK
constexpr gpio_num_t kMicPinSck = GPIO_NUM_5;  // SCK/BCK/BCLK
constexpr gpio_num_t kMicPinSd = GPIO_NUM_6;   // SD/DIN/DOUT/DI/DO/DATA
#elif AUDIO_INPUT_DEVICE_TYPE == AUDIO_INPUT_DEVICE_TYPE_PDM  //PDM通讯协议
constexpr gpio_num_t kMicPinSck = GPIO_NUM_15;  // SCK/BCK/BCLK
constexpr gpio_num_t kMicPinSd = GPIO_NUM_7;    // SD/DIN/DOUT/DI/DO/DATA
#endif

// 扬声器硬件引脚配置逻辑
constexpr gpio_num_t kSpeakerPinSck = GPIO_NUM_15;  // SCK/BCK/BCLK
constexpr gpio_num_t kSpeakerPinWs = GPIO_NUM_16;  // WS/WR/WCLK
constexpr gpio_num_t kSpeakerPinSd = GPIO_NUM_7;  // SD/DIN/DOUT/DI/DO/DATA

//以上配置均对应扩展板上的接线逻辑,不使用扩展板可以自行修改


//LED硬件引脚配置逻辑 IO2,可自行修改 
constexpr gpio_num_t kLedPin = GPIO_NUM_2;

四、项目结果演示

视频演示

零知ESP32S3,轻量化智能交互终端"小智"

五、常见问题解答(Q&A)

Q1:WiFi连接不上怎么办**?**

A: 确保自己的手机连接上2.4G 频段的WiFi,暂不支持5G 频段的WiFi;开启手机定位服务:对于Android手机,通常需要开启GPS或定位服务,以便App能够获取当前连接的Wi-Fi SSID信息

Q2:是否支持热点配网**?**

A: 支持Android手机 提供热点,另一部Android手机连接配网,当语音播报"网络已连接"说明配网成功,目前最稳定的方式还是WiFi配网

Q3:怎么重新配网?

A: 按下*****"RST"***** 重启后,在网络连接成功前,按下***"Boot"*** 键,可重新进入配网模式

Q4:唤醒词没反应,怎么判断哪里的问题

A: 打开串口调试,按*****"RST"***** 重启之后能输出*****"MC Quantized wakenet9: wakenet9l_tts1h8_你好小智_3_0.631_0.635, tigger:v4, mode:0, p:0, (Nov 11 2025 10:37:06)"***** 等内容则说明语音模型加载成功;按***"Boot"*** 键可以强制转换成***"聆听"*** 状态,若语音识别不出来,查看麦克风引脚定义是否正确,若还是不行,可联系我们帮忙分析;

项目资源整合

系统完整代码:

小智AI-零知ESP32S3.zip

相关推荐
Chase_______2 小时前
AI 提效指南:快速生成中文海报
人工智能
CHrisFC2 小时前
汽车零配件检测实验室LIMS系统应用实践
大数据·人工智能·汽车
智航GIS2 小时前
ArcGIS大师之路500技---037普通克里金VS泛克里金
人工智能·算法·arcgis
春天的菠菜2 小时前
【LangChain第3章】LangChain使用之Chains
人工智能·langchain
CES_Asia2 小时前
立即行动,锁定2026增长引擎:报名CES Asia机器人展,同步押注“具身智能”与亚洲市场
大数据·人工智能·百度·机器人
一个想打拳的程序员2 小时前
无需复杂配置!用%20docker-webtop%20打造跨设备通用%20Linux%20桌面,加载cpolar远程访问就这么简单
java·人工智能·docker·容器
鹿鸣天涯2 小时前
中科曙光scaleX国产万卡级AI集群系统
人工智能·搜索引擎
JoannaJuanCV2 小时前
自动驾驶—CARLA仿真(20)manual_control demo
人工智能·机器学习·自动驾驶·carla
最晚的py2 小时前
聚类的评估方法
人工智能·算法·机器学习