零知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

相关推荐
那个村的李富贵20 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者1 天前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR1 天前
每周AI论文速递(260202-260206)
人工智能
hopsky1 天前
大模型生成PPT的技术原理
人工智能
禁默1 天前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切1 天前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒1 天前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站1 天前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵1 天前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰1 天前
[python]-AI大模型
开发语言·人工智能·python