UnicodeDecodeError при попытке запустить модуль bluetooth-близости - PullRequest
0 голосов
/ 25 марта 2020

Я пытаюсь запустить простой тест (test_address.py) из модуля Bluetooth-близости (https://github.com/FrederikBolding/bluetooth-proximity), но получаю следующую ошибку:

Traceback (most recent call last):
  File "test_address.py", line 33, in <module>
    main()
  File "test_address.py", line 28, in main
    print(str(btrssi.request_rssi()))
  File "/usr/local/lib/python3.7/dist-packages/bt_proximity-0.2-py3.7.egg/bt_proximity/bt_rssi.py", line 59, in request_rssi
    bt.OCF_READ_RSSI, bt.EVT_CMD_COMPLETE, 4, self.cmd_pkt)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf4 in position 3: unexpected end of data

Что делает это значит? Как я могу это исправить? Спасибо!

РЕДАКТИРОВАТЬ:

Не совсем уверен, что вы имеете в виду, но я постараюсь уточнить. Программа должна обнаружить определенное устройство с указанным c адресом и распечатать его значение rssi. Если устройство не находится в зоне действия или не выключено, значит, оно работает нормально, возвращая None. Тем не менее, в то время как вчера он выдавал ошибку выше (после внесения изменений), он выдает следующую ошибку:

Traceback (most recent call last):
  File "test_address.py", line 33, in <module>
    main()
  File "test_address.py", line 28, in main
    print(btrssi.request_rssi())
  File "/usr/local/lib/python3.7/dist-packages/bt_proximity-0.2-py3.7.egg/bt_proximity/bt_rssi.py", line 60, in request_rssi
    rssi = struct.unpack('b', rssi[3].to_bytes(1, 'big'))
AttributeError: 'str' object has no attribute 'to_bytes'

Поэтому из вышеприведенной ошибки я предполагаю, что _bluetooth.EVT_CMD_COMPLETE (что бы это ни было .. .) элемент rssi [3] должен быть int, но str.

...