Проблемы с библиотекой Python Xbee с ошибками xbee_message.data.decode () при получении данных, которые не являются текстовыми - PullRequest
0 голосов
/ 03 марта 2019

Используя библиотеку Python Xbee, я пытаюсь опросить данные, работающие с конечным устройством DHT Xbee Arduino, которое я настроил, отправляя данные о температуре.

Когда я пытаюсь получить эти данные, используя код ниже:

from digi.xbee.devices import XBeeDevice
#port = "/dev/ttyUSB0" 
port = "com7"
rate = 9600


def main():
    print("Starting XBee.....")
    print("opening port....")

    comms = XBeeDevice(port, rate)

    try:
        comms.open()
        comms.flush_queues()
        print("Waiting for data...\n")

        while True:
            xbee_message=comms.read_data()
            if xbee_message is not None:
                print("From %s >> %s" % (xbee_message.remote_device.get_64bit_addr(), xbee_message.data.decode()))

    finally:
        if comms is not None and comms.is_open():
             comms.close()


if __name__ == '__main__':
    main()" 
    enter code here

Я получаю следующую ошибку:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9a in position 1: invalid start byte ``` 

Теперь, насколько я понимаю, данные .data.decode () может только декодировать Unicode-сообщения, однако я не уверен, как заставить его декодировать информацию из других источников.

, пожалуйста, помогите, если можете, и при необходимости я могу предоставить код для настройки Arduino.

Скопировать из комментария : Вот полный ответ какзапрос

Traceback (most recent call last): 
File "C:/Users/Admin5/PycharmProjects/Rpi_sriptXBee/test script", line 30, in <module> 
  main() 
File "C:/Users/Admin5/PycharmProjects/Rpi_sriptXBee/test script", line 22, in main
  print("From %s >> %s" % (xbee_message.remote_device.get_64bit_addr(), xbee_message.data.decode())) 
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcd in position 1: invalid continuation byte 
...