我最近在许多不同的设备上做了相当多的 DIY 家庭自动化(RF;433MHz)——除了一个之外,它们对所有设备都运行良好。它基本上是一个游泳池机器人,带有一些非常糟糕的遥控器。
我使用 BladeRF SDR 和 GNU Radio 收集了一些数据。“other 3”一栏基本上是动作,而“other 1”似乎是一些序列,而“other 2”定义了机器人,如果你有多个使用我猜(我的一些朋友有相同的价值不同那里)。我不确定计数适合什么目的,但我猜这是机器人知道范围最终何时变得太宽(缺少一些信息?)。我已经缩小了字节及其含义,但是我无法计算数据的正确 CRC(校验和)。
旧 - 请参阅下面的更新!!
以下是一些示例数据:
<other1 > <other2> <other3> <count > <crc >
10110100 00111110 10001111 11001000 00000001 11110111 01011110
10110100 00111110 10001111 11001000 00000001 11111000 01010011
10110100 00111110 10001111 11001000 00000001 11111001 01010100
10110100 00111110 10001111 11001000 00000001 11111010 01010001
10110100 00111110 10001111 11001000 00000001 11111011 01010010
10110100 00111110 10001111 11001000 00000001 11111100 01010111
10110100 00111110 10001111 11001000 00000001 11111101 01011000
10110100 00111110 10001111 11001000 00000001 11111110 01010101
10110100 00111110 10001111 11001000 00000001 11111111 01010110
10110100 00111110 10001111 11001000 00000001 00000000 01100111
10110100 00111110 10001111 11001000 00000001 00000001 01101000
10110100 00111110 10001111 11001000 00000001 00000010 01100101
10110100 00111110 10001111 11001000 00000001 00000011 01100110
10110100 00111110 10001111 11001000 00000001 00000101 01100100
10110100 00111110 10001111 11001000 00000001 00000111 01100010
added data:
10110100 00111110 10001111 11001000 00000010 00000110 01100100
10110100 00111110 10001111 11101010 00000010 01100101 10011010
10110100 00111110 10001111 11101010 00000001 01100100 10011100
10110100 00111110 10001111 11101010 00000001 01100011 10011101
10110100 00111110 10001111 11101010 00000001 01100110 10011010
每个必须更改的请求和要发送的一些命令都有一个计数,例如“其他 3”列可以读取 00000010 而不是 00000001。
如果有人能给我一些关于在哪里看的提示,那将非常有帮助。我尝试了不同的技术,如跨字节异或或计算模等。 - 我什至尝试了不同的 CRC 算法蛮力工具 - 不幸的是还没有成功。
编辑:我已将数据放入 excel 并添加了一些功能(它基本上将每个 4 位与上面的进行比较 - 最后一次传输)。我已经这样做了,因为我认识到 CRC 曾经保持不变。当 action 和 count 都加 1 时就是这种情况。请看:
更新:
我发现了一些其他更详细的规范。搜索了几个小时后,从网上的同一家供应商那里得到了结果,因此认为 CRC 实际上是平价的。我还微调了我的 gnu 无线电捕获流程图并收集了一些新数据。请忽略上面的数据,看看这里:
other 1> other 2 > other 3> other 4 > parity
10110100 001111101000111111101010 00000001 011110101001 0101
10110100 001111101000111111101010 00000001 011110111001 0110
10110100 001111101000111111101010 00000001 011111001001 0011
10110100 001111101000111111101010 00000001 011111011001 0100
10110100 001111101000111111101010 00000010 011111101001 0100
10110100 001111101000111111101010 00000010 011111111001 0011
10110100 001111101000111111101010 00000010 100000001001 0011
10110100 001111101000111111101010 00000010 100000011001 0100
10110100 001111101000111111101010 00000001 100000101001 0100
10110100 001111101000111111101010 00000001 100000111001 0011
10110100 001111101000111111101010 00000001 100001001001 0110
10110100 001111101000111111101010 00000001 100001011001 0101
10110100 001111101000111111101010 00000010 100001101001 0101
10110100 001111101000111111101010 00000010 100001111001 0110
10110100 001111101000111111101010 00000010 100010001001 1011
10110100 001111101000111111101010 00000010 100010011001 1100
10110100 001111101000111111101010 00000001 100010101001 1100
10110100 001111101000111111101010 00000001 100010111001 1011
10110100 001111101000111111101010 00000001 100011001001 1110
10110100 001111101000111111101010 00000001 100011011001 1101
这里又是花哨的 excel:
有谁知道如何计算奇偶校验?我试过拆分数据等并使用通常的奇偶校验计算,但不幸的是还没有成功。