37
MACH'S EINFACH JEDE MENGE EXPERIMENTE ZUM SELBER- MACHEN SMART HOME MAKER KIT für Handbuch

DIE BAUTEILE IM ÜBERBLICK - FRANZIS

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

MACH'S EINFACH

MACH'S EINFACH

MA

CH'S

EIN

FACH

MA

KER

KIT

R S

MA

RT

HO

ME

| HAN

DBUC

H

DER PERFEKTE EINSTIEG INS SMART HOME Licht, Heizung, Alarm oder Pflanzenbewäs-serung: Im vernetzten Heim lassen sich die-se und viele weitere Systeme fernsteuernund automatisieren. Steigen Sie mit diesemMaker Kit ein in die Welt des Smart Homes und lernen Sie grundlegende Prozesse und Techniken kennen und selbst anzuwenden.Als Basis für alle Experimente dient Ihnen ein speziell dafür entwickeltes NodeESP- Board, das in diesem Maker Kit enthalten ist.

Vom automatisierten Ein- und Ausschal-ten von LEDs über das Steuern Ihres TVs von irgendwo in der Welt bis hin zur Langzeitüberwachung Ihres Raumklimas ergründen Sie die verschiedenen Aspekte der Hausautomatisierung. Alle benötigten Bauteile, darunter ein speziell entwickel-tes NodeESP-Board, sind in diesem Maker Kit enthalten – es kann sofort losgehen!

u Touch to Speechu Treppenhauslichtu Ein analoger Regleru Ein Stimmungslichtu Deep-Sleep-Messungu MQTT-Buttonu Smarter Schalter für ein Soundboardu Smarte Lichteru Zeitgesteuerte Lichteru Fernbedienungsempfänger

u Universalfernbedienungu Cheerlightsu Bunte Lichteru TV-Hintergrundbeleuchtungu Diodenmessung für Kerzenu Pflanzenwächteru Klimawächteru Piano-Playeru Alarmanlage

Besuchen Sie unsere Webseite

www.franzis.de

DIESE PROJEKTE FÜHREN SIE DURCH:

JEDE MENGE EXPERIMENTE ZUM SELBER-MACHEN

© 2

019

Fran

zis

Verla

g G

mbH

, Ric

hard

-Rei

tzne

r-Alle

e 2,

D-8

5540

Haa

r, G

erm

any

– In

nova

tione

n, Ir

rtüm

er u

nd D

ruck

fehl

er v

orbe

halte

n.

DIE BAUTEILE IM ÜBERBLICK:

SMART HOMEMAKER KIT

für

Handbuch

Für Kinder unter 14 Jahren nicht geeignet

SMART HOMEMAKER KIT

für

Handbuch

1x NodeESP-Board2x Steckboard4x RGB LED2x LED rot2x Taster2x Widerstand 10 kOhm

2x Widerstand 1 kOhm1x Lautsprecher1x Fototransistor2x Potentiometer1x Infrarotempfangsmodul1x Infrarot-LED

1x Temperatursensor1x Luftfeuchtigkeitssensor1x Neigungssensor1x Batteriefach20x Jumperkabel

67064-9_HB.indd 1

Page 2: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

SMART HOMEMAKER KIT

für

Handbuch

67064-9_Titelei.indd 1 04.06.19 13:29

Page 3: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

67064-9_Titelei.indd 3 04.06.19 13:29

Page 4: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

Bibliografi sche Information der Deutschen BibliothekDie Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografi e; detaillierte Daten sind im Internet über http://dnb.ddb.de abru� ar.

Alle in diesem Buch vorgestellten Schaltungen und Programme wurden mit der größtmöglichen Sorgfalt ent-wickelt, geprüft und getestet. Trotzdem können Fehler im Buch und in der Software nicht vollständig ausge-schlossen werden. Verlag und Autor haften in Fällen des Vorsatzes oder der groben Fahrlässigkeit nach den gesetzlichen Bestimmungen. Im Übrigen haften Verlag und Autor nur nach dem Produkthaftungsgesetz wegen der Verletzung des Lebens, des Körpers oder der Gesundheit oder wegen der schuldhaften Verletzung wesentli-cher Vertragspfl ichten. Der Schadensersatzanspruch für die Verletzung wesentlicher Vertragspfl ichten ist auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht ein Fall der zwingenden Haftung nach dem Produkthaftungsgesetz gegeben ist.

Warnung! Augenschutz und LEDs:Blicken Sie nicht aus geringer Entfernung direkt in eine LED, denn ein direkter Blick kann Netzhautschäden ver-ursachen! Dies gilt besonders für helle LEDs im klaren Gehäuse sowie in besonderem Maße für Power-LEDs. Bei weißen, blauen, violetten und ultravioletten LEDs gibt die scheinbare Helligkeit einen falschen Eindruck von der tatsächlichen Gefahr für Ihre Augen. Besondere Vorsicht ist bei der Verwendung von Sammellinsen geboten.Betreiben Sie die LEDs so wie in der Anleitung vorgesehen, nicht aber mit größeren Strömen.

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.

Bei jeder anderen Nutzung oder Veränderung des Produktes sind allein Sie für die Einhaltung der geltenden Regeln verantwortlich. Bauen Sie die Schaltungen deshalb genau so auf, wie es in der Anleitung beschrieben wird. Das Produkt darf nur zusammen mit dieser Anleitung weitergegeben werden.

Das Symbol der durchkreuzten Mülltonne bedeutet, dass dieses Produkt getrennt vom Hausmüll als Elektroschrott dem Recycling zugeführt werden muss. Wo Sie die nächstgelegene kostenlose Annahmestelle fi nden, sagt Ihnen Ihre kommunale Verwaltung.

Für Kinder unter 14 Jahren nicht geeignet!

Arduino ist ein eingetragenes Markenzeichen der Arduino AG!

© 2019 Franzis Verlag GmbH, Richard-Reitzner-Allee 2, 85540 Haar

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Das Erstellen und Verbreiten von Kopien auf Papier, auf Datenträgern oder im Internet, insbesondere als PDF, ist nur mit ausdrücklicher Genehmigung des Verlags gestattet und wird widrigenfalls strafrechtlich verfolgt.Die meisten Produktbezeichnungen von Hard- und Software sowie Firmennamen und Firmenlogos, die in diesem Werk genannt werden, sind in der Regel gleichzeitig auch eingetragene Warenzeichen und sollten als solche betrachtet werden. Der Verlag folgt bei den Produktbezeichnungen im Wesentlichen den Schreibweisen der Hersteller.

