逆向工程空调控制器。需要帮助搞清楚校验和

时间:2016-01-31 06:24:35

标签: reverse-engineering electronics baud-rate

所以我从2001年开始对我的空调控制器进行逆向工程,它使用的波特率为300,并且每次传输发送相同的6字节数据包3次。

数据似乎很简单,但我无法弄清楚最后一个字节的计算方式。我差点确定它是校验和。这是数据:

Fan level 2     0xFF    0xAA    0x00    0x02    0x68    0x0C
Fan level 3     0xFF    0xAA    0x00    0x03    0x68    0x67
Fan level 4     0xFF    0xAA    0x00    0x04    0x68    0x39
Fan level 5     0xFF    0xAA    0x00    0x05    0x68    0x52
Fan level 6     0xFF    0xAA    0x00    0x06    0x68    0x2A
Fan level 7     0xFF    0xAA    0x00    0x07    0x68    0x41
Fan level 8     0xFF    0xAA    0x00    0x08    0x68    0x53
Fan level 9     0xFF    0xAA    0x00    0x09    0x68    0x38
Fan level 9     0xFF    0xAA    0x00    0x49    0x68    0x03 (Turned Vent mode on)

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

很可能不是校验和。请注意,除了第4个字节之外,示例中所有扇形级别中的所有字节都是完全相同的,这似乎是风扇索引(较低的半字节)和一些指示该扇形级别状态的标志的组合(您在风扇9)中启用通风口时,可以看到标志0x4已启用。

因此,在所有风扇级别中,唯一的变化只是一个字节,在您的示例中的所有行中,但是最后一个,值的增量为1(风扇级别本身的索引)。 / p>

因此,如果最后一个字节是校验和,您可能希望校验和在示例的第一行中是增量值,但它们不是。