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()
).
我正在使用带有 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()
).