#3690·rtl_433

ThermoPro TP60B/TX-2B 915 MHz 温度+湿度 - 已解码,看起来像是 TP11 的堂兄弟

作者: veedeess创建于 2026年9月9日更新于 2026年9月10日

与 #3323 有关,但不是同一设备。那个是 433.867 MHz 的 TP60,时间显示完全不同。我的是 915 MHz 的 TX-2B。已经弄清楚了有效载荷,并将其与基站显示器进行了比对。布局与现有的 thermopro_tp11.c 解码器几乎完全匹配 - 相同的 12 位温度 ((byte1 & 0x0F) << 8) | byte2,以及相同的 ID 位置 (byte0 加上 byte1 的高位数字)。区别在于,我的温度没有 -200 的偏移,并且添加了湿度字节,因此基本上是一个带湿度的 TP11 亲戚。 设置: ThermoPro TP60B 室外单元, TX-2B 模块,标签上标注为 915 MHz。实际上发送的频率大约为 914.99,偏低了一些。 RTL-SDR Blog V4,在 SDR++ 中记录了 2.4 MHz 的基带 IQ。每隔大约 50 秒发送一次,每个脉冲重复该包 6-8 次。采用 2-FSK,音调间隔约为 26 kHz,但它以 ASK 形式解码得很好。均匀的脉冲,数据位于间隔长度(两个宽度)中,具有帧间隔和更长的帧间隔。我在 URH 中提取了位。有两个捕获,同步后的 32 位有效载荷。冷读取的温度为 59.5F/83% RH,字节为 0x25 0x50 0x99 0x53。热读取的温度为 128.8F/10% RH(仍在上升),字节为 0x25 0x52 0x09 0x0A。byte0 和 byte1 的顶位数字在两者之间没有变化 - 看起来像是 ID。温度为 12 位: ((byte1 & 0x0F) << 8) | byte2,单位为摄氏度的十位数。冷: 0x099 = 153 = 15.3C = 59.5F,匹配。热: 0x209 = 521 = 52.1C = 125.8F。显示器显示 128.8,但当时正在积极加热,我捕获的包比较早,方向匹配。湿度只是 byte3 的原始值。0x53 = 83,0x0A = 10。两者都匹配。因此: temp_C = (((byte1 & 0x0F) << 8) | byte2) / 10.0,湿度 = byte3。我没有弄清楚的事情:同步结束的确切位置以及在 4 个字节之后是否有校验和;温度是否正确地变为负数,因为我捕获的所有数据都在冰点以上;以及低电池位,不知道它在哪里。

内容来源: merbanan/rtl_433