… ein paar wichtige Ankündigungen und Hinweise zum erfolgreichen und stressfreien Arbeiten mit dem
Kalender.
Dieses Handbuch zu benutzen ist nur eine von zwei möglichen Herangehensweisen an den Kalender. Die
zweite Möglichkeit besteht darin, die Internetseite
www.conrad.de/iot-adventskalender
ormationsquelle heranzuziehen. Vom Text her sind beide Anleitungen nahezu identisch, allerdings
als In
lässt das Medium Internet ein noch größeres Angebot an Informationen zu, die den Weg zum Erfolg
rn können.
Ein Beispiel für den größeren Informationsgehalt ist die Tatsache, dass auf der Internetseite einige
zusätzliche Bilder eingebunden werden konnten. Eine Webseite ist nicht an Begrenzungen wie
Druckkosten oder Seitenza
Gestaltung. Der ein oder andere Zusatzartikel kann ebenfalls hilfreich für die Entwicklung und Gestaltung
eigener Projekte sein
Eine weitere Hilfestellung ist die Kommentarfunktion. Internet der Dinge ist ein komplexes wie
spannendes und vielschichtiges Thema. Es gibt viele Stolpersteine auf dem Weg zum erfolgreichen
Projekt. Da kann es nur hilfreich sein, wenn man sein Problem einer größeren Community darlegen
kann. Deswegen ist unter jedem Artikel die Kommentarfunktion aktiviert, in der man Fragen stellen,
Verbesserungen vorschlagen oder anderen Projektteilnehmern bei ihrem Problem zur Seite stehen kann.
Ich erhoffe mir dadurch, den Frust des Einzelnen zu minimieren und den Spaß am Projekt über lange
Zeit hoch zu halten, auch wenn einmal etwas klemmt.
eschränkungen gebunden und ermöglicht eine vielschichtige und bunte
Ein dritter Vorteil der Webseite kann der Überraschungsfaktor sein. Der Reiz eines Adventskalenders liegt
darin, dass Sie nicht wissen, was sich hinter dem nächsten Türchen befi ndet. Bei einem Handbuch sehen
Sie meist schon den Versuch auf der nächsten Seite und sind »gespoilert«. Auf der Webseite erscheint
aber jeden Tag nur das Kapitel des jeweiligen Tages. Deswegen mein Rat: Legen Sie das Handbuch nac
diesem Kapitel einfach in die Ecke und holen Sie es vorerst nicht mehr hervor. Gehen Sie stattdessen auf
www.conrad.de/iot-adventskalender und setzen Sie sich ein Lesezeichen auf dem PC, Smartphone oder
Tablet. Dann können Sie jeden Tag, wo auch immer Sie gerade sind, z.B. im Zug auf dem Weg zur Arbeit,
as Kapitel des aktuellen Tages lesen, und später, wenn Sie nach Hause kommen, mit dem praktischen
Teil des Tagesprojekts experimentieren
Alle diejenigen, die dennoch Fan eines klassischen Handbuchs sind, behalten das Heft natürlich in der
Hand. Es kann auch durchaus gemütlich sein, kein digitales Gerät in den Händen halten zu müssen,
wenn man sich einen ersten Überblick über den aktuellen Versuch verschafft. Allerdings bleibt ein
Besuch der Internetseite nicht aus, denn Sie müssen noch das aktuelle Programm herunterladen. Sie
nden es im jeweiligen Artikel unter dem Punkt »Das Programm«
Für welchen Weg auch immer Sie sich beim Durcharbeiten des Kalenders entscheiden, ich wünsche
Ihnen dabei viel Spaß und eine frohe und spannende Vorweihnachtszeit.
Es ist der erste Tag im Dezember und damit Zeit, das erste Türchen zu öffnen. Hinter dem Türchen
befi ndet sich das wichtigste Bauteil dieses Kalender, nämlich das Arduino™-kompatible NanoESP-Board
mit integriertem WLAN-Modul, um das es in diesem Kalender geht.
ie 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
erglichen werden kann. Der rechte Teil ist das WLANModul mit der Bezeichnung ESP8266. Diese beiden
Komponenten kommunizieren über eine per Software
enerierte serielle Schnittstelle miteinander. Dabei
iert die Arduino™-Seite eher als der Chef, der
ie Kommandos an das WLAN-Modul leitet. Einige
ieser Kommandos werden schon heute am ersten Ta
ausprobiert
as Programm
Das Programm des jeweiligen Tages können Sie sich herunterladen, indem Sie auf
www.conrad.de/iot-adventskalender
ehen, Ihre Sprache wählen und den Artikel zum heutigen Projekt aufrufen. Unter der Überschrift »Das
Programm« fi nden Sie den Download. Als Entwicklungsumgebung kommt die Arduino™-Software zum
Ein
z. Die ak
n fi nden Sie auf der Intern
:
Ich habe mit den Arduino™-Versionen 1.6.4 – 1.6.5 gearbeitet. Ältere Versionen können Probleme verur
sachen. Für manche Linux-Versionen existiert derzeit allerdings nur eine sehr alte Version. Tipps, wie
Sie dieses und andere Probleme lösen können, fi nden Sie auf der Internetseite. In der Arduino™-
Arduino™ Nano und den seriellen Port
Programm uploaden
Beim heutigen Download handelt sich um ein sehr simples Programm, das nichts weiter tut, als alle
Daten, die über die serielle Hardwareschnittstelle des Mikrocontrollers empfangen werden, über die
selbst defi nierte 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. Die Libary ist bei den meisten Arduino™
Versionen schon vorinstalliert, falls nicht, sollten Sie sie über den Manager herunterladen
Nachdem das Programm hochgeladen wurde, können Sie den seriellen Monitor der Arduino™
Oberfl äche starten. Bevor es losgehen kann, müssen Sie noch zwei wichtige Einstellungen am Serial
Monitor vornehmen, nämlich unten rechts in der Ecke die Baudrate auf „19200“ stellen und in der Bo
links daneben die Einstellung „CR und NL“ vornehmen.
Nach dem Einstellen sehen Sie schon eine Meldung, 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
eantwortet. Daran können Sie erkennen, dass das Modul funktioniert und einsatzbereit ist.
Sie können dies erneut testen, indem Sie selbst den Befehl
per seriellen Monitor senden. Das hochgeladene 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 werden 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
E
g
l
3
P
.
am Ende ein ready, das Zeichen, dass das Modul nun bereit ist. Mit
AT+CWMOD
können 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 einem 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 Verbindun
aufbauen. Testen Sie den AccesPoint-Modus, indem Sie den Modus 2 über das Kommando
AT+CWMODE = 2
festlegen und dann mit dem Befeh
AT+CWSAP=”MyNanoESP”,”MyPassword”,5,
die zum Access-Point passenden Parameter einstellen. Sie können dann z.. 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
as verbundene Gerät mit IP- und MAC-Adresse anzeigen lassen.
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+CWLA
aufl isten 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 ist damit also geglückt
Mit dem heutigen Projekt wird getestet, ob Sie den Google-Server erreichen können. Dies dient Ihnen als
Test, ob eine prinzipielle Verbindung zum Internet vorhanden ist oder beispielsweise eine Firewall das
NanoESP-Board blockiert.
Hinter dem heutigen Türchen fi nden Sie ein Steckboard. Das Steckboard dient später als
Experimentierplattform, um Sensoren und andere Elemente anschließen zu können. Am besten ist es,
wenn Sie den Controller wie auf dem untern Bild gezeigt auf das Steckboard stecken. Dadurch bleibt der
meiste Platz für Experimente, während das WLAN-Modul hinten über das Steckboard hinausragt. Das
Micro-USB-Kabel hängt dann zwischen den Kontaktseiten und stört nur minimal.
Der NanoESP auf dem Steckboard
as Programm
In dem Beispielprogramm von der Webseite wurden die Vorgänge, die Sie im ersten Beispiel manue
eingetippt haben, größtenteils automatisiert. Der Controller schickt nacheinander Befehle an das ESP
Modul und stellt so u.A. die Verbindung zum WLAN her. Die verschieden langen Timeout-Zeiten geben
em Modul genug Zeit zum Antworten.
Bevor das Programm aber richtig funktionieren kann, müssen Sie hinter den beiden #defi nes SSID und
PASSWORT gleich zu Beginn des Programm-Quellcodes Ihre WLAN-Daten eintragen. Das Modul benötigt
nämlich Zugang zum Internet, um seinen letzten Befehl ausführen zu können. Mit dem Befehl
AT+PIN
können andere Geräte im Netzwerk angepingt werden. Pingen bedeutet, dass man anfragt, ob eine
Adresse grundsätzlich erreichbar ist. Hier wird der Google-Server mit AT+PING=“www.google.de“
angepingt und wenn eine Antwort zurückkommt, erscheint eine Erfolgsmeldung im Serial Monitor
und die mit D3 beschriftete LED, die am Pin D13 am Boards angeschlossen ist, wird aktiviert. Die erste
Kommunikation mit dem Internet ist geglückt.
In dem heutigen Projekt werden zum ersten Mal Daten zwischen Board und PC über das WLAN
usgetauscht. Voraussetzung dafür ist, dass Ihr Rechner über einen WLAN-Adapter verfügt. Es wird das
sogenannte UDP (User Datagram Protocol) verwendet. Ein weiteres Programm auf PC-Seite sorgt für das
rfolgreiche Empfangen der Nachrichten.
Hinter dem dritten Türchen des Kalenders fi nden Sie ein
isoliertes Kabel, das für den Aufbau von Schaltungen
unerlässlich ist. Als Vorbereitung für spätere Versuche
können Sie die Versorgungsleitungen Masse und VCC auf
die äußeren Bahnen legen.
Das Program
Wenn Sie das Programm auf den Controller laden, wird
der Controller als AccesPoint konfi guriert und Sie sollten
in offenes Netzwerk mit dem Namen NanoESP sehen.
Bevor Sie sich allerdings mit dem Netzwerk verbinden,
sollten Sie zunächst noch ein Programm aus dem Internet
wn
n. Bei meinen Ver
Pro-
ramm Packet Sender von Dan Nagle verwendet, das Sie
nter di
m Link down
n:
Die Versorgungsleitungen auf den äußeren Bahnen
ttps://packetsender.com/
Nach dem Laden und Installieren des Programms können Sie Ihren PC mit dem offenen Netzwerk des
NanoESP verbinden. Achten Sie darauf, dass die Firewall das Netzwerk als Heimnetzwerk erkennt, damit
eine Daten geblockt werden. Ihr Rechner sollte nun die IP 192.168.4.2 bekommen haben. Sie können
dies überprüfen, indem Sie den AT-Befehl
3. Tag
AT+CWLIF
über den seriellen Monitor an das Modul senden. Dieser Befehl zeigt alle mit dem AccesPoint
verbundenen Rechner mit IP- und MAC-Adr
Starten Sie das Programm Packet Sender, stellen Sie unter Settings->Network den UDP-Server-Port auf
90 und klicken Sie die Checkbox „Enable UDP Server“ an. In der Regel sollte unten links dann UDP:90
stehen. Falls nicht, müssen Sie die Software einmal neu starten.
Das Programm au
dem Rechner dient nun als UDP-Server, während der Controller als UDP-Client
ingestellt ist. Im UDP-Protokoll ist die Unterscheidung zwischen Client und Server nicht eindeutig, aber
in diesem Fall bedeutet dies, dass Sie mit dem Controller Daten
n Ihren Rechner schicken.
Um Daten zu senden, verwenden Sie den Befehl
AT+CIPSEND=
Die 7 steht für die Anzahl der zu sendenden Zeichen. Es erscheint
as Zeichen > als Rückgabewert. Dies bedeutet, dass Sie nun
Ihre Nachricht übermitteln können. Tippen Sie Hello ein und
estätigen Sie wieder mit Enter. Als Rückgabewert sendet
das Modul SEND OK, und das, obwohl Sie nur fünf Zeichen
ingegeben haben. Das liegt daran, dass nach Ihrer Eingabe noc
Carriage Return und New Line mit gesendet werden, also zwei
Zeichen mehr, die Sie in Ihre Nachrichtenlänge einkalkulieren
müssen.
Wenn Sie wieder zum Packet Sender wechseln und dort unter
Log Traffi c schauen, können Sie den Eingang der Nachricht sehen.
In der ASCII-Ansicht sehen Sie sogar die beiden mitgesendeten
Zeichen, repräsentiert durch \r und \n. Die erste Kommunikation
zwischen Board und PC über das WLAN war also ein Erfolg.
Die Nachricht wurde vom Packet Sender Programm empfange