kramann.info
© Guido Kramann

Login: Passwort:










5.6 SUMO-Roboter zum Tag der offenen Tür

5.6 (EN google-translate)

5.6 (PL google-translate)

Test des W-LAN-Moduls ESP6266 an einem Arduino Micro

Ausgeführt und dokumentiert von Jason Harris und Aaron Schwägerl, Studierenden der Studienrichtung Mechatronik an der TH-Brandenburg im Sommersemester 2016.


https://www.youtube.com/watch?v=lUpUQf16qzQ - SUMO-Robot-Wettbewerb in Japan.

Worum geht es?

Beim Tag der offenen Tür der TH-Brandenburg am Freitag 29.05.2016 treten die Besucher mit einem ferngesteürten Sumo-Robot gegen einen autonomen Sumo-Robot gleicher Bauart an.

Es geht darum, den Gegner von der Runden Platte (Arena) zu schieben.

Verbinden mit einem Server mit dem ESP8266 WLAN Modul und Arduino Micro

Im ersten Schritt, wird eine Verbindung mittels eines Routers zwischen Server und Arduino hergestellt.

Verbindung zwischen Arduino Micro zu einem Server

Bild 5.6-1: Verbindung zwischen Arduino Micro zu einem Server

Steckbrett_Aufbau

Bild 5.6-2: Steckbrett_Aufbau

Der Arduino micro wird hierfür mit dem Source code aus Kapittel "5.5 Fernsteuerrung" "Code 5.5-1: Seriell weiterleiten. Baudrate testen!" geflasht.


Um fortzufahren, müssen in der Arduinosoftware folgende Einstellungen getätigt werden:


1. Richtigen seriellen PORT wählen: Im Menüpunkt "Tools" Serial Port" wurde in unserem Fall der PORT "/dev/dty/ACM0" gewählt.

2. Serial Monitor öffnen: Es gibt zwei verschiedene Möglichkeiten ein "Serial Monitor" Window zu öffnen. Entweder unter dem Menüpunkt "Tools -> Serial Monitor" oder durch klicken auf "magnifying glass" im "editor window".

3. Im "Serial Monitor Window" (Arduino Terminal) muss für unsere Version, im linken unteren "Drop-Down" Menü folgendes ausgewählt werden: "Both NL & CR".

4. Einstellen der Verbindungsgeschwindigkeit (Baud-Rate): Für die Standart Virmware stellen wie im "Serial Monitor Window" im unterem Drop-Down-Menü die Baud-Rate auf "115200 baud".


Um eine Vebindung zu einem Router herzustellen, sollten mögliche gespeicherte Verbindungsinfomationen gelöscht werden.

AT+CWJAP="",""

Code 5.6-1: löschen der gespeicherten Verbindungs informationen

Nun kann nach sichtbaren Netzwerken mit folgenden Befehl gesucht werden:

AT+CWLAP

Code 5.6-2: Auflisten der sichtbaren Netzwerke


Auswählen eines Netzwerk und mit folgendem Befehl fortfahren:

AT+CWJAP="<access_point_name>","<password>"

Code 5.6-3: Mit Netzwerk verbinden


Um zu prüfen, ob die Verbindung hergestellt ist und eine IP vergeben wurde:

AT+CIFSR

Code 5.6-4: Auf verbindung und IP prüfen


Bis hier her ist alle gut gegangen. Wir probierten mit einer Vielzahl an Befehlen Daten zu empfangen... ohne Erfolg...

Da nach 4std keine Ergebnisse erarbeitet werden konnten, entschieden wir uns für eine Änderung der Verbindungen. Daher haben wir uns für folgendes entschieden: Herstellen einer Verbindung zwischen Arduino direkt zu einem Laptop über TELNET:


1. Reset des WIFI Modul. (Einstecken eines kabels -> reset mit ground verbinden)


2. "AT" in den "Seriellen Monitor" eintippen und enter -> Liefert Information über die bestehende Verbindung zwischen Arduino und WLAN Modul


3. MIt dem Befehl:

AT+CWMODE=3

Code 5.6-5: Als Acces und Station Server einrichten

kann das WIFI Modul als Acces Point und Station Server eingerichtet werden.

4. Festlegen ob sich 1 oder mehrere Geräte mit dem Arduino verbinden dürfen:

AT+CIPMUX=1

Code 5.6-6: Für mehrere Teilnehmer

Wenn nur einem Teilnehmer Zugriff erlaubt werden soll:

AT+CIPMUX=0

Code 5.6-7: Für einen Teilnehmer

5. Um festzulegen wie das SSID benannt werden soll / Setzen eines Passwortes (Name und PW sind frei wählbar):

AT+CWSAP="[SSID Name]","[Password]",3,0

Code 5.6-8: ändern des Modul Name und Passwort

6. Damit Daten empfangen werden können, muss ein PORT dafür reserviert werden:


AT+CIPSERVER=1,1336

Code 5.6-9: Festlegung des Ports und Mode

7. Für die Verbindung von einem anderen PC wird die IP des Moduls benötigt. Diese bekommt man mit folgendem Befehl im SM -> Ein Beispiel währe: (zB. 198.168.1.2).

AT+CIFSR 

Code 5.6-10: IP des Moduls herrausfinden

8. Jetzt kann eine Verbindung zu dem Arduino hergestellt werden. Dazu öffnet man ein Terminal und führt folgenden Befehl aus:

sudo telnet "IP des Moduls" "Ausgewählter PORT"

Code 5.6-11: Verbindung zum Arduino herstellen

9. wenn Verbindung hergestellt ist, sollte das Modul mit "connect" antworten.