Es ist der erste Tag im Dezember und damit Zeit, das erste Türchen zu öffnen. Hinter dem Türchen befindet sich das wichtigste Bauteil dieses Kalender, nämlich das Arduino-kompatible NanoESP-Board mit integrierten WLAN-Modul, um das es in diesem Kalender geht.

Das NanoESP Board
Das NanoESP Board

Wie man an der Platine recht gut erkennen kann, besteht das Board aus zwei Komponenten. Bei der linken Hälfte handelt es sich um ein Arduino kompatibles Mikrocontrollersystem, das mit dem Arduino Nano verglichen werden kann. Der rechte Teil ist das WLAN-Modul mit der Bezeichnung ESP8266. Diese beiden Komponenten kommunizieren über eine per Software generierte serielle Schnittstelle miteinander. Dabei fungiert die Arduino-Seite eher als der Chef, der die Kommandos an das WLAN-Modul leitet. Einige dieser Kommandos werden schon heute am ersten Tag ausprobiert.

Hier können Sie das heutige Programm herunterladen:

Das Programm:****Day1_SoftwareSerial

Als Entwicklungsumgebung kommt die Arduino Software zum Einsatz. Die aktuelle Version finden Sie auf der Internetseite

www.arduino.cc

Ich habe mit den Arduino-Versionen 1.6.4 – 1.6.5 gearbeitet. Ältere Versionen können Probleme verursachen. Für manche Linux-Versionen existiert derzeit allerdings nur eine sehr alte Version. Tipps wie Sie dieses und andere Probleme lösen können, finden Sie auf der Internetseite. In der Arduino-Software müssen Sie dann als Board Arduino Nano und den seriellen Port auswählen. Dann können Sie das Programm uploaden.

Beim heutigen Download handelt sich um ein sehr simples Programm welches nichts weiter tut, als alle Daten, die über die serielle Hardwareschnittstelle des Mikrocontroller empfangen werden, über die selbst definierte Softwareschnittstelle an den ESP-Controller durchzureichen. Das Ganze funktioniert auch in umgekehrter Richtung. Wie man im Quelltext sehen kann, sind die beiden Anschlüsse der Softwareschnittstelle die Pins 11 und 12. Diese sollten in eigenen Projekten nicht als GPIO-Pins verwendet werden. Sie benötigen außerdem die SoftwareSerial-Library. Diese ist bei den meisten Arduino-Versionen schon vorinstalliert, falls nicht sollten Sie die Library über den Manager herunterladen.

Nachdem das Programm hochgeladen wurde, können Sie den Seriellen Monitor der Arduino-Oberfläche starten. Bevor es nun losgehen kann, müssen Sie noch zwei wichtige Einstellung am Serial Monitor vornehmen, nämlich unten rechts in der Ecke die Baudrate auf 19200 stellen und in der Box links daneben die Einstellung “CR und NL” vornehmen.

Nach dem Einstellen sehen Sie schon eine Meldungen, nämlich ein AT und ein paar Zeilen darunter ein OK. Das Kommando AT wurde vom Mikrocontroller an das ESP-Modul gesendet und das Modul hat mit OK geantwortet. Hieran können Sie erkennen, dass das Modul funktioniert und einsatzbereit ist.

Sie können dies erneut testen,  indem Sie selbst den Befehl

AT

per Seriellen Monitor senden. Das hochgeladenen Programm reicht den Befehl erneut an das ESP-Modul durch, welches wiederum mit OK antwortet. Den nächsten Befehl den Sie testen können lautet:

AT+GMR

Mit diesem Befehl wird die aktuelle Firmware und Versionsnummer ausgegeben. Mit dem Befehl

AT+RST

können Sie das Modul reseten. Sie sehen dann im Terminal zunächst ein paar unleserliche Zeichen und am Ende ready , das Zeichen, dass das Modul nun bereit ist. Mit

AT+CWMODE

Können Sie dem Sie den WLAN-Modus festlegen. Es gibt drei Möglichkeiten: Modus 1 ist der Stationsmodus. Das bedeutet, Sie können sich mit dem Modul in ein bestehendes WLAN einwählen. Modus 2 ist der AccesPoint Modus. Das bedeutet, Sie können sich mit einem WLAN-fähigem Gerät in ein vom Modul bereitgestelltes WLAN anmelden. Modus 3 ist der Duale Modus. Sie können sich also sowohl mit dem Modul in ein bestehendes WLAN einwählen, als auch mit einem weiteren Gerät eine direkte Verbindung aufbauen. Testen Sie den AccesPoint-Modus indem Sie den Modus 2 über das Kommando

AT+CWMODE=2

einstellen und dann mit dem Befehl

AT+CWSAP=“MyNanoESP”,“MyPassword”,5,3

die passenden Parameter zum Access-Point einstellen. Sie können dann z.B. mit einem WLAN-fähigen PC das Netzwerk MyNanoESP suchen und sich mit dem Passwort MyPasswort verbinden. Wurde die Verbindung erfolgreich aufgebaut können Sie mit

AT+CWLIF

das verbundene Gerät mittels IP und MAC Adresse anzeigen lassen.

Die AT-Kommandos im Seriellen Monitor
Die AT-Kommandos im Seriellen Monitor

((Day1-2.jpg)) Die AT-Kommandos im Seriellen Monitor

Sie können nun auch den Stationsmodus testen indem Sie zunächst mit

AT+CWMODE=1

den Modus umstellen. Sie können alle verfügbaren WLAN-Netzwerke in Reichweite durch den Befehl

AT+CWLAP

auflisten lassen. Schließlich stellen Sie mit

AT+CWJAP=“MySSID”,“MyPassword”

eine Verbindung mit Ihrem Netzwerk her wobei Sie MySSID und MyPassword durch Ihren Netzwerknamen und Ihr Passwort ersetzen. Es kann eine ganze Weile dauern bis die Verbindung hergestellt wird, aber am Ende steht ein OK als Bestätigung. Der erste Verbindungaufbau wäre damit also geglückt.