Я пытаюсь запустить простой тест (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.