Produktmanagement: Tobias SchärtlAutor: Fabian KainkaArt & Design: Anna Lena IbişGTIN: 4019631670649

Innovationen, Irrtümer und Druckfehler vorbehalten

67064-9_Titelei.indd 4 04.06.19 13:29

Page 5: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

Inhalt1. Das NodeESP- Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1 | Inbetriebnahme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2 | Die Hardware des NodeESP . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2. Die Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.1 | UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 | Kommandos im JSON-Format . . . . . . . . . . . . . . . . . . . . . . . 262.3 | MQTT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4 | Webserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.5 | SD-Karte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.6 | WebSocket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3. Smart-Home-Projekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.1 | Node-RED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.2 | Touch to Speech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.3 | Das Treppenhauslicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4 | Ein analoger Regler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.5 | Ein Stimmungslicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6 | Deep-Sleep-Messung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.7 | MQTT-Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653.8 | Smarter Schalter für ein Soundboard . . . . . . . . . . . . . . . . . 693.9 | Smarte Lichter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.10 | Zeitgesteuerte Lichter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.11 | Fernbedienungsempfänger . . . . . . . . . . . . . . . . . . . . . . . . 763.12 | Universalfernbedienung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.13 | Cheerlights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823.14 | Bunte Lichter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853.15 | TV-Hintergrundbeleuchtung . . . . . . . . . . . . . . . . . . . . . . . 883.16 | Einfacher Feuermelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913.17 | Pflanzenwächter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923.18 | Klimawächter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953.19 | Piano-Player . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973.20 | Alarmanlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

4. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024.1 | Programmieren mit der Arduino-IDE . . . . . . . . . . . . . . . . . 1034.2 | Zurück zur Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Page 6: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home- Projekte

Im zweiten Teil des Buchs haben wir uns vor allem mit dem Board und einigen grundlegenden Techniken auseinandergesetzt. In einigen Versuchen wurde gezeigt, wie sich das Board steuern lässt und wie erste Messungen vorgenommen werden. Wir sind bis hierhin noch ohne Hardwareaufbauten ausgekommen. Das ändert sich nun. Um allerdings erfolgreich mit dem Node ESP-Board arbeiten zu können, sind ein paar Vorbereitungen nötig.

In dem Lernpaket befinden sich zwei Steckboards. Sie lassen sich praktischerweise zusammenstecken, um mehr Platz für Ex-perimente zu haben. Das NodeESP-Board kann dann auf beiden Steckboards gleichzeitig platziert werden. Allerdings hat sich herausgestellt, dass diese Konstellation nicht bei jedem funktio-niert. Die einfachste Lösung ist, die Seitenteile der Steckboards abzubrechen. Dazu habe ich die Boards ineinandergesteckt und einfach so lange gebogen, bis ein Seitenteil abbrach. Mit dem anderen Board bin ich ebenso verfahren. Mit einer Zange funk-tioniert das aber genauso gut. Ohne Seitenteile lassen sich die Steckboards näher beieinander platzieren, und es gibt keine Pro-bleme mit dem Raster. Den NodeESP stecken Sie dann einfach auf beide Boards, wie auf dem folgenden Bild zu sehen. So bleibt genügend Platz für weitere Bauteile.

Page 7: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

Abb. 3.1: Der NodesESP auf zwei Steckboards.

Des Weiteren ist es sinnvoll, die beiden Versorgungsleitungen GND und 3,3 V auf die äußeren Bahnen zu legen, wie im folgen-den Aufbauschema zu sehen ist. Das erleichtert den Zugang zu diesen beiden Leitungen. Die Drahtfarben in den Aufbaubildern werden dabei symbolisch in Schwarz für GND-Leitungen und in Rot für 3,3 V dargestellt. Für den Fall, dass Sie noch nie mit ei-nem Steck board dieses Typs gearbeitet haben, finden Sie auf der rechten Seite des unteren Bilds die internen Verbindungen des Boards, hervor gehoben durch blaue Linien.

Page 8: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

693.8 | Smarter Schalter für ein Soundboard

Der große Vorteil bei MQTT und bei Verwenden eines Online- Brokers ist, dass man von überall in der Welt die Buttons auswer-ten kann. Sie können also das Board mit zur Arbeit nehmen, wäh-rend der Node-RED-Server zu Hause auf einem Rechner läuft. Und dann könnten Sie beispielsweise das Licht und die Heizung anstellen, wenn Sie sich auf den Nachhauseweg machen, oder per Sprachausgabe den Daheimgebliebenen mitteilen, dass Sie auf dem Weg sind. Und das alles mit einem simplen Knopfdruck von irgendwo.

3.8 | Smarter Schalter für ein SoundboardIn diesem Versuch werden wir erneut die Touch-Pins des Node-ESP-Boards nutzen, um einen smarten Schalter für das Smart Home zu bauen, der auch batteriebetrieben genutzt werden kann. Dazu ist folgender Aufbau nötig, der nur aus fünf lose hän-genden Drähten als Touch-Buttons und einer Drahtbrücke an Pin 23 besteht.

Die Besonderheit dieses Versuchs besteht vor allem im Pro-gramm selbst, das Sie an dieser Stelle über die Konfigurationssei-te aktivieren können ([K3_P8 – MQTT Touch Buttons]). Nach dem Aktivieren werden Sie feststellen, dass die Status-LED kurz blinkt und dann wieder erlischt. Das liegt daran, dass das Board wieder im stromsparenden Deep-Sleep-Modus betrieben wird. Aufge-weckt wird es aber nicht nach einer gewissen Zeit, sondern erst, wenn Sie einen der Touch-Buttons berühren. Das Board sendet dann zum Broker Infos über den Pin, der das Aufwecken ausge-löst hat. Das sieht z. B. so aus:

{"cmd":"get_touch_state","pin_name":"Touch4", "pin_id":6,"pin_nr":14,"pin_state":true}

Während des Verbindungsaufbaus sehen Sie, dass die Sta-tus-LED grün blinkt. Nach dem Senden leuchtet sie grün und zeigt so das erfolgreiche Übertragen an. Sollte die LED rot auf-leuchten, hat die Übertragung nicht funktioniert. Direkt danach

Page 9: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 70

geht das Board wieder in den Deep-Sleep-Modus. Das System ist so stromsparend, dass man das Board wieder über die Batterien versorgen kann, um den smarten Schalter irgendwo in der Woh-nung zu platzieren.

