In diesem Beitrag werden die Installation, das Einrichten von Netzwerkverbindungen und ein paar wichtige erste Schritte für das alternative, linux-basierte Betriebssystem ev3dev erläutert.
Ich habe in diesem Artikel einfach meine Erfahrungen festgehalten, die ich bei der Installation von ev3dev gemacht habe. Ich selbst habe die sehr detaillierten Anleitungen auf der ev3dev-Webseite herangezogen, die mir den Einstieg sehr leicht gemacht haben.
- Grundsätzliche Installation
- Netzwerkverbindung per USB-Kabel
- Zugriff auf den EV3 per ssh
- Software-Update und Tools
- WiFi bzw. wLAN einrichten
Grundsätzliche Installation
Ein Image der aktuellen Version von ev3dev kann man unter http://www.ev3dev.org/docs/getting-started/ herunterladen. Derzeit ist gerade das Image vom 1. 12. 2014 aktuell. Wie in einem meiner Beiträge zum RaspberryPi erläutert, lässt sich so ein Image unter Windows mit dem Tool Win32 Disk Imager auf eine MicroSD-Karte schreiben. (Download des Win32 Disk Image Writer unter http://sourceforge.net/projects/win32diskimager/)
Steckt man diese MicroSD-Karte in den Slot des EV3 und schaltet diesen ein, so bootet er dieses Linux-Betriebssystem statt der originalen Firmware auf dem internen Flash-Speicher. Auf dem LCD-Display des EV3 erscheint nach dem Bootscreen eine einfache aber praktische Konfigurationsoberfläche, genannt Brickman. Darüber lassen sich z.B. Netzwerke einrichten oder auch diverse Statusinformationen abfragen.
Damit ist die grundsätzliche Installation abgeschlossen, aber um auf die Linux-Konsole zuzugreifen müssen wir noch ein Netzwerk einrichten.
Netzwerkverbindung über USB-Kabel einrichten
Um sich mit dem EV3 unter ev3dev zu verbinden, genügt das von Lego mitgelieferte USB-Kabel. Allerdings sind dazu ein paar Konfigurationschritte notwendig.
Zuerst zwei Einstellung in Brickman, der Konfigurationsoberfläche auf dem EV3-Display:
- USB > RNDIS (active) … aktivieren
- Network > Gadget … aktivieren
Wenn man nun den EV3-Brick mit dem Windows-PC (zB Windows 8.1) per USB-Kabel verbindet, läuft eine automatische Installation ab, allerdings wird dabei der falsche Treiber von Windows verwendet. Diesen muss man nun im Gerätemanager (siehe Systemsteuerung > Gerätemanager) „händisch“ durch den richtigen ersetzen:
- Im Gerätemanager unter „Andere Geräte“ oder unter „Netzwerkadapter“ findet man ein neues Gerät mit der Bezeichnung „USB Ethernet/RNDIS Gadget“.
- Ein Rechtsklick darauf zeigt den Menüpunkt „Treibersoftware aktualisieren“, der ist zu klicken.
- Nach „Auf dem Computer nach Treibersoftware suchen“ und „Aus einer Liste von Gerätetreiber auf dem Computer auswählen“ erscheint eine Liste.
- Zuerst ist der Gerätetyp „Netzwerkadapter“ auszuwählen und dann kann man vom Hersteller „Microsoft“ den Netzwerkadapter „Remote NDIS based Internet Sharing Device“ auswählen.
- Eine eventuelle Warnung, dass das ein falscher Treiber sei, muss man noch mit „Ja“ übergehen, und dann ist Installation mit dem nun richtigen Treiber abgeschlossen. Button „Schließen“.
Um vom EV3 aus auch Internetzugriff über den Windows-PC zu erhalten sind noch zwei Einstellungen in den „Netzwerkverbindungen“ von Windows zu tätigen.
- Die „Netzwerkverbinungen“ findet man in der Systemsteuerung > Netzwerk- und Freigabecenter > Adaptereinstellungen ändern.
- Dort sollte eine neue Netzwerkverbindung mit dem Zusatzhinweis „Remote NDIS based Internet Sharing Device“ zu finden sein.
- Zur späteren Verwendung diese mit der rechten Maustaste umbenennen auf zB „EV3_USB“.
- Nun ist jene Netzwerkverbindung auszuwählen, über die der Windows-PC mit dem Internet verbunden ist, zB „WiFi“.
- Mit einem Rechtsklick darauf den Punkt Eigenschaften auswählen.
- Im Registertab „Freigabe“ ist ein Häkchen bei „Anderen Benutzern im Netzwerk gestatten, diese Verbindung des Computers als Internetverbindung zu verwenden“ zu setzen.
- Falls mehrer Netzwerkverbindungen auf diesem Rechner existieren, muss man noch die entsprechende Heimnetzwerkverbindung auswählen, in unserem Fall „EV3_USB“. Anschließen mit „OK“.
Jetzt fehlt nur mehr die Aktivierung der Netzwerkverbindung auf dem EV3-Stein in der Konfigurationsoberfläche auf dem Display:
- Network > Manage Connections aufrufen.
- Verbindung „Wired auswählen“.
- Im Tab „Conn.“ den Button „Connect“ auswählen.
- Nach einiger Zeit sollte man im Tab „IPv4“ eine gültige IP-Adresse sehen, die auch auf dem oberen Bildschirmrand des Displays angezeigt wird.
- Sollte die IP-Konfiguration nicht gleich klappen, ist in diesem Tab „IPv4“ mit dem Button „Change“ noch die Einstellung „Use DHCP“ oder „Load Windows Defaults“ auszuwählen (kann je nach Netzwerkkonfiguration auf dem PC bzw. je nach Windows-Version unterschiedlich sein).
Damit ist die Netzwerkkonfiguration abgeschlossen, und es ist Zeit, sich mit dem EV3-Brick bzw. mit ev3dev zu verbinden.
Zugriff auf den EV3 per ssh
Wenn die Netzwerkverbindung einmal steht, kann man auf die Konsole des EV3 mittels ssh (= secure shell) zugreifen und dort jegliche verfügbare Linux-Befehle nutzen und installierte oder selbst programmierte Programme ablaufen lassen. Zuerst sollte man sich die IP-Adresse des EV3 merken, die bei bestehender Netzwerkverbindung am linken oberen Bildschirmrand angezeigt wird.
Für den ssh-Zugriff ist das Programm putty weitverbreitet, das man sich unter http://www.chiark.greenend.org.uk/~sgtatham/putty/ herunterladen kann. Details zur Installation und Nutzung habe ich schon in einem Artikel zu putty und RaspberryPi erläutert, auf den ich hier nur verweisen möchte.
Für das Login ist für den Benutzer root das Passwort r00tme (zwei Nullen) voreingestellt.
Software-Update und Tools
Nach dem ersten Logon sollte man ein paar erste Schritte durchführen:
- Für den Benutzer root ein selbstgewähltes Passwort einstellen:
- passwd
- Die Zeitzone auf CET richtig setzen:
- dpkg-reconfigure tzdata
- Länderspezifische Einstellungen:
-
dpkg-reconfigure locales
-
- Das Dateisystem auf die gesamte Größe der SD-Karte erweitern:
-
lvextend --extents +100%FREE --resizefs /dev/ev3devVG/root /dev/mmcblk0p3
-
- An dieser Stelle sollte man das System neu starten:
- reboot
- Dabei bricht die ssh-Verbindung ab und man muss sich danach wieder neu verbinden.
Außerdem ist es empfehlenswert, die installierte Software auf den aktuellen Stand zu bringen. Da dies durchaus lange dauern kann, empfehle ich, dies nur mit vollständig geladenen Akkus durchzuführen.
- Meine ersten Versuche dazu:
- apt-get update
- apt-get upgrade
- Der erste Schritt klappte noch tadellos, allerdings beim zweiten Schritt machte eine bereits installierte Bibliothek namens libdbus-1-3 Schwierigkeiten. Deshalb habe ich diese zuerst neu installieren und es danach noch einmal probiert:
- apt-get install libdbus-1-3
- apt-get upgrade
- apt-get dist-upgrade
Dieser Schritt hat einige Zeit gedauert, aber danach hat man ein ganz aktuelles System.
Ich verwende gerne zur Naviation durch das Dateisystem den MidnightCommander:
- apt-get install mc
WiFi bzw. wLAN einrichten
Das Einbinden des EV3 mittels USB-WiFi-Dongle in ein bestehendes wLan-Netzwerk hat im ersten Schritt einige überraschende Probleme bereitet, war aber im zweiten Schritt auch wieder überraschend einfach.
Erster gescheiterter Versuch mit einem Netgear WNA1100
Von der originalen Lego-EV3-Firmware, auch ein Linux-System, wir nur der wLan-Usb-Stick Netgear WNA1100 unterstützt. Daher habe ich ihn auch mit ev3dev versucht. Grundsätzlich wird er vom System erkannt. Ich konnte sogar über brickman, dem Konfigurationstool auf dem Display, diesen Stick aktivieren, nach WiFi-Netzwerken scannen und mein Hausnetzwerk (SSID) auswählen. Ich wurde sogar noch nach dem Key gefragt, nach dessen Eingabe wurde scheinbar sogar eine Verbindung aufgebaut, allerdings erhielt ev3dev keine IP-Adresse per DHCP. Auch nachdem ich die IP statisch eingegeben habe konnte keinerlei wLAN-Verbindung hergestellt worden. Ich glaube, ich bin aber nicht der einzige mit diesem Problem, denn in den Foren werden unterschiedlichste Probleme mit diesem wLAN-Stick berichtet.
Zweiter erfolgreicher Versuch mit einem Edimax
Von meinem RaspberryPi hatte ich noch einen Edimax-Mini-Wifi-USB-Dongle, der sofort klaglos funktionierte. Die Aktivierung ist einfach:
- In Brickman unter dem Punkt Network muss man Wifi aktivieren.
- Unter „Manage connection“ werden alle erreichbaren wLAN-Netzwerke aufgelistet.
- Wählt man das eigene aus, so muss man nur noch den wLAN-Key eingeben. Allerdings möglich rasch, da sonst eine Timeout-Fehlermeldung erscheint und man wieder von vorne beginnen muss. Die rasche Eingabe eines längeren Keys ist mit dieser OnScreen-Tastatur allerdings nicht gerade einfach.
- Zuletzt sollte man noch die Autoconnect-Option aktivieren.