Ich benutze nxt-python um eine Verbindung zu meinem nxt brick von meinem raspberry pi herzustellen.Fehler beim Verbinden mit nxt brick
Nach einigen Schwierigkeiten mit den Python 3.2-Versionen der Bluetooth und USB-Bibliotheken, die es erfordert, habe ich es geschafft, es über Bluetooth zu verbinden und fragen nach einem Passkey. Nach etwas mehr Kampf fand ich heraus, dass ich bluetooth-agent PASSKEY &
(und ersetzen PASSKEY mit dem Passkey) im Terminal vor dem Ausführen des Python-Skript, das mit dem nxt Brick verbindet und soweit ich weiß, die gut funktioniert. Aber jetzt wirft es einen Fehler auf. Beim Verbinden mit USB wird ein anderer Fehler angezeigt.
Hier ist der Fehler, den ich mit beiden Methoden (USB & BT) und Debug aktiviert erhalten:
USB: True BT: True Fantom: False FUSB: False FBT: False
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/nxt/locator.py", line 138, in find_one_brick
if name and info[0].strip('\0') != name:
TypeError: Type str doesn't support the buffer API
Failed to connect to possible brick
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/nxt/locator.py", line 131, in find_one_brick
info = b.get_device_info()
File "/usr/local/lib/python3.2/dist-packages/nxt/brick.py", line 27, in poll
self.sock.send(ogram.bytes())
File "/usr/local/lib/python3.2/dist-packages/nxt/bluesock.py", line 57, in send
l0 = len(data.encode('utf-8')) & 0xFF
AttributeError: 'bytes' object has no attribute 'encode'
Failed to connect to possible brick
No brick was found.
Is the brick turned on?
For more diagnosing use the debug=True argument or
try the 'nxt_test' script located in /bin or ~/.local/bin
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.2/dist-packages/nxt/locator.py", line 154, in find_one_brick
raise BrickNotFoundError
nxt.locator.BrickNotFoundError
Weil ich Python weiß, dass ich wahrscheinlich die Fehler nur durch Bearbeiten des Quellcode beheben könnte, aber ich bin affraid Ich werde etwas brechen. Ich habe versucht, es zu bearbeiten (Backups von jeder Datei zu halten, die ich bearbeite), und dann kommt es über ein paar Zeilen hinaus, bevor es einen anderen unterschiedlichen Fehler wirft.
EDIT
Wenn ich versuche, mit Python zu importieren 2 es gibt mir diese Fehlermeldung:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/nxt/__init__.py", line 15, in <module>
from nxt.locator import find_one_brick, Method
File "/usr/local/lib/python2.7/dist-packages/nxt/locator.py", line 49
if not silent: print("USB module unavailable, not searching there", file=sys.stderr)
^
SyntaxError: invalid syntax