Abb. 3.21: Fünf gelbe Drähte als Touch-Buttons.

Hinweis

Um statt in den Deep-Sleep-Modus wieder in den normalen Modus zu wechseln, müssen Sie einfach nur die Drahtbrücke an Pin 23 herausziehen und das Board resetten.

Der smarte Schalter selbst ist schon eine Besonderheit, aber wir wollen ihn nun auch mit Node-RED und einer Anwendung

Page 10: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

713.9 | Smarte Lichter

verbinden. Wir werden in dem Node-RED-Flow noch einmal den Audio-Out-Node aus dem „Touch to Speech“-Beispiel bemühen, diesmal aber, um Audiodateien abzuspielen. Dazu müssen Sie zuerst einmal den passenden Flow importieren, natürlich nicht, ohne die alten Flows zu deaktivieren und Ihre persönliche ID statt des [PID]-Platzhalters einzufügen.

Nun können Sie einfach mal ausprobieren, welche Funktionen die einzelnen Buttons eigentlich versteckt halten. In Ihrem eigenen Smart Home kann dieses Programm genutzt werden, um einzelne Elemente, wie Lichter oder smarte Steckdosen, über die Touch-But-tons zu schalten. Dank der energiesparenden Eigenschaften des Programms können Sie das Board mit Batteriefach überall in der Wohnung platzieren. So haben Sie eine praktische Ansteuerungs-möglichkeit für jede erdenkliche Art von Geräten.

Abb. 3.22: Der Flow des Soundboards.

3.9 | Smarte LichterIn dem vorangegangenen Versuch haben wir die Touch-Pins ge-nutzt, um einen smarten Schalter zu entwickeln. In diesem Ver-such werden wir die Idee noch weiter ausbauen. Diesmal nimmt der Controller wieder verschiedene Rollen ein, um ein komplexes Lampensystem zu simulieren. Dazu benötigen Sie den folgen-den Aufbau.

Page 11: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 72

Nun können Sie das Programm [K3_P9 – MQTT Smarte Lichter] aktivieren und den dazugehörigen Flow, den Sie im Beschrei-bungstext der App auf der Config-Seite verlinkt finden, in Ihre Node-RED-Umgebung einfügen. Vergessen Sie nicht, die [PID] durch Ihre persönliche ID zu ersetzen, am einfachsten mit dem schon erwähnten Editor-Trick.

Abb. 3.23: Das Aufbau mit vier losen Kabeln (gelb) als Touch-Buttons.

In dem von Ihnen aktivierten Programm sind die LEDs nun als PWM-LEDs eingestellt. Das bedeutet, dass Sie die Helligkeit der LEDs verändern können. Der Wertebereich reicht dabei von 0 bis 255. Zusätzlich können Sie die LED immer noch wie digitale Ausgänge ein- oder ausschalten. Folgende Kommandos können Sie verwenden:

Page 12: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

733.9 | Smarte Lichter

KOMMANDO IM IN-TOPIC EINSTELLUNGEN

{"cmd":"set_pwm_state", "LED1":255} Die LED wird auf die maxi-male Helligkeit eingestellt. Nur sichtbar, wenn LED an.

{"cmd":"set_pwm_state", "LED1":0} Die LED wird auf die mini-male Helligkeit eingestellt (die LED leuchtet nicht).

{"cmd":"set_pwm_state", "LED1":true} Die LED wird aktiviert, und die letzte Helligkeit wird eingestellt. Änderungen der Helligkeit werden sofort sichtbar.

{"cmd":"set_pwm_state", "LED1":"ON"}

{"cmd":"set_pwm_state", "LED1":false} Die LED wird deaktiviert. Eine Veränderung der Helligkeit wird erst nach einem erneu-ten Deaktivieren sichtbar.

{"cmd":"set_pwm_state", "LED1":"off"}

Diese Statusveränderungen können über das out-Topic oder über NodeESP/[PID]/pwm/state/set gesendet werden. Bei Verän-derung eines Status wird der aktuelle Zustand auch über das To-pic NodeESP/[PID]/pwm/state/get/out gepublisht.

Zusätzlich sind in dem Programm zwei Buttons und vier Touch-Buttons aktiviert, die nach dem bekannten System funk-tionieren. Der Node-RED-Flow ist hier etwas größer, denn für je-den Button und jede Einstellung gibt es eine UI-Schaltfläche.

Abb. 3.24: Das Userinterface in Node-RED.

Page 13: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 74

Das Userinterface gibt schon einige Hinweise darauf, wie dieser Versuch funktioniert. Die beiden LEDs simulieren zwei dimmbare Lampen im Haushalt. Mit den beiden Tastern auf dem Steckboard oder über das Webinterface können sie an- oder aus-geschaltet werden. Mit den Reglern im UI kann die Helligkeit eingestellt werden. Über die Schaltflächen darunter wird die Hel-ligkeit jeweils um +10 oder –10 verändert. Die gleiche Funktion erfüllen die Touch-Buttons. Wenn Sie den auf dem Aufbaubild lin-ken Draht berühren, verringern Sie über die Zeit die Helligkeit der linken LED. Der Draht direkt rechts daneben erhöht die Helligkeit. Die beiden verbleibenden Drähte funktionieren genauso für die rechte LED. Sie können die Helligkeit auch verändern, wenn die LED gerade nicht an ist. Allerdings wird dann die Veränderung erst sichtbar, nachdem Sie die LED wieder angeschaltet haben. Die Funktion kann dennoch sehr praktisch sein, wenn Sie bei-spielsweise die Helligkeit der Lampe in Abhängigkeit der Uhrzeit variieren wollen.

Abb. 3.25: Der komplexe Smarte-Lichter-Flow.

3.10 | Zeitgesteuerte Lichter In dem Lernpaket befinden sich gleich zwei Potentiometer. In diesem Versuch werden wir, alternativ zu den Touch-Buttons, die-se Drehregler verwenden, um die Dimm-Funktion zu realisieren.

Page 14: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

753.10 | Zeitgesteuerte Lichter

Außerdem werde ich Ihnen zeigen, wie man mit Node-RED zeit-gesteuerte Ereignisse startet.

Abb. 3.26: Der Aufbau mit jeweils zwei LEDs, Schaltern und Potentiometern.

