littlebot
Published on 2025-04-13 / 3 Visits
0

【源码】基于Arduino和ESP8266的433MHz设备远程控制系统

项目简介

本项目基于Arduino和ESP8266,实现了对433MHz频率的射频远程控制插座或继电器的控制。用户能通过Web界面直接控制设备,还可设置定时任务,让设备按设定时间规则执行开关操作。

项目的主要特性和功能

  1. 远程控制:可通过Web界面直接发送命令控制433MHz射频设备。
  2. 定时任务:支持设置多达10个定时事件,有单次触发(提前最多7天)、每日重复、每周单次触发(提前最多7天)和每周重复等模式。
  3. 兼容Arduino库:使用RCSwitch和RFControl库,便于控制与Arduino/esp8266 RCSwitch库兼容的设备。
  4. 自动清理:每33分钟运行清理函数,自动删除已执行的单次定时命令。
  5. 时间管理:基于Time和TimeAlarms库进行软件时间管理,设备重启可更新时间。

安装使用步骤

  1. 确保已下载本项目的源码文件。
  2. 修改代码:
    • 在NKNTP.h文件中设置本地时区。
    • 在“433 functions”部分,根据RCSwitch或RFControl库嗅探的数据,编辑或新增设备控制函数,将函数名添加到TCommandsFunctions数组,对应关键字添加到TCommandsFNames数组。
    • 修改ESP8266的本地网络IP、端口、433MHz发射器的GPIO引脚等信息。
  3. 使用Arduino IDE(版本1.6.5 - r5)将修改后的代码烧录到ESP8266开发板。
  4. 连接ESP8266到WiFi网络。
  5. 打开Web浏览器,访问ESP8266的IP地址。
  6. 在Web界面输入命令控制设备,或输入关键字ENTERTIMECOMMANDS进入定时任务设置界面,设置定时任务。
  7. 设置完成后,重启ESP8266,重启并重新连接后,可在Web界面底部查看保存的定时任务,也可进行删除操作。

注意事项

  • 刷新Web界面前,若重启了ESP8266,请等待片刻。
  • 若ESP8266无法获取NTP时间,定时任务功能将不可用。
  • 由于ESP8266没有RTC,时间管理存在一定误差,设备重启可更新时间。

下载地址

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