# esp-万能红外遥控器 **Repository Path**: aohanhongzhi/esp-any-IRremote ## Basic Information - **Project Name**: esp-万能红外遥控器 - **Description**: esp的万能遥控器,可以复制任何红外线数据 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 4 - **Created**: 2022-04-19 - **Last Updated**: 2025-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: 自己开发的应用 ## README IRremote的万能遥控器实现 ======================== 本项目基于esp8266-Node-MCU研究,也适用于Arduino,不过两者不能混用!比如,用esp8266发生红外线,用Arduino接收并解析!这样不可以的。 我手里的esp8266样子。 ![](./assets/esp8266-mcu-orginal.png) 接线效果图如下 ![](./assets/IMG_20220419_210422.jpg) > 一块板子也是可以,把发射与解析的代码放在一起就可以了。 github上有一个 [esp8266的IRremote库](https://github.com/crankyoldgit/IRremoteESP8266),里面包含有各种主流空调的遥控代码。可以直接使用,简单调用接口就能使用了,例如[我折腾的格力空调](https://gitee.com/aohanhongzhi/esp-IRremote)。但是有些红外设备不能直接使用,例如小米空调,电视盒子,或者自己制作的红外遥控设备。 对于库里面没有的设备,就需要自己接收分析红外线发射的代码,然后再复制发送出去即可。 # 接收分析代码 安装了库文件之后,直接导入案例即可。 ![](assets/20220419_212359_image.png) 接收后效果如下 ![](assets/20220419_214700_image.png) 上面的数据需要多观察几次,即使是相同的开关机,每次接收解析到的数据都有点不同,所以选择一些比较稳定的数组(出现多次一样,或者相似)。这估计也是一种容错性处理。毕竟红外线这种传输信息干扰应该还是比较大的。 提取uint16_t rawData[279]的值就好了。 ![](assets/20220419_215318_image.png) > Arduino处理信号的时候貌似接收的都比较短,数组都是70多点。大概esp与Arduino的编码不一样导致的,具体需要细致分析。 # 复制并发射 ![](assets/20220419_212621_image.png) 从上面接收的解析出来uint_16的数组,复制粘贴就好了。 ![](assets/20220419_212846_image.png) # RawData采集参考 https://blog.csdn.net/weixin_44625313/article/details/120094910 # 参考 https://www.arduino.cn/thread-100844-1-1.html # 拓展 ## NEC https://www.sbprojects.net/knowledge/ir/nec.php https://blog.csdn.net/qq_30209977/article/details/106155290 应该是可以通过NEC来发送与接收的,但是没弄清楚。有待研究。 https://blog.csdn.net/qq_23347759/article/details/109225980 https://wiki.nxez.com/arduino:libraries:irremote_sendnec https://zhuanlan.zhihu.com/p/266638237 https://blog.csdn.net/zuoheizhu/article/details/87452110 ## 十六进制 https://blog.csdn.net/qcmy980/article/details/115205378 https://www.arduino.cn/thread-1220-1-1.html # ESP01 https://github.com/crankyoldgit/IRremoteESP8266/wiki/ESP01-Send-&-Receive-Circuit#sender # Arduino http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/irremote-library/ir-send-example/ https://blog.csdn.net/weixin_45901128/article/details/120634354