项目简介
此项目是基于Arduino的Wi-Fi继电器控制项目,目的在于简化Wi-Fi继电器的部署,同时方便高级用户对功能进行扩展。项目采用MQTT协议进行通信,适用于众多智能家居项目。
项目的主要特性和功能
- Wi-Fi连接:继电器可通过Wi-Fi接入家庭或商业网络。
- MQTT通信:借助MQTT协议与服务器通信,实现设备的远程控制。
- 状态反馈:能通过MQTT主题获取继电器的当前状态。
- OTA更新:可通过HTTP更新固件,无需物理接触设备。
安装使用步骤
前提假设
- 用户已下载并解压项目的源码文件。
- 用户已在Arduino IDE中安装所需的库。
步骤
- 配置Arduino环境:打开项目中的
.ino
文件,在Arduino IDE里配置相应的COM端口和板卡设置。 - 修改常量:依据自身网络环境,修改
WIFI_SSID
、WIFI_PASSWORD
、MQTT_HOST
、MQTT_LOGIN
和MQTT_PASSWORD
等常量,同时建议修改OTAUSER
和OTAPASSWORD
。 - 编译并烧录:将配置好的代码烧录到ESP芯片中。
- 配置MQTT客户端:配置MQTT客户端以连接服务器,并处理来自服务器的请求。
- 测试和使用:通过发送MQTT消息控制继电器的状态,通过状态主题获取其当前状态,还能通过HTTP进行固件更新。
Home Assistant模板配置示例
yaml
light:
- platform: mqtt
name: "Light 1"
command_topic: "dvor/light1/state/set"
state_topic: "dvor/light1/state"
payload_on: "1"
payload_off: "0"
qos: 1
MQTT主题说明
ipTopic
:设备启动后返回IP地址。bootTopic
:用于固件更新的HTTP请求。setStateTopic
:用于设置继电器的状态(开/关)。stateTopic
:用于查询继电器的当前状态。
固件更新流程(OTA更新)
- 发送消息到
bootTopic
进入固件更新模式。 - 从
ipTopic
获取设备的IP地址。 - 使用浏览器访问设备的HTTP固件更新页面(如:
http://{ip}/firmware
)进行固件更新。 - 输入默认的用户名和密码(默认为
admin/admin
),选择固件文件进行更新。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】