(本篇内容为配套的同名视频的脚本图片内容)--西红柿武士

遥控器大家一定不陌生,谁家没有个下四五个,电视,空调,智能设备都配有遥控器,而且大部分是红外遥控器。今天的小实验就来教大家如何破解红外遥控器的密码,同时改造成一个物联的遥控器,让他具备多种定制的功能。

遥控锁配遥控器的方法(如何解码你的遥控器)(1)

解码MP3遥控器,定制为物联开关

这是改造后的MP3遥控器,为了方便演示我还连接了一个0.9英寸的OLED屏,用来显示按下对应的键和键的内置密码。用16进制来表示。我在程序中设置了 号键为启动键,打开小风扇,-号键为关闭键。如果需要设置更复杂的功能,可以通过OLED屏记下按下的键的密码,然后在程序中设置就好。

遥控锁配遥控器的方法(如何解码你的遥控器)(2)

几个简单的配件就能定制一个物联遥控器

需要配件有,一个Arduino UNO 单片机,0.9英寸OLED屏,一个HX1838B红外接收器,一个继电器,一个直流电风扇。这个继电器是可以通过250V交流电压,10A的电流,理论上可以开关家里的所有电器了。所以这个实验还是具有现实意义的。红外接收器只有三个引脚,电源和地线分别接到Arduino对应的5V点和GND引脚,数据输出引脚连接到Arduino的2号数字引脚,其实可以任意选择,只要在程序中记得对应就好。

OLED屏是i2c协议的,如果大家还记得我之前的视频,i2c的连接非常简单,总共4条线,SCL时钟线和SDA数据线,还有3.3V火线和地线分别对应Arduino板上的引脚连接就好。注意是3.3V,否则可能烧坏屏。

遥控锁配遥控器的方法(如何解码你的遥控器)(3)

左边连接开发板,右边连接外接电源和电器

因为我们的遥控器需要控制外电设备,继电器当然少不了,虽然我们实验中的电风扇是5v直流,可以直接用Arduino板上的数字引脚操控,但是为了模拟实际的应用,继电器是必须的。继电器的连接注意,远离盒子的一端为本身的电源火线,地线和数据输入,分别连接开发板上的对应引脚,开发板上的数字引脚的选择需要匹配程序的设定,否则无法操控。靠近盒子的一端为外设电器的电源控制开关。和之前视频介绍的一样,COM端口连接外接电源火线,可以是直流或者交流电,NO端连接设备的火线。最后就是把NO端的火线连接风扇,地线连接地线就好。

接下来就是注入灵魂,软件的移植和编写。驱动软件方面需要在Arduino中下载两个库,一个是Adafruit SSD 1306库,用来驱动0.9英寸的OLED屏, 下载完成后,点击文件,示例,找到匹配你的OLED尺寸对应的文件并打开,就可以进行编辑和移植了。需要根据需要编写你自己的函数,这里我编写了两个函数,用来获取数据信息并打印在OLED 屏幕上。

遥控锁配遥控器的方法(如何解码你的遥控器)(4)

OLED显示函数和按键密码结构数组搜索函数

另外一个重要的库是IRremote库,同样下载后打开Controlrelay的示例,把它作为主程序的模版,之前的OLED驱动程序需要移植到这个主程序中来。需要注意的是,在IRremote库的安装目录下有一个IRprotocal文件,这个文件中列出了这个库可以解码的所有协议的名称,基本上都是公司名称,如果你家中的遥控器的公司不在这个列表上,那就需要研究核心破解密码的算法,有兴趣的小伙伴可以尝试一下。据我了解,国内的大厂如海尔,美的等都不在列表上,他们用的都是自己的密码协议系统。

遥控锁配遥控器的方法(如何解码你的遥控器)(5)

库文件内置的密码协议,美的,海尔的遥控协议不包括

第一次上电调试的时候,按下按钮,当你的遥控器的协议在列表中,在串口通讯窗口中会打印出按下的对应按键的密码,手动记下备用,然后编写一个头函数,定义一个结构数组,并在结构数组中输入之前记下的键和密码的对应信息。这些信息在运行的时候会被函数调用同时显示在OLED屏幕上。有了OLED屏的信息,就不用连接电脑,只要为开发板和外接电器单独接电就可以接受遥控器控制了。

遥控锁配遥控器的方法(如何解码你的遥控器)(6)

自定义头文件,结构数组包含按键=密码对应信息

如果您喜欢我的视频,欢迎评论,点赞,加关注,未来会有更多的软硬件相关的视频,敬请期待!(有需要源代码的朋友,关注,点赞和转发后发私信,提供下载链接!谢谢你的支持!)

,