IRsendMeidi_ESP8266-RN02S-Midea icon indicating copy to clipboard operation
IRsendMeidi_ESP8266-RN02S-Midea copied to clipboard

谢谢你哦

Open lqforgithub opened this issue 4 years ago • 9 comments

在我的 wemos d1 上工作的非常好。 我做了一个 DHT11 + 红外 LED 管的空调智能调温助手,你的库帮了很大的忙哦。

lqforgithub avatar Oct 22 '21 14:10 lqforgithub

在我的 wemos d1 上工作的非常好。 我做了一个 DHT11 + 红外 LED 管的空调智能调温助手,你的库帮了很大的忙哦。 嗯,很高兴能帮到你,如果使用中出现BUG,请反馈给我哦,我会及时修复。

GYSS1204 avatar Oct 22 '21 15:10 GYSS1204

在美的 RN02A/BG 相关的空调上,开机命令不能正常工作(但关机可以),可能是数据格式不一致导致的,请问这个问题该怎么分析呢,我只有万用表和红外接收管,没有示波器。 ps: 已确认不是载波频率的问题,因为我用电位器调了 38~50 的所有频率,都不开机

ps2: 我在 UNO 上用过一个 https://github.com/WiserUFBA/ArduMideaWrapper 的库,它可以支持 RN02A/BG 空调,我已经测试通过了。不知道这个库能否有一些启发。但是这个库是基于 UNO 架构的 IRremote 写的,因此不支持 wemos d1. 如果搞不定的话,最终我会考虑把这个库 移植到基于 IRremoteESP8266 上,不知道能不能实现。

lqforgithub avatar Oct 23 '21 15:10 lqforgithub

在美的 RN02A/BG 相关的空调上,开机命令不能正常工作(但关机可以),可能是数据格式不一致导致的,请问这个问题该怎么分析呢,我只有万用表和红外接收管,没有示波器。 ps: 已确认不是载波频率的问题,因为我用电位器调了 38~50 的所有频率,都不开机

ps2: 我在 UNO 上用过一个 https://github.com/WiserUFBA/ArduMideaWrapper 的库,它可以支持 RN02A/BG 空调,我已经测试通过了。不知道这个库能否有一些启发。但是这个库是基于 UNO 架构的 IRremote 写的,因此不支持 wemos d1. 如果搞不定的话,最终我会考虑把这个库 移植到基于 IRremoteESP8266 上,不知道能不能实现。

除了开机以外,其他功能是否正常,比如温度调节。在采集数据的时候我发现RN02S发送的开机编码和温度调节编码一样。所以我的库里面是直接使用温度调节编码进行开机。或许有些空调使用的是固定的开机编码。 关于你说的这个在uno上的库,我大致浏览了下代码,发现发送编码数据的方式和我的有些差别,读懂数据的发送方式可能需要仔细研究一下代码。 如果可以的话你可以尝试使用小米手机的红外遥控功能来进行控制空调,并记住第几个开机空调有响应,我可以把信号用逻辑分析仪采集出来。或则你可以买一个逻辑分析仪采集一下遥控器发出的信号。

GYSS1204 avatar Oct 23 '21 17:10 GYSS1204

在美的 RN02A/BG 相关的空调上,开机命令不能正常工作(但关机可以),可能是数据格式不一致导致的,请问这个问题该怎么分析呢,我只有万用表和红外接收管,没有示波器。 ps: 已确认不是载波频率的问题,因为我用电位器调了 38~50 的所有频率,都不开机 ps2: 我在 UNO 上用过一个 https://github.com/WiserUFBA/ArduMideaWrapper 的库,它可以支持 RN02A/BG 空调,我已经测试通过了。不知道这个库能否有一些启发。但是这个库是基于 UNO 架构的 IRremote 写的,因此不支持 wemos d1. 如果搞不定的话,最终我会考虑把这个库 移植到基于 IRremoteESP8266 上,不知道能不能实现。

除了开机以外,其他功能是否正常,比如温度调节。在采集数据的时候我发现RN02S发送的开机编码和温度调节编码一样。所以我的库里面是直接使用温度调节编码进行开机。或许有些空调使用的是固定的开机编码。 关于你说的这个在uno上的库,我大致浏览了下代码,发现发送编码数据的方式和我的有些差别,读懂数据的发送方式可能需要仔细研究一下代码。 如果可以的话你可以尝试使用小米手机的红外遥控功能来进行控制空调,并记住第几个开机空调有响应,我可以把信号用逻辑分析仪采集出来。或则你可以买一个逻辑分析仪采集一下遥控器发出的信号。

