我有一个便宜的无线泳池温度计 (AcuRite 617 1 ),我想截取接收器的温度数据,并将其与计算机数据记录系统一起使用。
方便的是,接收器内部是一个连接到天线的小型分线板,具有数字“V”、“G”、“D”和“SH”引脚:
这是传输期间从“D”引脚捕获的一段数据(每分钟发生一次)。在这一段之前,似乎有更高速率的数据,但我相信这可能是噪音——这是 1.36kHz / 680Hz 数据的开始。
我用谷歌搜索了一下,找不到看起来很像这样的编码,但如果我要猜测发生了什么,这就是我的想法:
- 最初的 4 个 680 Hz 周期用于同步时钟但不包含数据
- 随后的 1.36 kHz(初始速率的 2 倍)的 13 个周期似乎具有两种形式之一:它们要么在周期中点之前或之后下降到低点——我假设一种形式是合乎逻辑的,另一种是合乎逻辑的是零。
- 在那之后,似乎有一个奇怪的差距,但如果你忽略作为前面“1”一部分的低点部分,那么剩余的差距是 735 µs,这是(相位正确!)延续680 赫兹前导码。
我看对了吗?这种编码有名称吗?
关于分线板的一些进一步说明:
- 该板标有“RF211”,看起来与 MICRF211“通用,3V QwikRadio 接收器,工作频率为 433.92MHz” 3非常一致
- MICRF211 数据表有下图(几乎没有解释),与我的捕获相比,除了双倍数据速率方波外,它看起来非常像我所看到的:
2016-02-14 更新:我重新访问了这个项目,似乎在 4 周期前导码和 1 周期“后同步码”之间得到了一个干净的 64 位流,之后显示板通过以下方式关闭 RF 模块将 ^SH 拉低(顶线):
根据 Micrel 的“33/66% PWM”方案(在谷歌其他地方没有出现),那就是
-_-_-_-_0000011110011000110000000000000000000000100011101000010010101010-_
所以现在我必须开始操纵温度来解码这些位。这里 ("x") 是在显示中似乎没有任何明显变化的位:
0000011110011000110000000000000000000000100011101000010010101010
------------------------------------------------x----xxxx----xxx
我假设这些是最低有效位或电池电量(仅在显着下降时显示为“低”)。
2016-02-15 更新:我正在路上展示新的“逆向工程”stackexchange 以确定含义:https ://reverseengineering.stackexchange.com/questions/12048/what-is-contained -in-this-transmission-rf-pool-temperature-sensor-base-unit-re