亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Wi-Fi 红外复制器:远程控制家电设备

元器件与物料清单

Wi-Fi 红外复制器:远程控制家电设备
Particle Photon
× 1
Adafruit 红外接收二极管
× 1
Adafruit 红外 LED - 950nm
× 1
Wi-Fi 红外复制器:远程控制家电设备
Arduino UNO
× 1
Wi-Fi 红外复制器:远程控制家电设备
Teensy 3.1
× 1
Wi-Fi 红外复制器:远程控制家电设备
Microchip ATmega328
× 1
Wi-Fi 红外复制器:远程控制家电设备
Microchip ATtiny85
× 1
Wi-Fi 红外复制器:远程控制家电设备
Espressif ESP8266 ESP-01
× 1
Wi-Fi 红外复制器:远程控制家电设备
Bluz DK
× 1
Wi-Fi 红外复制器:远程控制家电设备
RedBear Duo
× 1

应用与在线服务

porter

项目详解

不久前,我着手解码红外空调遥控器,旨在通过 Wi-Fi 实现空调远程控制。过程中学到大量知识,特分享给大家(也是留给未来的自己)。本项目使用 Particle Photon,但因采用 Ken Shirriff 的 IRremote Arduino 库,支持众多其他 MCU,您可自行选择。库官方页面见此,含大量红外信号工作原理的深度解析,建议细读。下文复现关键要点。

红外编码基础知识

以下为原作者帖子转录:

红外遥控器通过特定模式开关 LED 发射信号。为防阳光、灯光等红外源干扰,LED 并非持续发光,而是以调制频率(通常 36、38 或 40 kHz)快速开关。调制信号发射期称为“标记”,LED 熄灭期称为“空间”。

遥控器每个按键对应特定编码(通常 12-32 位),按下时广播该编码。长按时通常重复广播;NEC 协议长按发送特殊重复码而非重复原码;Philips RC5/RC6 协议则在码中翻转一位,接收端以此判断二次按下。

接收端红外探测器解调信号,输出逻辑电平指示是否接收到信号。探测器频率与发射端匹配时效果最佳,但实际中频率微差影响不大。

准备好进入下一步了……

搭建红外接收电路

解码红外信号需要红外接收二极管:

Wi-Fi 红外复制器:远程控制家电设备

按库说明搭建接收电路:

Wi-Fi 红外复制器:远程控制家电设备

引脚定义:

Wi-Fi 红外复制器:远程控制家电设备

我的面包板实物图:

Wi-Fi 红外复制器:远程控制家电设备

现阶段只需连接接收二极管(黑色),暂忽略发射管(透明),稍后处理。

解码红外信号

项目通过串口输出接收码,需将设备连接电脑。用 USB 线给 Photon 供电并连接电脑 USB 口。现在刷入附件固件。

打开控制台/终端,用 Particle CLI 监控 USB 口。Ubuntu Linux 下监控 Photon 串口命令:

$ sudo chmod 666 /dev/ttyACM0
$ particle serial monitor

不同电脑/系统端口名可能不同,chmod 可能不需要。也可用其他软件接收 USB 串口数据。

将待解码遥控器对准接收二极管(黑色 LED 状元件)按键,观察控制台输出。正常会得到类似输出:

1FEA05F 29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550,END
3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,END

首个解码红外指令分析

关注第二行脉冲序列:

29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550,END

首值 29168950 为“首个标记前的空隙时长”,库文档说明此为测试间隔或按键耗时,可丢弃。真正构成红外指令的是后续脉冲宽度(微秒)。

若要发送该指令,代码示例:

function sendIt() {
  unsigned int ircommand[59]={8550,4000,550,1500,550,450,550,500,500,550,500,1550,500,500,500,500,550,500,500,500,550,500,500,500,550,500,500,1500,550,500,500,500,550,500,500,500,550,450,550,1500,550,1500,550,500,500,1500,550,500,550,1500,500,500,550,500,500,500,550,450,550};
  irsend.sendRaw(ircommand,59,38);
}

发送前需搭建发射电路,下文详述。

搭建红外发射电路

最简电路如下:

Wi-Fi 红外复制器:远程控制家电设备

该电路射程不足 1 米。若条件允许,建议搭建下述增强版电路(射程约 10 米):

Wi-Fi 红外复制器:远程控制家电设备

我的发射端实物图:

Wi-Fi 红外复制器:远程控制家电设备

测试红外发射电路

固件内置两个控制三星电视音量的函数,供测试发射电路是否工作。将发射 LED 对准电视,调用 sendSamsungVolumeUp() 和 sendSamsungVolumeDown()。

提示:手机摄像头可查看红外 LED 是否发光(红外在手机屏幕可见)。

Wi-Fi 红外复制器:远程控制家电设备

让红外指令更易读

将 ~500µs 编为 0、~1500µs 编为 1、>5000µs 编为 3、~4000µs 编为 2(人为约定),上述指令转为:

3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,END

编码含义:

为何数字化编码?便于可视化对比不同指令间脉冲的变化与不变模式。例如对比空调遥控器设定 18℃ 与 19℃ 的指令差异,0/1 序列一目了然。固件存储也采用此格式,发射前调用 convertToPulseDuration() 还原脉冲宽度。

参考阅读资源

结语

只要投入精力,配备一款 MCU 与少量元件,即可解码并复刻家中大多数遥控器。虽有局限,但已能实现从手机、平板、笔记本、电脑控制这些设备,甚至创建简单自动化。酷不酷?

Wi-Fi 红外复制器:远程控制家电设备

接下来可考虑接入 Blynk、用 Ionic Framework 开发 App、对接 Google Assistant 或 Alexa、或通过 Porter 控制。

我计划将此知识应用于家中几台设备控制,并争取产出更多实战笔记。持续关注!

2018 年 2 月 5 日更新:

这是一个项目实现案例:通过互联网控制红外壁炉。

需要帮助?

若项目需专业协助,欢迎邮件联系:gusgonnet@gmail.com。谢谢!

代码

infraredReplicator

源代码:https://github.com/gusgonnet/infraredReplicator

原理图

Wi-Fi 红外复制器:远程控制家电设备

制造工艺

  1. 用 Leap Motion 控制的激光坦克——Arduino、树莓派、RGB LED
  2. UnifiedWater v1 — 基于 Arduino MKR GSM 1400 的完整水质监测套件
  3. 树莓派 + Arduino 联手打造 Wi-Fi 网络收音机,畅听全球电台
  4. 便携式 GSM 投票箱:基于 Hologram + IFTTT 实现云端数据采集
  5. DIY 打地鼠街机游戏(按键版)——Arduino Mega 2560 实现
  6. 博思工况监测系统让货运列车化身智能IoT资产
  7. 工业4.0与物联网时代的智能压缩空气系统:互联互通重塑制造新范式
  8. 第7期:物联网与工业4.0——智能互联压缩机深度解析
  9. 物联网与 5G:驱动联网汽车未来
  10. 保障智能家居安全:为何生物识别对 IoT 网络安全至关重要
  11. 物联网:编织互联世界
  12. 革新教育:利用物联网增强学习与教学