簡體   English   中英

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"))

您正在獲取 bytearray 的每個字節( for x in... )並將其格式化為兩個大寫十六進制字符( '{:02x}'.format().upper() ),然后將它們連接在一起,中間沒有任何內容( ''.join() )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM