1. 项目概述
这个项目实现了一个基于ESP32的离线语音控制红外小夜灯系统。它不需要联网就能响应语音指令,通过红外传感器检测人体活动,结合语音控制实现智能照明。我在实际开发中发现,这种离线方案特别适合卧室、婴儿房等需要隐私保护的场景。
核心功能包括:
- 离线语音识别(支持中文指令)
- 红外人体检测
- 可调光LED控制
- 本地逻辑处理(无需云端)
相比市面上需要联网的智能灯具,这个方案完全在本地运行,响应更快(实测延迟<200ms),且不存在隐私泄露风险。ESP32的双核特性让我们可以并行处理语音识别和红外检测任务,这是传统单片机难以实现的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件选型与电路设计
2.1 主控芯片选择
选用ESP32-WROOM-32D模组,主要考虑:
- 双核240MHz主频,满足实时语音处理需求
- 内置WiFi/BLE(虽然本项目未使用,但为后续扩展留有余地)
- 充足的GPIO(本项目实际使用8个引脚)
- 低功耗模式(夜间可自动进入Light-sleep)
注意:市场上有些低价ESP32模组麦克风引脚噪声较大,建议选择正品乐鑫模组,实测语音识别准确率相差15%以上。
2.2 语音识别模块
采用LD3320离线语音识别芯片,其特点:
- 支持中文非特定人声识别
- 本地词条容量可达50条(本项目仅需"开灯"/"关灯"/"调亮"/"调暗"等10条指令)
- 3.3V供电,与ESP32电平兼容
接线示意图:
bash复制LD3320 ESP32
VCC → 3.3V
GND → GND
RST → GPIO4
SCK → GPIO18
MISO → GPIO19
MOSI → GPIO23
IRQ → GPIO5(需中断引脚)
2.3 红外传感与LED驱动
人体检测使用HC-SR501红外模块,关键参数:
- 检测距离3-7米(可调)
- 延时时间5-200秒(本项目设置为30秒)
- 工作电压4.5-20V(需单独5V供电)
LED驱动采用PWM调光方案:
- 使用ESP32的LEDC PWM控制器
- 通道0:GPIO12(控制LED亮度)
- 8位分辨率(256级调光)
- 5000Hz频率(避免可见闪烁)
