红外遥控

IR Control, ESP8266, Node-RED, Arduino, IoT

LiuGN 发布于 2018-09-14

一个网络控制的红外控制系统,可以代替你的一堆遥控器~~~

如果无法播放,请点击页面底部的电影图标

这个项目采用反向工程的方法,对已存在的红外遥控器进行信号收集、复制和重现,达到使用DIY的红外发光二极管替换原本的遥控器。

驱动红外LED的是ESP8266,这个简单廉价的芯片系统可以实现多个遥控器的编码存储、选择和调制、发送;同时ESP8266支持Wi-Fi网络,所以可以做一个基于web的控制页面,实现通过电脑或者手机的浏览器控制家用电器~~

然而,ESP8266的web只能实现很简陋的,在不大幅增加开发工作量和硬件投入的前提下,我又加入了运行Node-RED服务的Raspberry Pi,由Pi提供一个漂亮现代的web用户界面,同时在ESP8266上增加MQTT的支持,通过MQTT协议通知ESP8266发送什么/哪一个信号。

结构示意图:

逻辑图

一个IoT遥控器就诞生了!~!~ 欢迎大家也试试!!!

依赖库

  • Arduino: IRremoteESP8266, PubSubClient
  • Node-RED: dashboard

把代码烧入ESP8266前,请查找源文件中的

const char* ssid = "";
const char* password = "";
const char* mqtt_server = "";
client.connect("ESP8266Client", "", "")

引号位置对应插入自己无线路由器SSID访问密码mqtt服务器地址mqtt消息订阅名mqtt订阅密码后,烧入ESP8266.