【问题标题】:How to read XBEE ZB data如何读取 XBEE ZB 数据
【发布时间】:2015-03-08 11:08:45
【问题描述】:

我有一个 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") 但得到这不是十六进制值的错误。

你怎么看?

【问题讨论】:

    标签: python hex xbee


    【解决方案1】:

    rf_data 是一个0,后跟一个回车符、换行符和空值。发件人可能误算了数据的长度,因为您通常不会包含已发送字符串的空终止符。

    源地址为 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
    

    【讨论】:

      猜你喜欢
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多