Für den Versuch müssen Sie das Programm [K3_P12 – Zeit-gesteuerte Lichter] in der Weboberfläche aktivieren. Anschließend können Sie den verlinkten Flow in die Node-RED-Umgebung ein-fügen, natürlich nicht, ohne die vorherigen Flows zu deaktivieren und das MQTT-Topic auf Ihre persönliche ID anzupassen.

Die LEDs können nun, wie schon bekannt, über die Hardware-buttons oder über das Userinterface an- und ausgeschaltet wer-den. Die Helligkeit der einzelnen LEDs wird über die Potis gesteu-ert. Als Alternative zu den Buttons gibt es die Inject-Nodes unten links. Über diese können Zeiten angeben werden, zu denen ein

Page 15: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 76

Befehl an das Board gesendet wird. Dazu müssen Sie wieder nur doppelt auf den entsprechenden Node klicken, und schon kön-nen Sie einen Zeitpunkt und auch Tage auswählen, an denen die Nachricht geschickt werden soll. Somit können Sie beispiels-weise eine automatische Lampe für Räume oder ein Aquarium einstellen oder an Arbeitstagen eine spezielle Beleuchtung ak-tivieren, ganz automatisch und ganz im Sinne von Smart Home.

Abb. 3.27: Der Flow mit MQTT-Nodes.

3.11 | Fernbedienungsempfänger In Ihrem Lernpaket ist Ihnen sicherlich schon das etwas größere schwarze Bauteil mit den drei Beinchen aufgefallen. Es handelt sich um ein Infrarotempfangsmodul. Mit ihm ist es möglich, han-delsübliche Infrarotfernbedienungssignale zu empfangen. Dazu benötigen Sie folgenden Aufbau:

Nachdem Sie die Schaltung aufgebaut haben, können Sie das Programm [K3_P11 – Fernbedienungsempfänger] auswählen. Die

Page 16: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

773.11 | Fernbedienungsempfänger

Board-Webseite können Sie dann nicht mehr erreichen, denn sie musste für den Versuch deaktiviert werden. Das Board arbeitet nun im Headless-Modus, also ohne sichtbare Oberfläche. Um wieder die Webseite starten und zum Beispiel andere Programme aktivieren zu können, müssen Sie einfach nur die Draht brücke an Pin 23 herausziehen und das Board neu starten. Dann läuft wie-der alles wie gewohnt.

Abb. 3.28: So schließen Sie das IR-Modul richtig am Board an.

Um zu sehen, ob das Programm richtig läuft, müssen Sie den verlinkten Flow in Ihre Node-RED-Umgebung einfügen. Verges-sen Sie nicht, die vorangegangenen Flows zu deaktivieren und den JSON-Text auf Ihr persönliches Topic anzupassen.

Page 17: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 78

Abb. 3.29: Der Flow mit vielen Switch-Ausgängen.

Nachdem Sie den Flow aktiviert haben, können Sie eine Fern-bedienung auf den Empfänger richten. Sie sehen dann auf der GUI-Seite den vom Board übermittelten Text, z. B. folgenden:

{"cmd":"ir_recv","type":3,"value":551489775,-"length":32}

Wichtig ist vor allem der value-Wert. Wählen Sie zum Beispiel die Power-Taste auf Ihrer Fernbedienung und kopieren Sie sich den empfangenen Wert. Dieser muss in den Switch-Node einge-tragen werden. Sie können derzeit fünf verschiedene Werte, also fünf verschiedene Fernbedienungstasten, in den Switch- Node eintragen. Jede dieser Tasten führt dann zu einem Node, der ei-nen Text als Payload setzt und diesen an einen Audio- Out-Node weitergibt. Der erste Wert im Switch-Node entspricht der Pow-er-Taste. Also wird „Power“ vom Browser vorgelesen. Dies dient allerdings allein der Demonstration. Im Sinne des Smart Home können Sie genauso einfach die Wohnzimmer beleuchtung dim-men, wenn der TV angeschaltet wird. Node-RED macht die An-passung nach eigenen Wünschen sehr einfach.

Page 18: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

793.12 | Universalfernbedienung

3.12 | UniversalfernbedienungPassend zu dem vorherigen Versuch mit dem IR-Empfangsmodul befassen wir uns nun mit dem Gegenstück, nämlich der IR- Diode. Sie sieht aus wie eine normale LED und unterscheidet sich von der normalen LED im Lernpaket nur durch ihren bläulichen Bau-teilkopf. Nun können Sie eine komplette Fernbedienung für den Fern seher nachbauen, die Sie per Smartphone und Webseite be-quem steuern können. Dazu benötigen Sie den folgenden Aufbau.

Abb. 3.30: Der Aufbau der Fernbedienung mit IR-Empfänger und Sendediode.

Wählen Sie das Programm [K3_P12 – Universalfernbedienung] aus und importieren Sie den angepassten Flow in Node-RED. Das Board startet anschließend wieder im Headless-Modus, bei dem die Webseite des Boards nicht erreichbar ist. Stattdessen ist nur

Page 19: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 80

die MQTT-Funktion des Boards verfügbar. Um in den Standard-modus zu gelangen, müssen Sie wieder die Drahtbrücke an Pin 23 entfernen und das Board neu starten.

Abb. 3.31: Der Flow der Universalfernbedienung.

Der Flow in Node-RED sieht kompliziert aus, besteht aber im Grunde nur aus einer großen Anzahl von UI-Buttons, die alle in dasselbe Topic schreiben. Bevor Sie den Flow importieren und starten, sollten Sie alle Topics mit dem Alles ersetzen-Trick auf Ihr persönliches Topic umschreiben. Außerdem sollten Sie alle vor-herigen Flows deaktivieren. Anschließend können Sie den Flow starten und auf die UI-Seite wechseln. Sie sehen eine ganze Reihe

Page 20: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

813.12 | Universalfernbedienung

von Buttons, die allerdings noch nicht auf Ihren Fernseher kali-briert sind. Deswegen gehen Sie zunächst auf den zweiten Tab mit dem Namen IR Code Empfänger. Diese Seite sieht zwar viel langweiliger aus, denn sie enthält nur ein Textfeld, ist aber sehr nützlich. Wenn Sie nämlich eine Fernbedienung auf den Empfän-ger richten und eine Taste drücken, erscheint ein Text im Fenster, zum Beispiel folgender:

{"cmd":"ir_send","type":3,"value":551494365,"length":32}