谢谢,具体的情况是这样的,使用IRsendMeidiDemo.ino 示例程序,在 RN02A/BG 遥控器型的空调的测试结果是:

  ```
  irsendmeidi.setPowers(1); // 打开空调【不工作】
  delay(5000);   
  irsendmeidi.setModes(1);  //设置为制冷模式【不工作】
  delay(5000);
  irsendmeidi.setTemps(26); //设置温度为26度【不工作】
  delay(5000);
  irsendmeidi.setTimers(2); //定时2小时【工作】
  delay(5000);
  irsendmeidi.setTimers(9.5); //定时9.5小时【工作】
  delay(5000);
  irsendmeidi.setFanSpeeds(5); //设置风速为100%【工作】
  delay(5000);
  irsendmeidi.setFanSpeeds(1); //设置风速为20%【不工作】
  delay(5000);
  irsendmeidi.setEco(1);       //打开ECO【不工作】
  delay(5000);
  irsendmeidi.setEco(0);       //关闭ECO【不工作】
  delay(5000);
  irsendmeidi.setTemps(26.5);   //设置温度为26.5度【不工作】
  delay(5000);
  irsendmeidi.setSwingUD(1);   //打开上下扫风【不工作】
  delay(5000);
  irsendmeidi.setFZC(1);       //打开防直吹模式【不工作】
  delay(5000);
  irsendmeidi.setPowers(0);    //关闭空调【工作】
  delay(10000);

所以应该是不同型号的编码差异?

另外,小米的万能遥控 App,匹配到的空调型号是美的空调的第一个(App 版本 6.0.6)。

逻辑分析仪是什么?有推荐的购买链接吗?

lqforgithub avatar Oct 24 '21 01:10 lqforgithub

在美的 RN02A/BG 相关的空调上,开机命令不能正常工作(但关机可以),可能是数据格式不一致导致的,请问这个问题该怎么分析呢,我只有万用表和红外接收管,没有示波器。 ps: 已确认不是载波频率的问题,因为我用电位器调了 38~50 的所有频率,都不开机 ps2: 我在 UNO 上用过一个 https://github.com/WiserUFBA/ArduMideaWrapper 的库,它可以支持 RN02A/BG 空调,我已经测试通过了。不知道这个库能否有一些启发。但是这个库是基于 UNO 架构的 IRremote 写的,因此不支持 wemos d1. 如果搞不定的话,最终我会考虑把这个库 移植到基于 IRremoteESP8266 上,不知道能不能实现。

除了开机以外,其他功能是否正常,比如温度调节。在采集数据的时候我发现RN02S发送的开机编码和温度调节编码一样。所以我的库里面是直接使用温度调节编码进行开机。或许有些空调使用的是固定的开机编码。 关于你说的这个在uno上的库,我大致浏览了下代码,发现发送编码数据的方式和我的有些差别,读懂数据的发送方式可能需要仔细研究一下代码。 如果可以的话你可以尝试使用小米手机的红外遥控功能来进行控制空调,并记住第几个开机空调有响应,我可以把信号用逻辑分析仪采集出来。或则你可以买一个逻辑分析仪采集一下遥控器发出的信号。

谢谢,具体的情况是这样的,使用IRsendMeidiDemo.ino 示例程序,在 RN02A/BG 遥控器型的空调的测试结果是:

  ```
  irsendmeidi.setPowers(1); // 打开空调【不工作】
  delay(5000);   
  irsendmeidi.setModes(1);  //设置为制冷模式【不工作】
  delay(5000);
  irsendmeidi.setTemps(26); //设置温度为26度【不工作】
  delay(5000);
  irsendmeidi.setTimers(2); //定时2小时【工作】
  delay(5000);
  irsendmeidi.setTimers(9.5); //定时9.5小时【工作】
  delay(5000);
  irsendmeidi.setFanSpeeds(5); //设置风速为100%【工作】
  delay(5000);
  irsendmeidi.setFanSpeeds(1); //设置风速为20%【不工作】
  delay(5000);
  irsendmeidi.setEco(1);       //打开ECO【不工作】
  delay(5000);
  irsendmeidi.setEco(0);       //关闭ECO【不工作】
  delay(5000);
  irsendmeidi.setTemps(26.5);   //设置温度为26.5度【不工作】
  delay(5000);
  irsendmeidi.setSwingUD(1);   //打开上下扫风【不工作】
  delay(5000);
  irsendmeidi.setFZC(1);       //打开防直吹模式【不工作】
  delay(5000);
  irsendmeidi.setPowers(0);    //关闭空调【工作】
  delay(10000);

所以应该是不同型号的编码差异?

另外,小米的万能遥控 App,匹配到的空调型号是美的空调的第一个(App 版本 6.0.6)。

逻辑分析仪是什么?有推荐的购买链接吗?

逻辑分析仪可以采集接收头接收到的数据。具体你可以上淘宝搜索一下,我买的是那个29.9元的。

GYSS1204 avatar Oct 24 '21 06:10 GYSS1204

image 谢谢哦,我用 uno 板子做了一个,现在正在分析这个开机波形。

lqforgithub avatar Oct 25 '21 06:10 lqforgithub

26 制冷开机按钮

引导

10110010 01001101 10111111 01000000 11010000 00101111

间隔

10110010 01001101 10111111 01000000 11010000 00101111

已基本入门啦,有空再慢慢调试下

lqforgithub avatar Oct 25 '21 06:10 lqforgithub

26 制冷开机按钮

引导

10110010 01001101 10111111 01000000 11010000 00101111

间隔

10110010 01001101 10111111 01000000 11010000 00101111

已基本入门啦,有空再慢慢调试下

我刚才转换了下你发的图,发现开机代码A,B,C 码都一样,只有尾码不一样,我的空调遥控器有尾码,而你的空调没有,可能就是这个原因导致不能开机。尾码应该是为了增加编码的信息量而在新产品中添加的。有时间我打算修改下代码,添加一个尾码设置代码,可以设置是否开启。

GYSS1204 avatar Oct 25 '21 06:10 GYSS1204

我采集的编码的表格我上传了,你可以参考一下。

GYSS1204 avatar Oct 25 '21 06:10 GYSS1204