你是否想过,动动嘴就能控制家里的灯光?
今天,我们用ESP32+MicroPython,搭配逗脑IDE,打造一个超简单的语音控制灯项目,零基础也能轻松上手!
一、项目亮点:低成本+高可玩性
✅ 一句话控制:喊“开灯”“关灯”,ESP32秒响应!
✅ 物联网扩展:通过WiFi连接MQTT,手机远程也能控灯。
✅ 超低成本:ESP32开发板+麦克风模块,50元搞定!
✅ 逗脑IDE加持:无需配置环境,代码一键上传,新手友好!
二、硬件准备
硬件 | 说明 |
---|---|
ESP32开发板 | 推荐ESP32-WROOM(带WiFi/蓝牙) |
MEMS麦克风模块 | 如INMP441(或ESP32内置麦克风) |
LED/继电器模块 | 控制灯光(或直接驱动LED) |
面包板+杜邦线 | 用于电路连接 |
三、软件准备:逗脑IDE三步搞定
- 下载逗脑IDE
👉 访问IT项目网,下载专为ESP32优化的IDE。点击下载 - 烧录MicroPython固件
- 选择ESP32型号。
- 点击“烧录固件”,自动完成!
- 连接ESP32
- USB线连接电脑,选择正确COM端口,一键连接!
四、实战步骤:语音控制灯
1. 硬件接线(5分钟搞定)
ESP32引脚 | 外设 | 说明 |
---|---|---|
GPIO14 | 麦克风模块(CLK) | I2S时钟线 |
GPIO13 | 麦克风模块(DATA) | I2S数据线 |
GPIO12 | LED/继电器 | 控制灯光 |
3.3V & GND | 麦克风/LED | 供电 |
2. MicroPython代码(附详细注释)
import machine
import time
import network
# 初始化LED(GPIO12)
led = machine.Pin(12, machine.Pin.OUT)
led.off() # 默认关闭
# 模拟语音识别(简化版)
def voice_control(audio_data):
# 实际项目需用I2S读取麦克风数据,这里用阈值模拟
if max(audio_data) > 500: # 检测到“开灯”指令
return "开灯"
else:
return "关灯"
# 主循环
while True:
audio_data = [模拟音频数据] # 替换为实际I2S读取
command = voice_control(audio_data)
if command == "开灯":
led.on()
print("灯已打开!")
elif command == "关灯":
led.off()
print("灯已关闭!")
time.sleep(1) # 每秒检测一次
五、物联网扩展:手机远程控灯(MQTT)
想让灯光响应手机指令?只需添加MQTT代码:
from umqtt.simple import MQTTClient
# 配置MQTT
client = MQTTClient("esp32", "broker.emqx.io")
client.connect()
# 订阅指令
def callback(topic, msg):
if msg == b"on":
led.on()
elif msg == b"off":
led.off()
client.set_callback(callback)
client.subscribe("home/light")
# 在主循环中检查MQTT消息
while True:
client.check_msg()
time.sleep(0.1)
📱 手机控制:
- 打开IT项目网手机版MQTT客户端:https://www.itprojects.cn/services
- 发布主题
home/light
,内容on
/off
,灯光实时响应!
六、项目成果 & 扩展玩法
- 基础功能:语音控制本地灯光。
- 进阶玩法:
- 联动温湿度传感器,语音查询“室内温度”。
- 接入Home Assistant,打造智能家居中控。
- 训练自定义指令(如“播放音乐”)。
七、总结:零门槛玩转物联网
ESP32+语音控制只是开始!逗脑IDE和IT项目网还有更多智能家居、工业物联网实战项目等你探索!
#ESP32 #语音控制 #物联网 #逗脑IDE #IT项目网 #MicroPython