You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Arduino-IRremote格式红外码转换为Tasmota-IRSend格式?

解决Arduino IRRemote与Tasmota NEC红外码格式转换问题

核心问题原因

Arduino IRRemote库捕获的NEC红外码以**LSB(最低位优先)的字节顺序存储,而Tasmota的IRSend命令默认使用MSB(最高位优先)**的标准NEC字节顺序,两者的字节排列完全相反,这是导致发送失败的关键。

转换步骤与正确命令

根据你提供的捕获结果:

Protocol=NEC Address=0xF300 Command=0x91 Raw-Data=0x6E91F300,  32 bits LSB first.

按以下步骤转换:

  1. 拆解Raw-Data的字节:0x6E(命令反码)、0x91(命令)、0xF3(地址反码)、0x00(原始地址)
  2. 按标准NEC的MSB顺序重组字节:原始地址 → 地址反码 → 命令 → 命令反码,即0x00 → 0xF3 → 0x91 → 0x6E
  3. 合并为32位十六进制值:0x00F3916E

最终可用的Tasmota IRSend命令为:

IRSend {"Protocol":"NEC","Bits":32,"Data":0x00F3916E}

备选验证方案(直接指定地址与命令)

部分Tasmota版本支持直接传入地址和命令参数,无需合并为32位数据,你也可以尝试:

IRSend {"Protocol":"NEC","Address":0x00,"Command":0x91,"Bits":32}

(注:这里的Address为原始8位地址,Tasmota会自动生成地址反码和命令反码)

额外注意事项

  • 若设备使用的是16位地址的NEC变种,可将地址指定为捕获到的0xF300,命令为0x91:
    IRSend {"Protocol":"NEC","Address":0xF300,"Command":0x91,"Bits":32}
    

内容的提问来源于stack exchange,提问作者Raja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:45:15