littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Arduino的WiFi继电器控制项目

项目简介

此项目是基于Arduino的Wi-Fi继电器控制项目,目的在于简化Wi-Fi继电器的部署,同时方便高级用户对功能进行扩展。项目采用MQTT协议进行通信,适用于众多智能家居项目。

项目的主要特性和功能

  1. Wi-Fi连接:继电器可通过Wi-Fi接入家庭或商业网络。
  2. MQTT通信:借助MQTT协议与服务器通信,实现设备的远程控制。
  3. 状态反馈:能通过MQTT主题获取继电器的当前状态。
  4. OTA更新:可通过HTTP更新固件,无需物理接触设备。

安装使用步骤

前提假设

  • 用户已下载并解压项目的源码文件。
  • 用户已在Arduino IDE中安装所需的库。

步骤

  1. 配置Arduino环境:打开项目中的.ino文件,在Arduino IDE里配置相应的COM端口和板卡设置。
  2. 修改常量:依据自身网络环境,修改WIFI_SSIDWIFI_PASSWORDMQTT_HOSTMQTT_LOGINMQTT_PASSWORD等常量,同时建议修改OTAUSEROTAPASSWORD
  3. 编译并烧录:将配置好的代码烧录到ESP芯片中。
  4. 配置MQTT客户端:配置MQTT客户端以连接服务器,并处理来自服务器的请求。
  5. 测试和使用:通过发送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更新)

  1. 发送消息到bootTopic进入固件更新模式。
  2. ipTopic获取设备的IP地址。
  3. 使用浏览器访问设备的HTTP固件更新页面(如:http://{ip}/firmware)进行固件更新。
  4. 输入默认的用户名和密码(默认为admin/admin),选择固件文件进行更新。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】