非超准红外NEC协议问题
2024-07-31 本文已影响0人
随你说
起因
因工作原因需要对楼宇空调进行集中化管理,因成本原因不使用重新设计空调面板!决定对原有空调面板的红外接收头的gpio 引脚直接对接到esp12f模块。由esp12f 模块连接公司wifi 向服务器请求当前此空调的温度!
过程
一、采用标准协议模块
初步想法是:使用的是esp8266的红外库,对遥控器的编码进制捕获!再使用标准库的sendNEC函数发送出去,经测试无法遥控空调面板,比如开关机捕获到的是0x88000051,再发送0x88000051 反复测试!
二、使用示波器分析红外接收端
Nec 标准协议


经分析发现,采用了自定义的NEC,比如:
1.引导码:
标准是9ms的低电平+4.5ms的高电平
非标准的使用的是8.6ms的低电+4ms低电平
2.编码1
标准是0.56ms低电平+1.6ms高电平
非标准0.6ms低电平+1.4ms高电平
3.编码0
标准是0.56ms低电平+0.56ms高电平
非标准0.6ms低电平+0.4ms高电平
问题找到了
总结
遇到红外不对的问题,很有可能是遇到自定义编码格式!