WLAN-Modul ESP8266 – Verbindung aufbauen

Die erste Verbindung war nun bereits insofern erfolgreich, dass Daten die das Modul geschickt hat, ausgelesen werden konnten. Ob auch Daten in Form von Befehlen an das WLAN-Modul gesendet werden können steht also noch nicht fest. Dazu benötigen Sie nun wieder ein Terminal Programm – am besten den Serial Monitor der Arduino Software. Sie können zwar auch andere Terminals benutzen, allerdings werden die Befehle nur erkannt, wenn sie in einem besonderen Format geschickt werden. Sie müssen nämlich nach jedem Befehl nicht nur das <CR> (Carriage Return) Zeichen, sondern auch das NL (New Line) Zeichen senden. Die meisten Terminalprogramme senden CR wenn Sie Enter drücken, allerdings nicht NL. Im Arduino Terminal lässt sich diese Funktion einstellen, wie Sie auf dem unteren Bild sehen können.

Wlan7

Die Baudrate betrug bei mir übrigens 9600. Auf diversen Seiten habe ich aber auch von einer Standarteinstellung von 115200 oder  57600 gelesen. Wenn Sie also Nichts oder nur Kauderwelsch empfangen, probieren Sie ein bisschen mit der Baudrate herum. Wenn Sie beim Einschalten des Moduls den Text empfangen ist das ja schon ein gutes Zeichen, dass die Baudrate stimmt. Nun können Sie testen, ob Sie Befehle senden können. Bei den Befehlen handelt es sich um sogenannte AT-Befehle (at steht für attention). Das erste Kommando das Sie ausprobieren können lautet einfach AT. Es sollt ein einfaches OK zurückkommen. Das Kommando hat keine Funktion, außer dass Sie nun wissen, dass die Kommunikation einwandfrei funktioniert. Sie können nun auch einen der folgenden Befehle ausprobieren:

AT+GMR                                           Gibt Firmware Version aus

AT+RST                                             Resetet den Controller

AT+CIOBAUD=<baudrate>          Stellt neue Baudrate ein (in diskreten Werten bis 921600)

AT+CIOBAUD?                                Fragt die aktuelle Baudrate ab

Sie sollten immer auf die Großbuchstaben achten, sonst kommt ein Error zurück. Übrigens können Sie bei fast allen Befehlen ein Fragezeichen anhängen, um die aktuelle Einstellung abzufragen.

 

Nun wird es Zeit das Modul mit einem anderen WLAN-fähigen Gerät verbunden werden. Es gibt drei Varianten, wie sich das Modul dabei verhalten soll.

Die erste Variante ist das Modul als AccesPoint zu verwenden. Das bedeutet, dass das Modul sozusagen wie ein Router funktioniert und ein WLAN-Netzwerk bereitstellt. Andere Geräte, wie z.B. Smartphones können sich dann in dieses Netzwerk einwählen. Die Verbindung zwischen Modul und Handy ist also direkt. Der Vorteil ist vor allem, dass kein Router oder WLAN vorhanden sein muss.

Die zweite Variante ist, dass das Modul als Client funktioniert. Das bedeutet, dass das sich das Modul mit einem bestehenden, z.B. von einem Router bereitgestellten WLAN, verbindet. Dazu muss natürlich das WLAN-Passwort vorhanden sein. DerVorteil ist hier natürlich, dass von allen Geräten im WLAN auf das Modul zugegriffen werden kann. Außerdem kann das Modul über einen Router der mit dem Internet verbunden ist,  auch auf das Internet zugreifen.

Die dritte Variante ist, dass das Modul beide oberen Varianten gleichzeitig zu Verfügung stellt. Es können Sich also Geräte direkt mit dem Modul als AP verbinden oder über den Router eine Verbindung aufbauen.

Modul als AP (Acces Point)

Um den Controller als reinen AccesPoint einzustellen müssen Sie den BefehlAT+CWMODE=2 senden. Dies ist meist auch die Standarteinstellung des Moduls. Nun können Sie ein anderes WLAN-Fähiges Gerät nehmen und das die SSID (=WLAN-Name) des Moduls suchen. Auf dem Bild habe ich meinen Rechner benutzt um die SSID zu finden. Der Name lautete ESP_9EE10B.

Wlan8

Wenn Sie nun auf das WLAN-Netz klicken, wird automatisch eine Verbindung aufgebaut. Ein Passwort ist nicht nötig, da keins definiert wurde. Mit dem Befehl AT+CWLIFkönnen Sie alle verbundenen Clients anzeigen lassen. Über den folgenden Befehl können Sie den Netzwerknamen ändern und ein Passwort sowie andere Parameter einstellen:

AT+CWSAP=“<ssid>“,“<pass>“[,<chan>,<enc>]

<ssid> = SSID

<pass> = Password

<chan> = Kanal 1…14

<enc> = Verschlüsselung: 0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 WPA_WPA2_PSK

Moduls als Client

Wenn Sie das Modul als Client verwenden möchten, müssen Sie zunächst die EinstellungCWMODE auf 1 oder 3 (für AP und Client) setzen. Also mit z.B. folgendem Befehl: AT+CWMODE=1. Nun können Sie zunächst einmal nach bestehenden Netzwerken suchen und zwar mit dem Befehl AT+CWLAP. Nach einer kurzen Zeit werden alle gefundenen WLAN-Netzwerke aufgelistet.

Wlan9

Sie können sich nun mit folgendem Befehl mit einem der Netzwerke verbinden:

AT+CWJAP=“<ssid>“,“<pass>“

<ssid> = SSID

<pass> = Passwort

Wenn der Verbindungsaufbau erfolgreich war erscheint die Meldung OK.

Mit dem Befehl  AT+CIFSR kann nun die aktuelle IP ausgegeben werden. Sollten Sie das Modul im AP und Client Modus simultan laufen haben, werden hier zwei IPs angezeigt. Die Daten des WLANs sowie die meisten andere Einstellungen bleiben übrigens gespeichert. Das bedeutet, dass sich das Modul auch nach wiederanschließen an eine Spannungsversorgung automatisch mit dem gespeicherten WLAN verbindet.