如何阅读XBEE ZB数据

时间:2015-03-08 11:08:45

标签: python hex xbee

我有一个python脚本正在侦听来自我的XBEE S2无线电的数据。数据似乎是乱码。它似乎不是十六进制或其他任何有意义的。

output:  {'source_addr_long': '\x00\x13\xa2\x00@\xae\x9c\xe6', 'rf_data':
'0\r\n\x00', 'source_addr': '\xe8f', 'id': 'rx', 'options': 'A'}

以上是从所有发送无线电接收的内容。当然,对于每个无线电,它有点不同,表明每个传输都是无线电特定的。

当我打印'rf_data'时,我得到一个0,或者至少这是我在这种情况下寻找的东西。但是当我打印'source_addr'时,它既不是十六进制也不是其他任何东西。

首先,我想了解上述数据的含义。接下来我想输出有意义的源地址。我尝试过.decode(“hex”),但得到的错误是这不是十六进制值。

您怎么看?

1 个答案:

答案 0 :(得分:0)

rf_data0后跟回车符,换行符和空值。发件人可能会错误地计算数据的长度,因为您通常不会包含已发送字符串的空终止符。

源地址是8个字节,this answer可以很好地解释如何使用它来执行某些操作:

>>> value = '\x13\xa2\x00@y\xe6_'

>>> pretty_value = ':'.join("{:02X}".format(ord(c)) for c in value)
>>> print(pretty_value)
13:A2:00:40:79:E6:5F