Micropython Xbee - 如何获取 Xbee 序列号并将其转换为字符串?

Micropython Xbee - How do I get the Xbee serial number and convert it to a string?

我正在使用带有 micropython 的 Xbee3 pro。我正在尝试将设备序列号转换为字符串。这是代码。

import xbee
from time import sleep


serial = xbee.atcmd("SL")
serial = serial.decode("utf-8") 
while True:
    print("Sending broadcast data >> %s" % serial)

    try:
        xbee.transmit(xbee.ADDR_BROADCAST, serial)
        print("Data sent successfully")
    except Exception as e:
        print("Transmit failure: %s" % str(e))
    sleep(2)

数据传输成功,但我只收到三个难看的字符,无法读取。

结果:

serial = xbee.atcmd("SL")
print(serial)

'A\x92\xa4\xbf' 

我真的只需要将 'A\x92\xa4\xbf' 转换为 4192A4BF。

我相信这应该有效:

''.join('{:02x}'.format(x).upper() for x in xbee.atcmd("SL"))

您正在获取字节数组的每个字节 (for x in ...) 并将其格式化为两个大写的十六进制字符 ('{:02x}'.format().upper()),然后将它们连接在一起,中间没有任何内容 (''.join()).