Verbindung mit dem EV3

Damit ihr eure Programme, egal ob mit LabView oder mit Java erstellt, auf den EV3-Brick übertragen könnt, benötigt ihr eine Verbindung zum EV3-Brick.

Alle Verbindungen zum EV3 verwenden das Protokoll TCP/IP, aber als physikalische Schnittstelle kann USB, Bluetooth oder WLAN verwendet werden. Startet der EV3 mit leJOS, wird ein Linux Secure Shell (SSH) Server mit Secure Copy (SCP) gestartet, jedoch kein SFTP-Server. Deshalb können nur SFTP-Clients verwendet werden, die auch das Protokoll SCP unterstützen.

Der EV3 antwortet auf ping – Anfragen mit seiner Standard IP-Adresse 10.0.1.1. Der Befehl ping ist die einfachste Möglichkeit, um zu prüfen, ob die Verbindung zum EV3 funktioniert.

Für das weitere Arbeiten mit dem EV3 verwendet ihr am besten SSH-Clients, wie z.B. PUTTY für Windows oder die OS/X-Konsole. Zum Übertragen von Dateien auf den EV3 könnt ihr entsprechende FTP-Clients verwenden, die das Protokoll SCP unterstützen, wie z.B. WinSCP. Unter OS/X könnt ihr wiederum die Konsole und das Programm scp verwenden.

Für OS/X hab ich leider noch keinen passenden FTP-Client entdeckt, der auch das Protokoll SCP unterstützt. Die meisten unterstützen nur SFTP, was aber wegen des fehlenden SFTP-Servers auf dem EV3 nicht ausreicht.

Als nächstes zeige ich euch, wie ihr über die verschiedenen Schnittstellen Verbindung mit dem EV3 aufnehmen könnt.

USB-Verbindung

Für die Verbindung über USB benötigt ihr lediglich ein USB-Kabel. Damit verbindet ihr den EV3-Micro-USB-Port (oben am Brick) mit eurem Rechner. Der Nachteil dieser Lösung ist, dass der Roboter wenig Bewegungsfreiheit hat und ihr ihn jedesmal vom Rechner trennen müsst, wenn der Roboter in Bewegung gesetzt wird. Diese Verbindung hab ich nur mal mit dem Lego-Programm LabView versucht. Um den EV3 über USB-Kabel mit einer IP über TCP/IP ansprechen zu können muss man noch einiges konfigurieren. Das hab ich selbst noch nicht versucht, aber für Windows gibt es hier eine Anleitung: Verbindung via USB

Verbindung via USB

USB-Verbindung

WLAN-Verbindung

Für eine WLAN-Verbindung benötigt ihr einen zusätzlichen WLAN-USB-Adapter, den ihr in den USB-Port des EV3-Brick steckt. leJOS prüft beim Start, ob ein USB-WLAN-Adapter vorhanden ist, wenn ja versucht es eine Verbindung zu eurem WLAN aufzubauen. Beim ersten Mal, müsst ihr das WLAN konfigurieren. Dazu wählt ihr im Hauptmenü von leJOS direkt am EV3-Brick den Punkt WiFi aus. Hier könnt ihr euer WLAN auswählen und das Passwort eingeben.

Verbindungsaufbau zum Heimnetzwerk

WIFI – Konfiguration

Nach erfolgreichem Verbindungsaufbau zeigt der EV3, die vom Router zugewiesene IP-Adresse an (in diesem Fall 192.168.2.115), mit der ihr den EV3 erreichen könnt.

Mit dem WIFI verbunden

WIFI-Connected

Mit dem Befehl ping in einem Kommandozeilen-Fenster eures Rechners könnt ihr die Verbindung schon mal testen.

ping 192.168.2.115

Der EV3 sollte dann antworten und mit ctrl-c könnt ihr das Antworten abbrechen:

PING 192.168.2.115 (192.168.2.115): 56 data bytes
64 bytes from 192.168.2.115: icmp_seq=0 ttl=64 time=119.982 ms
64 bytes from 192.168.2.115: icmp_seq=1 ttl=64 time=9.811 ms

Bluetooth-Verbindung

Beim Verbinden über Bluetooth braucht ihr weder ein Kabel, noch müsst ihr irgendetwas am EV3-Brick konfigurieren. Der Verbindungsaufbau über Bluetooth zum EV3 erfolgt in zwei Schritten, die ich am Beispiel von OS/X am MAC beschreibe. Unter Windows funktioniert das ähnlich (eine englische Anleitung für Windows 10 findet ihr hier: Verbindung mit dem EV3 oder auch hier: leJOS-WIKI).