Dieser Text wurde über das Topic NodeESP/[PID]/ir/recv/out empfangen und enthält die Daten des empfangenen Codes. Nur ein paar Kleinigkeiten wurden vom Flow geändert. Zum einen werden sogenannte Wiederholungscodes herausgefiltert, zum anderen wurde das Kommando von ir_recv auf ir_send ge-ändert. Der Grund liegt darin, dass Sie nun den Text praktischer-weise nur kopieren müssen und anschließend in den Payload-Be-reich eines Buttons einfügen können. Schon sendet der Button beim Betätigen auf der UI-Seite das Kommando mit den Daten des Codes an das Board, das wiederum den Code per IR-Diode an den TV überträgt. So können Sie nun Code für Code einprogram-mieren und sich Ihre eigene Fernbedienung erstellen.

Abb. 3.32: Das User Interface der Universalfernbedienung

Page 21: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 82

Abb. 3.33: So werden die Kommandos als Payload des Buttons gespeichert.

Hinweis

Das Layout der GUI ist einer durchschnittlichen modernen Fernbedienung nachempfunden. Icons auf den Buttons sollen die Funktion verdeutlichen. Eine Liste von nutzbaren Icons finden Sie auf der Webseite https://klarsys.github.io/angular-material-icons/.

3.13 | CheerlightsDie RGB-LED, die sich auf dem NodeESP-Board befindet, haben Sie ja bereits kennengelernt. Es gibt allerdings zwei weitere bun-te LEDs in dem Lernpaket. Es handelt sich um RGB-LEDs mit in-tegriertem Controller (Typenbezeichnung PL9823, vergleichbar mit WS2812). Sie ermöglichen es, mehrere LEDs hintereinander-zuschalten und über ein Protokoll einzeln anzusteuern. In diesem

Page 22: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

833.13 | Cheerlights

Versuch werden wir allerdings zunächst nur eine LED ansteuern. Dafür kommt ein Versuch gerade recht: das Cheerlights-Projekt von Hans Schaaler. Für alle diejenigen, die das Projekt nicht ken-nen: Es geht um weltweit vernetzte bunte Lichter, die sich simul-tan über Twitter-Kommandos steuern lassen. Und dazu passt Node-RED sehr gut. Für diesen Versuch benötigen Sie den fol-genden Aufbau und das Programm [K3_P13 – Cheerlights]. Ach-ten Sie besonders darauf, dass die LED richtig angeschlossen ist. Sie sollten das Board während des Aufbauens vom Strom tren-nen und darauf achten, dass die kurzen Beinchen wie auf dem Bild links sind. Wenn Sie die LED falsch herum einstecken, können Sie das Bauteil zerstören!

Abb. 3.34: So wird die PL9823 richtig angeschlossen.

Die LED kann nun über eine Reihe von Kommandos gesteu-ert werden. Sie wird dabei vorwiegend über die Bezeichnung „Pixel“ angesprochen. In diesem Versuch werden wir vor allem

Page 23: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 84

sehen, wie man sämtliche LEDs mit der gleichen Farbe ansteuert. In einem späteren Versuch wird deutlich, mit welchen Komman-dos man den LEDs einzelne Farben zuweisen kann.

