EV3 via MATLAB Drahtlosverbindung

Aus HSHL Mechatronik
Version vom 14. März 2019, 12:14 Uhr von Alexander Schirrmeister (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Autor:''' Alexander Schirrmeister == Einleitung == Dieser Artikel ist eine Anleitung, wie man einen Lego Mindstorms E…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Autor: Alexander Schirrmeister

Einleitung

Dieser Artikel ist eine Anleitung, wie man einen Lego Mindstorms EV3 mit Matlab via Wifi steuert.


Inhalt

Hier ist die Abfolge der notwendigen Schritte um einen Lego Mindstorms EV3 mit dem gewünschten Drahtlosnetzwerk, sowie Hostcomputer zu verbinden und anschließend mit dem Matlab-LiveScript zu programmieren, steuern und Daten auszuwerten.


Vorbereitung

Der momentan verwendete EV3 kommt leider nicht mit integriertem WLAN-Adapter. Dafür besitzt er jedoch einen USB-Port, an den man einfach einen WiFi-Dongle (Der hier eingesetzte WLAN-Adapter ist der EDIMAX N150) anschließen kann. Zunächst sollte die Firmware des EV3 auf die Version V1.08H geupdated werden, da die Version V1.07 keinen Edimax Dongle unterstützt. Nun schließen Sie den USB Adapter an das Gerät an und starten dieses neu.

Laden Sie sich anschließend das "EV3 Support Paket" von der Mathworks Seite herunter und installieren Sie dieses.

LEGO MINDSTORMS EV3 Support from Matlab

Verbindungen

Hier ist eine Übersicht zu den Verbindungen die erfüllt sein müssen.

Verbindung EV3 zu Router

Sobald der Brick betriebsbereit ist, findet man den WiFi-Menüpunkt unter dem mit einem Schraubenschlüssel gekennzeichneten Reiter. Als Grundeinstellung ist die Box leer.

  1. Wählen Sie mit den Pfeiltasten den WiFi-Menüpunkt aus und bestätigen Sie mit der mittleren Taste.
  2. Im folgenden Fenster sehen Sie nun die Punkte "Connections" und "WiFi". Wählen Sie WiFi aus und bestätigen Sie mit der mittleren Taste.
  3. Nachdem die Box hinter "WiFi" einen Haken anzeigt, wählen Sie den Menüpunkt "Connections" an und bestätigen Sie mit der mittleren Taste.
  4. Wenige Sekunden später zeigt der Brick die zur Verfügung stehenden Netzwerke an. Wählen Sie in diesem Schritt das gewünschte Netzwerk aus und bestätigen Sie.
  5. Wählen Sie "Connect" aus.
  6. Wählen Sie eine Verschlüsselungsmethode aus. In den meisten Fällen wird das Protokoll WPA2 genutzt.
  7. Geben Sie den Netzwerkschlüssel ein und Bestätigen Sie mit dem Haken. (Achten Sie auf Groß- und Kleinschreibung)
    • Falls Sie einem schon bekannten Netzwerk beitreten wollen, kann es vorkommen, dass der Verbindungsaufbau abgebrochen wird. In diesem Fall können Sie das Netzwerk mit der "Remove" - Option entfernen und anschließend neu verbinden.
    • Tipp: Falls die Eingabe der Netzwerkdaten zu aufwendig ist, können Sie auch mithilfe der LEGO MINDSTORMS EDUCATION Anwendung eine Netzwerkverbindung herstellen. Schließen Sie dazu den Brick per USB an Ihren Computer an und clicken Sie auf den Schraubenschlüssel um die Verbindungsart zu ändern. Dort werden Ihnen mögliche Netzwerke vorgeschlagen und die Dateneingabe kann bequem über die Tastatur erfolgen.

Wenn die Verbindung erfolgreich war, sehen Sie hinter dem Netzwerknamen einen Stern.

Verbindung Hostcomputer zu EV3

Um Verbindungsfehler früh zu entdecken sollte zunächst versucht werden den Brick zu "pingen". Gehen Sie in den Brickeinstellungen auf den Reiter "Brick Info" und notieren Sie sich die IP-Adresse und die BrickID. Clicken Sie auf die Windowstaste und suchen Sie nach "cmd". Bestätigen Sie mit Enter. Nun öffnet Sich die Konsole. Die "ping" Funktion sendet 32kb Pakete an die angegebene IP und misst die Dauer der Übertragung.

Beispiel:

ping 192.168.1.3

Wenn der Test erfolgreich war, kann die Verbindung von Matlab und Brick erfolgen.

Um eine Verbindung durch Matlab zum EV3 herzustellen brauchen wir die zuvor notierte IP und ID.

Geben Sie folgenden "legoev3"-Befehl in das Kommandofenster ein:

myev3 = legoev3('wifi','(hier BrickIP einfügen)','(hier BrickID einfügen)');

Der Name des Bricks kann beliebig vergeben werden, muss aber einzigartig sein, da dieser später im Programm als Handle benutzt wird. Bei erfolgreicher Verbindungsherstellung wird dem Workspace die Variable "myev3" hinzugefügt und kann nun verwendet werden.

Um zu testen ob alle Schritte funktioniert haben, kann nun das erste Beispielprogramm ausgeführt werden.

playTone(myev3, 500, 3, 20);

Dieser Befehl spielt auf dem Brick "myev3" für drei Sekunden einen Ton mit der Frequenz 500Hz auf der Lautstärke 20 ab.

Zusammenfassung

Die Konfigurationen sind abgeschlossen.Der Brick ist jetzt bereit für anspruchsvollere programmierungen, da das Programm nicht mehr über den eigenen Mikrocontroller ausgeführt wird, sondern über den Hostcomputer.

Eine Dokumentation über die Befehle lässt sich hier finden: Befehlsdokumentation

Literaturverzeichnis

  1. Übersicht über das Supportpaket
  2. Anleitung Verbindungsaufbau