🎙️ ESP32 智能音箱
语音控制家电
⭐ 30 节 · 实战闯关
1
项目全景与硬件准备
🔧 入门
了解智能音箱项目架构,认识ESP32开发板,准备麦克风模块(INMP441)与喇叭模块(MAX98357),搭建开发环境(Arduino IDE + ESP32板支持包)。
前往 01 章节
2
Arduino IDE环境搭建
💻 配置
安装Arduino IDE 2.x,配置ESP32开发板管理器,安装必要的库(WebServer、WiFi、ArduinoJson),验证Blink示例程序。
前往 02 章节
3
ESP32基础外设控制
💡 GPIO
GPIO数字输出控制LED,模拟输入读取电位器,PWM输出控制LED亮度,使用millis()实现非阻塞延时。
前往 03 章节
4
WiFi连接与网络基础
📶 联网
ESP32连接WiFi热点,扫描可用WiFi网络,处理WiFi连接状态机,实现自动重连机制。
前往 04 章节
5
HTTP服务器搭建
🌐 API
创建ESP32 WebServer,处理GET/POST请求,构建RESTful API接口,返回JSON格式数据。
前往 05 章节
6
WebSocket实时通信
⚡ 双向
安装WebSocket库,建立双向通信通道,实现服务器推送数据,处理客户端连接与断开。
前往 06 章节
7
JSON数据解析与封装
📦 序列化
使用ArduinoJson库解析JSON字符串,构建嵌套JSON对象,处理数组与对象,内存管理技巧。
前往 07 章节
8
I2S音频基础
🎵 数字音频
理解I2S协议,配置ESP32 I2S外设,设置采样率与位深,实现音频数据流读取。
前往 08 章节
9
麦克风驱动(INMP441)
🎤 采集
连接INMP441麦克风模块,配置I2S参数,读取原始PCM音频数据,验证音频数据有效性。
前往 09 章节
10
音频数据预处理
🔉 滤波
实现音频数据归一化,去除直流偏置,应用简单低通滤波器,计算音频能量值。
前往 10 章节
11
语音活动检测(VAD)
🗣️ 检测
实现基于能量的VAD算法,设置静音阈值,检测语音开始与结束,提取有效语音片段。
前往 11 章节
12
离线语音识别引擎
🧠 离线
了解离线语音识别原理,使用ESP32-SR库,训练自定义唤醒词,实现关键词识别。
前往 12 章节
13
百度语音识别API对接
☁️ 云端
注册百度AI开放平台,获取API Key与Secret Key,实现HTTP请求发送音频数据,解析识别结果。
前往 13 章节
14
语音合成(TTS)实现
🔊 发声
使用百度TTS API,将文本转为语音数据,通过I2S播放音频,实现音箱说话功能。
前往 14 章节
15
喇叭驱动(MAX98357)
📢 功放
连接MAX98357功放模块,配置I2S输出,设置音量控制,播放WAV音频文件。
前往 15 章节
16
智能音箱状态机设计
⚙️ 状态
设计音箱状态(待机、唤醒、聆听、处理、播放),实现状态转换逻辑,管理超时与异常。
前往 16 章节
17
MQTT协议基础
📨 发布/订阅
理解MQTT发布/订阅模型,安装PubSubClient库,连接MQTT Broker,实现消息收发。
前往 17 章节
18
MQTT控制家电
🏠 远程
定义家电控制主题,发布开关指令,订阅设备状态反馈,实现远程控制。
前往 18 章节
19
继电器模块控制
🔌 强电
连接继电器模块,控制220V家电(灯、风扇),实现安全隔离,添加手动控制按钮。
前往 19 章节
20
红外遥控家电
📡 红外
了解红外协议(NEC),使用红外发射管,学习红外编码,控制空调/电视等红外设备。
前往 20 章节
21
智能灯控制
💡 调光
使用PWM控制LED灯带,实现调光调色,定义亮度/色温指令,保存用户偏好设置。
前往 21 章节
22
传感器数据采集
🌡️ 环境
连接DHT22温湿度传感器,读取环境数据,通过MQTT上报,触发自动化规则。
前往 22 章节
23
语音控制指令解析
🎯 匹配
定义指令集(开灯、关灯、调温度),实现关键词匹配,提取参数(亮度值、温度值)。
前往 23 章节
24
自然语言理解(NLU)简化
🧩 同义词
实现基于规则的NLU,处理同义词(打开/开启/启动),处理模糊指令(亮一点/暗一点)。
前往 24 章节
25
多轮对话管理
💬 上下文
实现上下文管理,处理需要确认的指令,实现参数追问(你要把灯调到多亮?),超时取消。
前往 25 章节
26
本地自动化场景
🏡 场景
定义场景(离家模式、回家模式、睡眠模式),一键执行多个动作,支持定时触发。
前往 26 章节
27
OTA远程升级
🔄 无线
实现ESP32 OTA功能,通过WiFi上传固件,处理升级失败回滚,添加版本检查。
前往 27 章节
28
Web管理界面
🖥️ 面板
构建响应式Web页面,显示设备状态,配置WiFi/MQTT参数,测试语音功能。
前往 28 章节
29
低功耗优化
🔋 省电
实现深度睡眠模式,使用定时唤醒,优化WiFi连接策略,延长电池续航。
前往 29 章节
30
项目整合与调试
🚀 部署
整合所有模块,调试语音识别准确率,优化响应延迟,添加日志输出,部署到实际环境。
前往 30 章节