Das Cheerlights-Projekt hat eine Webseite (https://cheerlights.com/), auf der Sie einige Informationen zu dem Projekt bekom-men. Außerdem finden Sie dort eine Unterseite, bezeichnet mit Cheerlights API, auf der Sie eine Vielzahl von Möglichkeiten nach-lesen können, wie Sie den aktuellen Farbwert bekommen. Wir benutzen hier die Schnittstelle

http://api.thingspeak.com/channels/1417/field/2/last.json

KOMMANDOS IM IN-TOPIC EINSTELLUNGEN

{"cmd":"set_pixel_hex", "value":"#FFFFFF"}

Setzt alle LEDs auf den Farbwert im HEX-Format.

{"cmd":"set_pixel_rgb", "value":"rgb(255,255,255)"}

Setzt alle LEDs auf den Farbwert im RGB-Format.

{"cmd":"set_pixel_hsv", "value":"hsv(120, 100%, 100%)"}

Setzt alle LEDs auf den Farbwert im HSV-Format.

{"cmd":"get_pixel_hex"} Gibt die aktuelle Farbe im entsprechen-den Format wieder, wird automatisch beim Setzen einer Farbe zurück-gegeben

{"cmd":"get_pixel_rgb"}

{"cmd":"get_pixel_hsv"}

Über sie wird der aktuelle Wert als JSON-Value und im HEX- Format angeboten.

In dem Flow müssen wir einfach automatisiert alle paar Se-kunden diese Seite aufrufen und den aktuellen Wert extrahieren. Es wird überprüft, ob sich der Wert geändert hat. Ist das der Fall, wird die neue Farbe an das Board übertragen. Zusätzlich können Sie den Twitter-Node mit Ihren Twitter-Daten konfigurieren, falls Sie bei Twitter angemeldet sind. Er sucht dann ebenfalls nach Tweets mit dem Cheerlights-Text und liest die Nachricht vor, während sie auf der GUI anzeigt wird.

Page 24: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

853.14 | Bunte Lichter

Abb. 3.35: Der Flow zum Cheerlights Projekt.

Doch wie können Sie die Farbe verändern? Das geht, indem Sie eine Twitter-Nachricht verfassen und damit Ihre und auch die Farbe aller anderen Cheerlights-Nutzer verändern. Die Nachricht muss zum einen #Cheerlights, @Cheerlights oder einfach nur das Stichwort Cheerlights enthalten und zum anderen eine der vordefinierten Farben hinter dem Stichwort stehen haben. Zu den vordefinierten Farben gehören:

red, green, blue, cyan, white, warmwhite, purple, magenta, yellow, orange, pink

Ein möglicher Tweet lautet also: Testing my #cheerlights project on my #NodeESP with the color blue. Damit geben Sie sich und der ganzen Welt eine neue Farbe.

3.14 | Bunte LichterIn dem vorherigen Versuch haben wir mit einer der program-mierbaren RGB-LEDs experimentiert. In diesem Versuch nehmen wir die zweite LED dazu und programmieren eine sehr bunte Lampe, die automatisch ihre Farbe verändert. Dazu ist nachfol-gender Aufbau nötig.

Aktivieren Sie das Programm [K3_P14 – Bunte Lampe] und im-portieren Sie den Flow. Deaktivieren Sie alle vorangegangenen

Page 25: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 86

Flows und ändern Sie gegebenenfalls die Broadcast-IP des UDP-Nodes.

Abb. 3.36: Das Aufbaubild mit zwei programmierbaren LEDs.

Abb. 3.37: Der Flow des Lichter-Projekts.

Page 26: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

873.14 | Bunte Lichter

Der Flow enthält wieder ein paar Userinterface-Elemente, allen voran zwei Color-Picker-Elemente, über die Sie die beiden LEDs steuern können. Es gibt aber zwei weitere Elemente, und zwar ein Switch und ein Element zum Einstellen einer Zahl.

Abb. 3.38: Das Userinterface mit den beiden Color-Pickern.

Wenn Sie den Button drücken, sehen Sie, wie sich die beiden Color-Picker-Elemente verändern. Der kleine Kreis, der den ak-tuellen Farbwert anzeigt, wandert im Kreis herum. Gleichzeitig ändern sich die Farben der beiden LEDs am NodeESP-Board. Sie können auch die Fade-Speed-Zeit verändern und so einen lang-sameren oder schnelleren Wechsel einstellen. Außerdem können Sie während des Fade-Vorgangs die Farbe einer LED verändern. Der Verlauf geht dann ab dem neuen Punkt weiter. Das Gesamt-ergebnis ist eine kleine, schöne Beleuchtung, die Sie sich in die Wohnung hängen können.

Page 27: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 88

3.15 | TV-HintergrundbeleuchtungWie Sie zwei der programmierbaren LEDs über Node-RED steu-ern, wissen Sie jetzt. In dem Lernpaket befinden sich aber sogar vier programmierbare LEDs. Damit können wir in diesem Projekt eine TV-Hintergrundbeleuchtung realisieren, bei der jede LED eine Seite des TVs beleuchtet. Da die meisten TVs eine USB-Buch-se mitbringen, müssen Sie auch kein extra Ladegerät verwenden. Als Abwechslung lässt sich die Beleuchtung direkt vom Board aus über eine Application Page steuern. Für das Projekt benötigen Sie den Aufbau, den das folgende Bild zeigt.

Nach dem Aufbau können Sie das Programm [K3_P14 APP – TV Hintergrundbeleuchtung] aktivieren. Auf der Application Page finden Sie nun zwei Bereiche: Colors und Settings. Wenn Sie auf den Settings-Bereich klicken, erscheinen die auf dem Bild unten gezeigten Elemente, über die Sie zusätzliche Einstellungen für dieses Projekt vornehmen können. Das Projekt ist nämlich nicht nur mit den beiliegenden RGB-LEDs kompatibel, Sie können es z. B. auch mit anderen kompatiblen LED-Bändern betreiben. Ichselbst setze das Projekt in Verbindung mit dem ca. zwei Meterlangen Band WS2312-LEDs ein, das ich hinter meinen Fernsehergeklebt habe. Da die Reihenfolge der Farben bei verschiedenenLED-Typen oft unterschiedlich ist, betrifft die erste Einstellungs-möglichkeit die Reihenfolge der LED-Farben. In dem Lernpakethaben die LEDs das Schema RGB für Rot, Grün, Blau.

In dem Bereich darunter können Sie die Anzahl der verwen-deten LEDs angeben. In diesem Fall haben wir vier der Leuchten angeschlossen. Das nächste Feld dient dazu, die Gesamthellig-keit der LEDs zu begrenzen. Das klingt erst mal sinnlos, hat aber einen einfachen Grund. In Summe können die LEDs nämlich recht stromhungrig werden. Da in unserem Fall die LEDs auch über den Spannungsregler auf dem Board versorgt werden, empfehle ich eine mittlere Einstellung, da sonst der Controller selbst unter dem Engpass leiden und temporäres Fehlverhalten

Abb. 3.39: Der Aufbau mit vier programmierbaren RGB-LEDs.

Abb. 3.40: Die Webseiten zum Einstellen der LEDs.

Page 28: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

893.15 | TV-Hintergrundbeleuchtung

3.15 | TV-HintergrundbeleuchtungWie Sie zwei der programmierbaren LEDs über Node-RED steu-ern, wissen Sie jetzt. In dem Lernpaket befinden sich aber sogar vier programmierbare LEDs. Damit können wir in diesem Projekt eine TV-Hintergrundbeleuchtung realisieren, bei der jede LED eine Seite des TVs beleuchtet. Da die meisten TVs eine USB-Buch-se mitbringen, müssen Sie auch kein extra Ladegerät verwenden. Als Abwechslung lässt sich die Beleuchtung direkt vom Board aus über eine Application Page steuern. Für das Projekt benötigen Sie den Aufbau, den das folgende Bild zeigt.

Nach dem Aufbau können Sie das Programm [K3_P14 APP – TV Hintergrundbeleuchtung] aktivieren. Auf der Application Page finden Sie nun zwei Bereiche: Colors und Settings. Wenn Sie auf den Settings-Bereich klicken, erscheinen die auf dem Bild unten gezeigten Elemente, über die Sie zusätzliche Einstellungen für dieses Projekt vornehmen können. Das Projekt ist nämlich nicht nur mit den beiliegenden RGB-LEDs kompatibel, Sie können es z. B. auch mit anderen kompatiblen LED-Bändern betreiben. Ich selbst setze das Projekt in Verbindung mit dem ca. zwei Meter langen Band WS2312-LEDs ein, das ich hinter meinen Fernseher geklebt habe. Da die Reihenfolge der Farben bei verschiedenen LED-Typen oft unterschiedlich ist, betrifft die erste Einstellungs-möglichkeit die Reihenfolge der LED-Farben. In dem Lernpaket haben die LEDs das Schema RGB für Rot, Grün, Blau.

In dem Bereich darunter können Sie die Anzahl der verwen-deten LEDs angeben. In diesem Fall haben wir vier der Leuchten angeschlossen. Das nächste Feld dient dazu, die Gesamthellig-keit der LEDs zu begrenzen. Das klingt erst mal sinnlos, hat aber einen einfachen Grund. In Summe können die LEDs nämlich recht stromhungrig werden. Da in unserem Fall die LEDs auch über den Spannungsregler auf dem Board versorgt werden, empfehle ich eine mittlere Einstellung, da sonst der Controller selbst unter dem Engpass leiden und temporäres Fehlverhalten

Abb. 3.39: Der Aufbau mit vier programmierbaren RGB-LEDs.

Abb. 3.40: Die Webseiten zum Einstellen der LEDs.

Page 29: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 90

zeigen könnte. Aber auch wenn Sie Ihr LED-Band über eine ex-terne Stromversorgung einspeisen, kann eine Begrenzung der maximal einstellbaren Helligkeit sinnvoll sein, denn man unter-schätzt leicht, wie viel Strom von einem ganzen LED-Band be-nötigt wird.

Sollten Sie bei den Einstellungen die Anzahl der LEDs verän-dert und anschließend mit Submit bestätigt haben, sehen Sie, dass sich auf der Webseite auch etwas verändert hat. In dem obe-ren Bereich ändert sich nämlich die Anzahl der Color- Elemente, denn jedes Color-Element steht für eine LED. Das heißt, Sie kön-nen hier ganz einfach jeder LED eine andere Farbe geben und mit Submit an das Board übertragen. Um allen Color- Elementen gleichzeitig eine andere Farbe zu geben, können Sie das Color-Pi-cker-Element ganz oben nutzen.

Wenn Sie aber bei einem LED-Band mit z.  B. 120 LEDs, die rund um das TV-Gerät verteilt sind, jeweils den vier Ecken des TVs eine eigene Farbe geben wollen, haben Sie ein Problem, denn Sie müssten nahezu jedes Color-Picker-Element einzeln anpas-sen. Zum Glück gibt es auf der App-Seite auch dafür einen Trick: Sie können mit dem Regler rechts neben dem oberen Farbwahl-element die Anzahl der steuerbaren Elemente teilen. Wenn Sie den Regler nämlich auf 2 stellen und 2 in das Textfeld rechts daneben eintippen, erscheint plötzlich ein neues Color-Picker- Element direkt unter dem ersten, hinter dem ebenfalls eine 2 steht. Auf dem Bild der App-Seite ist gut zu sehen, wie die vier LEDs in zwei Bereiche aufgeteilt wurden, die jeweils eine eige-ne Farbe bekommen haben. Sie können jeden Bereich erneut aufteilen oder wieder löschen, indem Sie die Anzahl über den Regler anpassen. Wenn Sie das gewünschte Farbmuster auf der Seite eingestellt haben, müssen Sie es nur noch mit Submit an das Board übertragen. Das Board steuert dann die LEDs an und speichert sogar das aktuelle Farbmuster, sodass es nach einem Neustart direkt wieder angezeigt werden kann.

Page 30: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

913.16 | Einfacher Feuermelder

3.16 | Einfacher FeuermelderMit dem Fototransistor als Lichtsensor haben wir uns in vorheri-gen Versuchen bereits beschäftigt. In den folgenden Versuchen soll es nun allgemein mehr um Messungen im Smart Home ge-hen. In diesem speziellen Versuch werden wir zum ersten Mal den NTC-Widerstand (Negative Temperature Coefficient Ther-mistor) nutzen, der seinen Widerstand passend zur Umgebungs-temperatur verändert. Damit ist es uns möglich, einen kleinen simplen Feuermelder zu bauen.

Abb. 3.41: Der Aufbau mit einem NTC-Widerstand als Temperatursensor.

Der Aufbau bildet einen Spannungsteiler aus einem NTC und einem Potentiometer mit 1 kOhm Widerstand als Gegenspieler. Der NTC hat bei Raumtemperatur idealerweise genau 10 kOhm.

Page 31: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 92

Das es aber immer Toleranzen gibt, lässt sich mit der obigen Schaltung der Gegenwiderstand zwischen 1 und 11 kOhm jus-tieren. Aktivieren Sie das Programm [K3_P15 – Feuermelder] und importieren Sie den entsprechenden Flow. Das Board misst jetzt die Spannung zwischen NTC und Gegenspieler und überträgt die Werte über MQTT an Node-RED.

Abb. 3.42: Der Flow des Feuermelders.

Der Flow wertet nun ständig den gemessenen Wert aus. Soll-te ein bestimmter Wert unterschritten werden (je höher die Tem-peratur, desto kleiner die gemessene Spannung), wird ein Alarm in Form einer vorgelesenen Textnachricht und einer Infobox ausgegeben. Sie können im Userinterface einen Schwellenwert für den Alarm einstellen. Wenn Sie den Schwellwert recht hoch setzen, z. B. auf 2000, und dann den NTC zwischen zwei Fingern erwärmen, werden Sie sehen, wie der Wert immer kleiner wird bis der Schwellwert unterschritten und ein Alarm ausgelöst wird.

3.17 | PflanzenwächterIn dem vorherigen Versuch haben wir den NTC-Widerstand zum Messen der Umgebungstemperatur verwendet. Auch diesmal soll er wieder zum Einsatz kommen. Zusammen mit dem Foto-transistor und ein paar Drähten bauen wir damit einen Pflanzen-wächter, der uns vor schlechten Bedingungen für eine zu über-wachende Pflanze warnt. Dazu benötigen wir den folgenden Aufbau und das Programm [K3_P16 – Pflanzenwächter].

Page 32: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

933.17 | Pflanzenwächter

Abb. 3.43: Der Pflanzenwächter.

Abb. 3.44: Der Flow des Pflanzenwächters.

Page 33: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 94

Der Flow kann in die Node-RED-Umgebung importiert wer-den – natürlich nicht, ohne die vorherigen zu deaktivieren und das Topic anzupassen. Über das out-Topic wird ein JSON-String empfangen, der in etwa so aussieht:

{"cmd":"get_hum_state","Light":3903,"Temp":368, "HUMIDITY":45}

Es werden also die Daten Licht, Temperatur und Feuchtig-keit übertragen. Licht ist hierbei wieder ein relativer Wert mit einem Wertebereich von 0 bis 4.095, genau wie die gemessene Feuchtigkeit. Die Temperatur wird ebenfalls in diesem Wertebe-reich übermittelt. Da damit aber niemand etwas anfangen kann, gibt es einen Function-Node, der die Werte in Grad Celsius um-rechnet. Dargestellt werden die Werte praktischerweise auf der Nutzeroberfläche. Neben den Anzeigen finden sich hier auch ein paar Regler.

Abb. 3.45: Das Userinterface des Pflanzenwächters.

Page 34: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

953.18 | Klimawächter

Diese Regler sind dazu da, Grenzbereiche für die Messwerte festzulegen. Man kann jeweils einen Minimal- und einen Maxi-malwert bestimmen. Möchte man nicht auf einen Wert oder eine Grenze testen, kann man den Regler auch auf eine Extremposi-tion setzen, die vom Board niemals gemessen werden kann. Wenn man also beispielsweise nicht möchte, dass nachts der Alarm für eine zu geringe Helligkeit angeht, kann man den Mini-malregler auf –1 stellen.

Wird einer der Grenzwerte überschritten, triggert der ent-sprechende Switch-Node, und eine Nachricht wird eingestellt, die über das UI ausgegeben wird. Da man dieses oft nicht of-fen hat, kann man zusätzlich seine E-Mail- Zugangsdaten in den E-Mail-Node eintragen. Dann wird eine E-Mail gesendet, die dar-an erinnert, dass man mal wieder die Pflanze gießen oder für bes-sere Lichtverhältnisse sorgen sollte. So wird selbst die einfache Zimmerpflanze smart.

3.18 | KlimawächterEs gibt in dem Lernpaket einen weiteren Sensor, der die aktuelle Luftfeuchtigkeit messen kann. Wir benutzen ihn, um einen voll-ständigen Raumklimawächter zu realisieren. Dazu benötigen wir die folgende Schaltung.

Der Versuch vereint drei Sensoren: den Temperatursensor (NTC), den Lichtsensor (Fototransistor) und den Luftfeuchte-sensor. Zusammen können sie einen recht guten Eindruck von der aktuellen Klimalage in einem Zimmer wiedergeben. Dazu müssen Sie aber zunächst das Programm [K3_P17 – Klimawäch-ter] starten. Das Programm misst nun alle 30 Sekunden alle Werte und überträgt sie über MQTT, was beispielsweise so aussieht:

{"cmd":"get_hum_state","Light":3903,"Temp":368, "HUMIDITY":45}

Page 35: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

3 Smart-Home-Projekte 96

Abb. 3.46: Die Schaltung des Raumklimawächters.

Wenn Sie den verlinkten Flow in Ihre Node-RED-Umgebung kopieren, natürlich nicht, ohne das persönliche Topic anzupas-sen und die vorherigen Flows zu deaktivieren, können Sie auf der GUI-Seite die gemessenen Werte einsehen. Ein Function- Node hat auch diesmal die Temperatur auf einen passenden Wert um-gerechnet. Zur genaueren Kalibrierung sind die beiden Potis da, mit denen Sie die Werte Temperatur und Umgebungshelligkeit anpassen können.

Es gibt noch ein Zusatzfeature. Alle fünf Minuten speichert das Programm nämlich die aktuell gemessenen Werte in eine Datei. Diese trägt den Namen climadata.txt und befindet sich in der Regel in dem Verzeichnis, in dem Node-RED arbeitet. Bei mir war dies

C:\Users\[USERNAME]

Page 36: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

973.19 | Piano-Player

Abb. 3.47: Der Flow zur Langzeitmessung.

[USERNAME] steht für Ihren Windows-Benutzernamen. Sie können den Dateipfad auch in dem Node anpassen. Gespeichert wird übrigens in einem CSV-(Comma-separated Values-)Format, bei dem alle Werte durch Kommata getrennt sind. Somit können Sie die Daten auch einfach in eine Excel-Tabelle einfügen und auswerten. Die Auswertung der Langzeitmessung wird dadurch kinderleicht.

3.19 | Piano-PlayerIn vorherigen Versuchen haben Sie gesehen, wie Sound über die PC-Boxen von Node-RED ausgegeben werden können. Doch auch das NodeESP-Board kann Sound ausgeben, wenngleich etwas rudimentärer. Dazu benötigen Sie den Lautsprecher aus dem Lernpaket und den nachfolgend beschriebenen einfachen Aufbau.

In diesem Versuch ist der Lautsprecher an einen der beiden DAC-Ausgänge des Boards angeschlossen. DAC steht für Digital- Analog-Converter und ermöglicht es, durch digitale Befehle ein analoges Signal zu erzeugen. In diesem Versuch werden wir da-

Page 37: DIE BAUTEILE IM ÜBERBLICK - FRANZIS

MACH'S EINFACH

DER PERFEKTE EINSTIEG INS SMART HOME Licht, Heizung, Alarm oder Pflanzenbewäs-serung: Im vernetzten Heim lassen sich die-se und viele weitere Systeme fernsteuern und automatisieren. Steigen Sie mit diesem Maker Kit ein in die Welt des Smart Homes und lernen Sie grundlegende Prozesse und Techniken kennen und selbst anzuwenden. Als Basis für alle Experimente dient Ihnen ein speziell dafür entwickeltes NodeESP- Board, das in diesem Maker Kit enthalten ist.

Vom automatisierten Ein- und Ausschal-ten von LEDs über das Steuern Ihres TVs von irgendwo in der Welt bis hin zur Langzeitüberwachung Ihres Raumklimas ergründen Sie die verschiedenen Aspekte der Hausautomatisierung. Alle benötigten Bauteile, darunter ein speziell entwickel-tes NodeESP-Board, sind in diesem Maker Kit enthalten – es kann sofort losgehen!

u Touch to Speechu Treppenhauslichtu Ein analoger Regleru Ein Stimmungslichtu Deep-Sleep-Messungu MQTT-Buttonu Smarter Schalter für ein Soundboardu Smarte Lichteru Zeitgesteuerte Lichteru Fernbedienungsempfänger

u Universalfernbedienungu Cheerlightsu Bunte Lichteru TV-Hintergrundbeleuchtungu Diodenmessung für Kerzenu Pflanzenwächteru Klimawächteru Piano-Playeru Alarmanlage

Besuchen Sie unsere Webseite

www.franzis.de

DIESE PROJEKTE FÜHREN SIE DURCH:

© 2

019

Fran

zis

Verla

g G

mbH

, Ric

hard

-Rei

tzne

r-Alle

e 2,

D-8

5540

Haa

r, G

erm

any

– In

nova

tione

n, Ir

rtüm

er u

nd D

ruck

fehl

er v

orbe

halte

n.

DIE BAUTEILE IM ÜBERBLICK:

Für Kinder unter 14 Jahren nicht geeignet

SMART HOMEMAKER KIT

für

Handbuch

1x NodeESP-Board 2x Steckboard4x RGB LED2x LED rot2x Taster2x Widerstand 10 kOhm

2x Widerstand 1 kOhm1x Lautsprecher1x Fototransistor2x Potentiometer1x Infrarotempfangsmodul1x Infrarot-LED

1x Temperatursensor1x Luftfeuchtigkeitssensor1x Neigungssensor1x Batteriefach20x Jumperkabel