2016-07-04 15 views
1

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 

Antwort

1

ich den v2.2.2 heruntergeladen haben stabile, anstatt den Master des Klonens begehen und es läuft gut unter python2. Schade, dass es nicht python3 ist.