0217-9 Adventskalender IoT_03.indd 1 03.06.
Alle Versuche im Überblick Bevor es losgeht … . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Tag: Das NanoESP-Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Tag: Die Arduino-IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bevor es losgeht … … noch ein paar wichtige Ankündigungen und Hinweise zum erfolgreichen und stressfreien Arbeiten mit dem Kalender. Dieses Handbuch wird durch die Webseite www.iot.fkainka.de unterstützt, wo Sie auch die nötige Software finden. Das Handbuch gibt einen ersten Überblick zu den einzelnen Versuchen. Da das Internet der Dinge ein komplexes Thema ist, finden Sie im Internet ergänzende Informationen, die den Weg zum Erfolg erleichtern.
1. Tag: Das NanoESP-Board 1. Tag Es ist der erste Dezember und damit Zeit, das erste Türchen zu öffnen. Dahinter befindet sich das wohl wichtigste Element des Kalenders: das NanoESP-Board1. Dieser Arduino-kompatible Controller mit WLANFunktion steht im Mittelpunkt der 24 Versuche. Das NanoESP-Board Kurz zusammengefasst lässt sich sagen, dass das Board am ehesten eine Kreuzung aus einem Arduino-Nano-ähnlichen Board und einem WLAN-Modul mit dem Namen ESP8266 ist.
2. Tag: Die Arduino-IDE Diesmal befindet sich hinter dem Türchen ein Steckbrett. Darauf lassen sich schnell und einfach die Hardwareaufbauten des Adventskalenders zusammenstecken. Da bis jetzt nur der NanoESP zur Verfügung steht, fangen wir mit diesem an. 2. Tag Am besten ist es, wenn Sie den Controller wie auf dem Bild gezeigt auf das Steckboard stecken. Dadurch bleibt der meiste Platz für Experimente, das WLANModul ragt hinten über das Steckboard hinaus.
3. Tag: Der NanoESP im Access-Point-Modus 3. Tag Hinter dem dritten Türchen befindet sich der für viele Versuche wichtige Schaltdraht. Als Vorbereitung für spätere Versuche können Sie die Versorgungsleitungen GND und VCC auf die äußeren Bahnen legen. Dadurch haben Sie später einen besseren Zugriff auf diese wichtigen Leitungen. Die Drahtbrücken an GND und VCC Im Projekt des heutigen Tages kommen Sie nun dazu, auch selbst etwas in einem Programm zu verändern.
4. Tag: Verbindung mit dem Internet aufbauen Hinter dem heutigen Türchen verbirgt sich ein 1-kOhm-Widerstand. Heute ist noch nicht viel damit anzufangen, aber morgen wird er wichtig. Im heutigen Versuch wollen wir eine erste Verbindung zu Ihrem Heim-WLAN-Netzwerk einrichten. Dazu müssen Sie, wie an vielen folgenden Tagen, Ihre WLAN-Daten in das Programm eintragen. 4. Tag Doch zunächst müssen Sie das heutige Programm von der Webseite www.iot. fkainka.de herunterladen.
5. Tag: Blynk 5. Tag Eine erste Verbindung vom Board zum Internet haben Sie gestern bereits hergestellt. In den nächsten Tagen soll diese Verbindung effektiv genutzt werden. Dabei beschäftigen wir uns mit der Online-Plattform Blynk, über die kurze Kommandos, Messdaten oder Nachrichten zwischen dem NanoESP-Board und Ihrem Smartphone ausgetauscht werden können. Blynk ermöglicht die einfache Ansteuerung von verschiedenen IoT-Boards, z. B. des Raspberry Pi oder unseres NanoESP, über eine App.
Öffnen Sie die App. Sie werden mit den beiden Optionen Login und Create New Account begrüßt. Erstellen Sie einen neuen Account. Dazu ist nicht mehr notwendig als die Angabe einer E-Mail-Adresse und eines Passworts. Anschließend können Sie sich einloggen. Um die Oberfläche des heutigen Tages auf Ihr Smartphone zu bekommen, gibt es in der App eine besonders praktische Funktion. Tippen Sie dazu auf das Symbol oben rechts, das sich zwischen dem Plus und dem i befindet.
6. Tag: Der Hardware-Button 6. Tag In den gestrigen Versuchen haben Sie eine einfache Steuerung einer LED über die Blynk-App realisiert. Heute werden Sie sehen, dass die Steuerung in beide Richtungen funktioniert. Dafür kommt der Tastschalter hinter dem heutigen Türchen gerade recht.
7. Tag: Analog Write Hinter dem heutigen Türchen befindet sich ein Potenziometer (kurz Poti). Mit ihm können Sie analoge Messungen an die Blynk-App übertragen. Dazu müssen Sie die Schaltung auf dem Bild nachbauen. 7. Tag Das Poti benutzt die untere Leitung für die Verbindung mit A0. Es kann beim Aufbauen mit dem MicroUSB-Kabel etwas eng werden. Damit alles klappt, müssen Sie das Board zunächst vom Kabel trennen und die Drahtbrücken möglichst flach platzieren.
8. Tag: Virtuelle LEDs 8. Tag Im Versuch des sechsten Tages haben Sie gesehen, wie Sie einen Tastschalter auf der Hardwareseite auf einen Button in der App abbilden können. Ein anderes Widget, nämlich das LED-Widget, ist für diesen Fall aber viel eindeutiger. Wie man es richtig einsetzt und welche Möglichkeiten es bietet, sehen Sie im heutigen Versuch. Hinter dem heutigen Türchen befindet sich wieder ein 1-kOhm-Widerstand, der für spätere Versuche wichtig wird.
9. Tag: Helligkeit der realen LED Hinter dem heutigen Türchen befindet sich ein weiterer 1-kOhm-Widerstand. Allerdings muss heute nichts am Hardwareaufbau vom gestrigen Tag verändert werden. Es wird lediglich eine Kleinigkeit an der Oberfläche variiert. 9. Tag Der Aufbau von gestern Das Programm müssen Sie nicht erneut hochladen, wenn Sie einfach die Oberfläche von gestern manuell anpassen. Falls Sie die Oberfläche sicherheitshalber dennoch in die App laden möchten, finden Sie hier wie immer den QR-Code.
10. Tag: Farbmischung 10. Tag Hinter dem heutigen Türchen befindet sich der Grund für die vielen 1-kOhm-Widerstände. Sie finden dort nämlich eine sogenannte RGB-LED. RGB steht für Rot-Grün-Blau, denn bei dieser LED handelt es sich eigentlich um drei LEDs, die über eine gemeinsame Kathode angeschlossen werden können. Durch Variation der Helligkeit der einzelnen LEDs mittels PWM lassen sich nahezu alle denkbaren Farben generieren.
11. Tag: Tag- und Nachtlicht Hinter dem heutigen Türchen befindet sich ein 10-kOhm-Widerstand, den wir heute aber noch nicht benötigen werden. Stattdessen funktioniert der Aufbau des gestrigen Versuchs auch heute. In diesem Projekt werden Sie eine Tag-Nacht-Lampe basteln, die zu bestimmten Uhrzeiten die Farbe wechselt. So können Sie tagsüber ein helles Licht leuchten lassen, während in der Nacht nur ein dunkles Rot als Notbeleuchtung für etwas Orientierung sorgt. 11.
12. Tag: Lichtwächter 12. Tag Hinter dem Türchen des heutigen Tages finden Sie einen Fototransistor. Dabei handelt es sich um einen Sensor, mit dem Helligkeit gemessen werden kann. Das werden Sie heute tun, aber neben dem einfachen Messen schlägt das Projekt auch Alarm, sobald Grenzwerte überschritten werden, die Sie zuvor per App eingestellt haben. Damit das alles funktioniert, müssen Sie den Sensor mit einer Spannungsteilerschaltung an Pin A0 anschließen, wie auf dem unteren Bild zu sehen.
13. Tag: Alarmanlage mit Push-Nachrichten Bei dem Projekt des heutigen Tages handelt es sich um eine einfache, stille Alarmanlage mit PasswortEingabe zum Resetten des Alarms. Damit man vom Alarm überhaupt etwas mitbekommt, sendet das Board eine Push-Nachricht zum Smartphone. Den Tiltsensor hinter dem heutigen Türchen setzen wir als Bewegungssensor ein. Er kann über Erschütterungen informieren und somit Bescheid geben, wenn jemand das NanoESP-Board kippt. 13.
14. Tag: Langzeit-Temperaturmessung 14. Tag Hinter dem heutigen Türchen befindet sich ein NTC-Sensor (Negative Temperature Coefficient, Heißleiter). Seine Leitfähigkeit ändert sich in Abhängigkeit von der Temperatur. Sie nutzen den Sensor heute, um eine Langzeitmessung der Temperatur vorzunehmen. Als kleinen Bonus können Sie einen Zeitpunkt auswählen, zu dem Sie eine Zusammenfassung per Mail geschickt bekommen.
15. Tag: Ein Webserver Nachdem in den letzten Tagen die Blynk-Plattform zentraler Punkt unserer Projekte war, kommt nun ein ganz neues Thema, und zwar der NanoESP als Webserver. Im Versuch des ersten Tages haben Sie bereits einen ersten Eindruck davon bekommen. In den folgenden Tagen werden Sie sehen, was noch alles möglich ist. 15. Tag Hinter dem heutigen Türchen befindet sich ein spezielles doppeladriges Kabel, mit dem sich z. B. auch LEDs oder Sensoren außerhalb des Boards anschließen lassen.
Die Webseite im Browser Wenn Sie jetzt Ihren PC mit dem NanoESP-eigenen WLAN verbinden, müssen Sie die Access-Point-IPAdresse im Browser aufrufen. Die Seiten sind dieselben, mit der Ausnahme, dass keine Bilder angezeigt werden. Das liegt daran, dass der PC über dieses Netzwerk keine Verbindung zum Internet hat und somit die Bilder als externe Ressourcen nicht geladen werden können.
16. Tag: Ein Webserver-Piano Hinter dem heutigen Türchen befindet sich ein Piezo-Schallwandler. Mit ihm ist es möglich, Töne zu generieren, wie im heutigen Versuch deutlich wird. Sie basteln heute eine Art Klavier, das über eine Webseite bedient werden kann. Den Aufbau sehen Sie im folgenden Bild. 16. Tag Der richtige Anschluss des Piezo-Schallwandlers Wenn Sie das Programm hochgeladen haben, können Sie die Webseite des Boards über die IP-Adresse im Browser öffnen.
17. Tag: Wake Up Light 17. Tag Das Projekt des heutigen Tages orientiert sich an einer bekannten Lampe von Phillips, dem Wake Up Light. Es handelt sich dabei um einen Wecker, der, statt ein lautes Geräusch zu machen, langsam die Helligkeit erhöht. So entsteht eine Art Sonnenaufgang, und man wird auf natürliche Weise wach. Hinter dem heutigen Türchen befindet sich ein weiteres Poti, das für den morgigen Versuch wichtig ist.
18. Tag: Klimaüberwachung Hinter dem heutigen Türchen befindet sich ein ganz besonderes Bauteil, nämlich ein Luftfeuchtesensor. Zusammen mit dem Fototransistor und dem NTC ergibt er eine Klimastation für den Hausgebrauch. Dazu ist folgender Aufbau nötig: 18. Tag Der Aufbau mit allen Sensoren (Widerstände 1 kOhm) Der heutige Aufbau ist etwas kniffelig. Vor allem an der Stelle, an der das rechte Poti auf dem Bild sitzt, kommt es zu einer Berührung mit dem NanoESP.
19. Tag: Konfigurationsseite für den NanoESP 19. Tag Hinter dem heutigen Türchen befindet sich ein weiteres Kabel. Mit den beiden Kabeln ist es möglich, z. B. die RGB-LED abseits des Boards zu platzieren. Die RGB-LED werden wir heute benötigen, denn es geht um eine Webseite, über die ihre Farbe eingestellt werden kann.
20. Tag: MQTT (Message Queue Telemetry Transport) Für die letzten Tage in diesem Advent werden Sie nun ein Thema kennenlernen, das eine große Rolle im Bereich IoT spielt. Es geht um das Nachrichtenprotokoll MQTT, das speziell für die Kommunikation von Maschine zu Maschine (M2M) entwickelt wurde. Das Protokoll ist deshalb so genial, weil z. B. Steuerdaten, Messdaten oder Texte sehr einfach und kompakt ausgetauscht werden können.
Die Meldungen im seriellen Monitor Das Board hat sich also erst mit dem WLAN verbunden und dann mit dem Online-Broker. Damit sich die vielen verschiedenen Nutzer nicht in die Quere kommen, muss eine besondere Struktur eingehalten werden. Sie können also nur in Unterthemen der Form NanoESP/MyMQTTiD y Q /... schreiben, wobei Sie MyMQTTiD durch die ID ersetzen müssen, die Sie vom Board im seriellen Monitor angezeigt bekommen. Für den heutigen y Q /test schreiben.
21. Tag: Hausautomation Im Versuch des heutigen Tages werden wir die Eigenschaften und Möglichkeiten von MQTT genauer beleuchten, indem wir ein praktisches Szenario kreieren. In dem Beispiel gibt es ein Gebäude mit zwei Räumen mit jeweils einem Lichtschalter, einem Licht und einem Alarmsensor. Die Lichtschalter schalten das Licht des jeweiligen Raums an oder aus. Die Alarmsensoren aktivieren einen gebäudeweiten Alarm. 21.
22. Tag: MQTT-Cheerlights 22. Tag Im heutigen Versuch geht es um MQTT und um ein globales Projekt, das letztes Jahr vorgestellt wurde: das Cheerlights-Projekt von Hans Schaaler. Für alle, die das Projekt nicht kennen: Es geht um weltweit vernetzte bunte Lichter, die sich simultan über Twitter-Kommandos steuern lassen. Eine andere Version dieses Projekts war Teil des letztjährigen Adventskalenders. Dieses Jahr gibt es die Version mit MQTT und erweiterten Funktionen.
Damit geben Sie sich und der ganzen Welt eine neue Farbe. Falls Sie aber ihre persönliche Farbe bevorzugen, ohne dass jemand dazwischenfunkt, schalten Sie einfach wieder auf den persönlichen Modus um, und schon wechselt die LED wieder zu ihrer vordefinierten Farbe. 23. Tag 23. Tag: MQTT Climate Hinter dem heutigen Türchen befindet sich ein Batterie-Clip für einen 9-V-Block, mit dem Sie das gesamte System mobil machen können.
24. Tag: Geschenkbox 24. Tag Beim letzten Versuch in diesem Advent geht es richtig weihnachtlich zu. Wir basteln eine wiederverwendbare Geschenkbox, mit der Sie Ihre Verwandten beglücken können. Jedes Mal, wenn jemand das Geschenk öffnet, wird der Inhalt in einer individuellen Farbe beleuchtet, und ein Weihnachtssound ertönt. Hinter dem heutigen Türchen befindet sich eine Reflexlichtschranke. Es handelt sich dabei eigentlich um zwei Bauteile, eine IR-Sendediode und einen Fototransistor.
Wobei Sie »MyMQTTiD« durch Ihre persönliche ID und »person« durch die Person, die Sie beschenken wollen, ersetzen. Im Topic »color« publishen Sie nach dem bekannten Schema rgb(X,X,X) eine Farbe und im Topic »song« eine Nummer zwischen 0 und 5, die für einen vordefinierten Song steht. Beide Nachrichten müssen mit dem Retain-Flag versehen werden.
Vorsichtsmaßnahmen Auf keinen Fall irgendwelche GPIO-Pins miteinander verbinden und abwarten, was passiert. Nicht alle GPIO-Pins lassen sich frei programmieren. Einige sind für die Stromversorgung und andere Zwecke fest eingerichtet. Liebe Kunden! Dieses Produkt wurde in Übereinstimmung mit den geltenden europäischen Richtlinien hergestellt und trägt daher das CE-Zeichen. Der bestimmungsgemäße Gebrauch ist in der beiliegenden Anleitung beschrieben.