用 NodeMCU 打造语音控制设备
0
所需材料





以下是需要的材料,我都是从速卖通买的,你在哪买都行:
- NodeMcu V3 ESP8266(中国版 LoL1n v3)
- 带 8 个继电器的继电器模块(也可以用多个单独的继电器模块)
- 一部安卓智能手机
就这些,准备好就可以开始了。
硬件说明




如果你熟悉 Arduino(或 NodeMCU)和继电器,可以跳过这步。不熟悉的话,我简单说下它们的工作原理:
首先,NodeMCU 可以看作是带 WiFi 功能的微控制器,因为它搭载了 ESP8266 芯片。下一步我会讲如何用 Arduino IDE 操作它。
其次,继电器模块的作用是隔离 NodeMCU 的低直流控制信号和家用交流电路。每个继电器有 3 个输出引脚:平时 COM 引脚和 NC(常闭)引脚连通;当有控制信号时,继电器线圈动作,COM 引脚会切换到 NO(常开)引脚。
继电器模块上的光晶体管能保护 NodeMCU,避免继电器切换时交流电路的冲击。模块输入低电平(逻辑 LOW)时,对应的继电器会启动;高电平(逻辑 HIGH)时则关闭。注意要拔掉继电器板上 VCC 和 JDVCC 之间的跳线,分开电源。
软件准备







首先,我买的 NodeMCU 是国产的,用的是 CH341 USB 芯片,需要安装驱动(附件里有,下载解压后安装即可)。
接下来,要在 Arduino IDE 里配置 NodeMCU:
- 打开 Arduino IDE,依次点击 “工具”→“开发板”→“开发板管理器”,搜索 “esp8266 by ESP8266 Community” 并安装。
- 点击 “文件”→“首选项”,在 “附加开发板管理器网址” 里填入:http://arduino.esp8266.com/stable/package_esp8266com_index.json(去掉引号)。
- 再在 “工具”→“开发板” 里选择 “NodeMCU 1.0(ESP-12E Module)”。
在附件的 Arduino 文件里,修改对应的参数:把 SSID 改成你的 WiFi 名称,password 改成 WiFi 密码。你也可以根据需要修改 NodeMCU 的控制引脚,但之后要和应用对应上。
智能手机应用





我用 MIT App Inventor 做了安卓应用,你可以用谷歌账号免费注册使用。如果只想直接用,下载附件的压缩包,解压后安装 home3.apk 即可。
语音指令很简单,比如:
- “打开红色”/“关闭红色”
- “打开绿色”/“关闭绿色”
- “打开蓝色”/“关闭蓝色”
- “打开黄色”/“关闭黄色”
- “打开橙色”/“关闭橙色”
- “打开棕色”/“关闭棕色”
如果想改指令,登录 MIT App Inventor,导入我的 home3.aia 项目(“项目”→“导入项目”),切换到 “模块” 界面修改指令,然后点击 “构建”→“App(保存.apk)”,安装修改后的应用。
硬件连接







NodeMCU 工作电压是 3.3V,板载稳压器,可通过 USB 口供电(5V),或把 VIN 引脚接 6-20V 的电源。
继电器板要拔掉 VCC 和 JDVCC 的跳线(因为继电器需要 5V 左右供电,不能低于 3.3V,否则不工作)。
连接方式有两种:
- 用 5V 外接电源(至少 1.5A,才能同时带动 NodeMCU 和所有继电器):
- 电源接继电器板的 JD-VCC 和 GND;
- 电源接 NodeMCU 的 VIN 和 GND;
- NodeMCU 的输出引脚(D0、D1、D2、D5、D6、D7)接继电器板;
- NodeMCU 的 3.3V 接继电器板的 VCC(如果 3.3V 不够启动继电器,可用 NodeMCU 的 VIN 接继电器板 VCC,不过这样就没有电源隔离了,控制灯泡之类的设备没问题)。
- NodeMCU 通过充电宝的 USB 线供电,继电器板用外接电源:
- 用 NodeMCU 的 VIN 接继电器板的 VCC,代替 3.3V。
这样系统就接好了。
最后调试

在手机上打开刚安装的应用(我暂时叫它 “Home DL”,你之后可以用 MIT App Inventor 改名字)。
在 Arduino IDE 里打开程序,修改 WiFi 名称和密码,上传到 NodeMCU。打开串口监视器,等它显示本地 IP,记下来。
在手机应用里点击 “Set IP”,输入刚才记的 IP,点击 “保存”,重启应用。现在你可以点击按钮控制设备,或点扬声器图标语音指令了(祝你顺利!)。
0
0
0
qq空间
微博
复制链接
分享