使用 NodeMCU 和 Tasmota 控制 LED 灯珠模块

2024-12-19#NodeMCU#Tasmota#ESP8266#IoT

ESP8266 和 ESP32 是由乐鑫科技推出的包含 Wifi 模块的物联网芯片。NodeMCU 是针对 ESP8266 和 ESP32 模组设计的核心开发版。Tasmota 是一个为 ESP 设备设计和开发的固件。基于 NodeMCU 开发版和 Tasmota 固件,再加上传感器模块、外设等,可以快速地构建物联网应用。本文介绍一个通过 Tasmota 控制 GPIO 输出,以控制 LED 灯珠开关的小制作。

硬件准备 🔗

  1. ESP8266 NodeMCU 开发版。目前网上的售价在 10 元到 15 元之间。
  2. LED 灯珠模块。我买到的 LED 模块是一个 5V 直流的 3W 灯珠模块,包括3个引脚:正极(+)、负极(G)和控制信号端口(S)。价格在 2元左右。见下图。
  3. 若干杜邦线。如有需要,可使用面包版辅助固定 LED 灯珠模块。
  4. USB 数据线。用于连接电脑和 NodeMCU 开发版。

ESP8266-NodeMCU 开发版引脚排列图如下所示:

ESP8266-NodeMCU-Pinout

LED 灯珠模块如下所示: led-module

搭建过程 🔗

将 Tasmota 刷入 NodeMCU 开发版 🔗

刷入固件最简单的方式是使用 Tasmota 官网的 Web Installer。使用 USB 数据线连接好电脑和 NodeMCU 模块,然后打开 Web Installer 按提示刷写固件即可(有可能还需要安装串口驱动)。然后通过浏览器打开 Tasmota 的 WebUI,确保刷写成功。

接线 🔗

刷写固件成功后,拔下 USB 数据线,接下来连接 NodeMCU 开发版和 LED 灯珠模块:

  1. 由于 LED 灯珠模块模块是 5V 供电,那么使用杜邦线将 LED 灯珠模块的正极(+)与开发版的 VIN 引脚连接;将负极(G)与任意一个 GND 引脚连接。
  2. 选择 NodeMCU 上的一个针脚与LED 灯珠模块的控制信号引脚(S)连接。我选择的是 D5D5 对应的是 GPIO14,但无需记忆,因为 Tasmota 的模块设置里标注了 D5 即为 GPIO14

设置 Tasmota 模块 🔗

在 Tasmota 的 WebUI,打开 “设置” - “模块设置”,可将模块设置为 Generic(18),然后将 D5 GPIO14 设置为 Relay,即继电器。右边数字不变,保持为 1。最终配置如下图所示:

tasmota-rely

点击“保存”,设备会在几秒后重启。重启之后,就会在 Tasmota 的首页看到大大的 OFF 字样以及 开/关 按钮。

控制开关 🔗

在 WebUI 控制 🔗

在 Tasmota 页面,点击开/关按钮,即可控制 LED 灯珠模块的亮与不亮。另外,Tasmota 的 WebUI 是自适应的,从手机浏览器访问时,体验不错。如此这样,就可以用手机远程控制了。

tasmota-rely

使用命令控制 🔗

除了在 WebUI 中点击按钮之外,还可以通过“命令”控制继电器。

Tasmota 官网里的《Commands》页面详细介绍了命令的使用。但是,作为一个新手,阅读这样的详尽文档还是很吃力的。幸运的是,“豆包”对 Tasmota 也有了解,结合“豆包”的回复和官网,可以知道通过 Power<x> 命令控制继电器。比如:

  • Power1:打印第一个电源输出(也就是继电器)的状态。
  • Power1 1:打开第一个电源输出。
  • Power1 0:关闭第一个电源输出。
  • Power1 toggle:反转第一个电源输出。
  • Power1 blink:将电源输出反转若干次,也就是删除若干次。次数由 BlinkCount 决定,每次时长由 BlinkTime 决定。

在 WebUI 打开“控制台”,输入以上命令即可进行测试。除此之外,还可通过 Web请求、MQTT 和串口进行控制,详见文档《How to use commands》。比如,通过如下 HTTP Get 请求发送命令,反转第一个电源输出:

$ curl "http://x.x.x.x/cm?cmnd=Power1%20TOGGLE"
{"POWER":"ON"}

$ curl "http://x.x.x.x/cm?cmnd=Power1%20TOGGLE"
{"POWER":"OFF"}

功耗测量 🔗

使用 USB 电压电流测试仪和数显电力检测仪测量功耗,结果如下:

仪器灯亮时灯灭时
USB 电压电流测试仪电压为 4.96V,电流约为 0.10~0.23A电压为 4.99V,电流为 0.02~0.08A
数显电力检测仪功率约为 1.3~1.6W功率约为 0.4~0.7W

加载中...