Als erstes müsst ihr über Einstellungen -> Bluetooth den EV3 suchen lassen. Findet euer Rechner den EV3 wird er in der Liste der Bluetooth-Geräte angezeigt. Nach Klick auf Verbinden, wird die Verbindung zum EV3 hergestellt. Solltet ihr nach einem Passwort gefragt werden, ist das Standardpasswort des EV3 1234.

Aufbau der Bluetooth-Verbindung

Bluetooth-Verbindung

Um den EV3-Brick über seine IP-Adresse anzusprechen, muss nun noch die Verbindung zu dem Bluetooth Personell Area Netzwerk (PAN) aufgebaut werden. Durch die Verbindung zum PAN könnt ihr den EV3 über TCP/IP und einer IP-Adresse (genauso wie im WLAN-Netzwerk) ansprechen. Der Unterschied zum WLAN ist jedoch, dass der EV3 keine IP-Adresse von eurem Router zugewiesen bekommt, sondern ihr die Standard-IP des EV3 die 10.0.1.1 verwenden müsst.

Dazu ruft ihr nach erfolgreichem Bluetooth-Connect wieder Einstellungen -> Bluetooth auf, wählt den EV3 aus und mit Rechter Maustaste -> Mit Netzwerk verbinden stellt ihr die Verbindung mit dem PAN her. Manchmal trennt der EV3 die Verbindung gleich wieder. Ist das der Fall, einfach noch mal verbinden und gut ist. Die Bluetooth-Verbindung müsst ihr normalerweise nur beim erstem Mal herstellen. Die Verbindung zum PAN müsst ihr jedesmal Aufbauen, wenn ihr den Rechner oder den EV3 ausschaltet.

Verbindung mit dem PAN

PAN Verbindung

Genau wie bei der WLAN-Verbindung könnt ihr nun versuchen mit einem ping den EV3 zu erreichen:

ping 10.0.1.1

Auch hier sollte sich der EV3 wieder wie beim WLAN melden:

PING 10.0.1.1 (10.0.1.1): 56 data bytes
64 bytes from 10.0.1.1: icmp_seq=0 ttl=64 time=119.982 ms
64 bytes from 10.0.1.1: icmp_seq=1 ttl=64 time=9.811 ms

Verbindung per SSH aufnehmen

Wie auch immer ihr die Verbindung zu eurem EV3 aufgebaut habt, könnt ihr danach Standard-Programme zum Aufbau einer Terminal-Verbindung per SSH verwenden. Unter OS/X könnt ihr dazu das mitgelieferte Terminal-Programm, unter Windows z.B. das Programm putty verwenden. Mit dem Terminal einer SSH-Verbindung, ist euer Rechner quasi Bildschirm und Tastatur für euren EV3 und ihr könnt direkt unter dem Betriebssystem leJOS arbeiten, dass ja im Prinzip ein Linux ist.

Die Standard-Einstellungen nach dem ersten Start sind:

Hostname 10.0.1.1 bzw. zugewiesene IP-Adress bei WLAN-Verbindung
Super-User Name root
Super-User Passwort kein Passwort vergeben

So könnt ihr die SSH-Verbindung zum EV3 im Terminal-Programm von OS/X aufbauen:

ssh root@10.0.1.1

Danach gebt ihr das Passwort ein und landet in der Kommandozeile von leJOS:

root@10.0.1.1's password:
root@EV3:~#

Danach könnt ihr ganz normale Linux-Befehle absetzen. Zum Beispiel gleich mal ein root-Passwort setzen (gut merken).

Anmelden als root – Passwort benötigt man zunächst nicht

su root

Passwort neu setzen – Hier gebt ihr das neue Passwort für den Super-User ein und wiederholt es anschließend einmal.

passwd

Dateien übertragen

Zum übertragen von Dateien könnt ihr mit SFTP-Clients nun auch eine Verbindung aufbauen. Allerdings muss der Client das Protokoll SCP unterstützen, da aktuell auf dem EV3 kein SFTP-Server, sondern nur ein SCP-Server läuft. Unter Windows könnt ihr z.B. den Client WinSCP verwenden.

Unter OS/X verwende ich das Kommando-Zeilen-Tool Secure-Copy (scp) im Terminal von OS/X um Dateien auf den EV3 hochzuladen.