HowTo: Node Red – GPIO eines ESPEasy Geräts steuern

EspEasy und Node Red bieten jeweils für sich genommen schon einige Möglichkeiten zur Automatisierung.

Noch mehr Möglichkeiten bekommt man wenn man beide Systeme miteinander kombiniert. In dem Artikel ESPEasy – Befehle und Aktionen per HTTP, MQTT, UDP und direkt ausführen hatte ich schonmal allgemein beschrieben wie man einem ESPEasy Gerät bestimmte Befehle aus Node Red heraus senden kann.

In diesem Beispiel ist beschrieben wie Ihr dies nutzen könnt um zum Beispiel einen bestimmten GPIO des ESPEasy Geräts zu aktivieren bzw. zu deaktivieren.


Sicherheitshinweise

Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/

Affiliatelinks/Werbelinks

Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂 


Voraussetzungen

Hilfreiche Artikel:
Damit Ihr neue Nodes installieren könnt sollte NodeRed natürlich schon auf Eurem RaspberryPi installiert sein.
Wie ihr einen RaspberryPi dazu vorbereitet und dann NodeRed darauf installiert ist in den folgenden Artikeln beschrieben.

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.


Node Red code importieren

In diesem Abschnitt findet Ihr den Node Red code den Ihr benötigt. Wie ihr diesen in Eure NodeRed Umgebung importieren könnt ist im Artikel NodeRed – Node-Code importieren und exportieren beschrieben.

Um den unten verlinkten Node Code mit Eurem ESPEasy Device nutzen zu können, müsst Ihr dazu noch ein paar Änderungen vornehmen. Diese sind im nächsten Abschnitt beschrieben.

Den Node Red code findet Ihr im Nerdiy-Git-Repository unter folgendem Link:

Ansicht des Node Red Flows in der Konfigurationsoberfläche.


ESPEasy Gerät konfigurieren

Damit Ihr Befehle per MQTT an euer ESPEasy Gerät senden könnt, muss dieses natürlich passend konfiguriert sein. Dazu müsst Ihr zunächst den “Unit Name” Eures ESPEasy Geräts passend einstellen.

Öffnet dazu die Ansicht der Webkonfiguration, wechselt auf den Tab “Config” und konfiguriert den Namen Eures ESPEasy Geräts. Den eingestellten Namen solltet Ihr Euch merken, denn Ihr benötigt ihn später.

Ansicht des “Config”-Tab im Webmenü Eures ESPEasy Geräts.


MQTT Server konfigurieren

Im nächsten Schritt solltet Ihr den MQTT Server auf Eurem ESPEasy Gerät konfigurieren.

Öffnet dazu das Webmenü Eures ESPEasy Geräts und öffnet den Tab “Controllers”. Dort solltet Ihr den MQTT Server wie unten gezeigt einstellen. Wichtig ist dabei neben dem “Controller Hostname” auch das “Controller Subscribe” topic.

Weitere Informationen dazu findet Ihr auch in dem Artikel ESPEasy – MQTT-Server konfigurieren und Topics abonnieren.

Ansicht der MQTT Controller Einstellung im Webmenü Eures ESPEasy Geräts.


GPIO ein und ausschalten

Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr den GPIO einfach nur ein- und ausschalten wollt.

Ansicht des Node Red Flows in der Konfigurationsoberfläche.

Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.

Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.


GPIO Zustand umschalten

Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr den GPIO mit einem Befehl umschalten wollt.

Ansicht des Node Red Flows in der Konfigurationsoberfläche.

Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.

Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.


Längeren Impuls (1 bis 999 Sekunden) auf GPIO schalten

Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 1 bis 999 Sekunden länge ausgeben wollt.

Ansicht des Node Red Flows in der Konfigurationsoberfläche.

Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.

Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.

Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.


Längeren Impuls (10 bis 15000 Millisekunden) auf GPIO schalten

Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 10 bis 15000 Millisekunden länge ausgeben wollt.

Ansicht des Node Red Flows in der Konfigurationsoberfläche.

Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.

Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.

Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.


Kurzen Impuls (1 bis 1000 Millisekunden) auf GPIO schalten

Diesen Teil des Node Red codes könnt Ihr nutzen, wenn ihr auf dem GPIO einen Impuls mit einer Impulsdauer von 1 bis 1000 Millisekunden länge ausgeben wollt.

Ansicht des Node Red Flows in der Konfigurationsoberfläche.

Damit der NodeRed code mit Eurem ESPEasy Gerät funktioniert müsst Ihr sowohl den gewünschten GPIO als auch den Namen Eures ESPEasy Geräts konfigurieren.

Ersetzt dazu die 12 in dem rot markierten Bereich durch Euren gewünschten GPIO und ESPEasy_GPIO durch den Namen Eures ESPEasy Geräts.

Durch Anpassung des Werts für “pulse_duration” könnt Ihr an dieser Stelle die Länge der Impulsdauer anpassen.


Ansicht der Zustandsänderungen im Weblog

Die Zustandsänderung bzw. die erfolgreiche Ausführung des Befehls könnt Ihr auch mit dem Weblog Eures ESPEasy Geräts überprüfen. Öffnet dazu die Webansicht Eures ESPEasy Geräts unter “Tools” und “Log”.

In der geöffneten Ansicht könnt Ihr dann alle ausgeführten Befehle sehen. In diesem Fall die GPIO Befehle.

Ansicht des Weblog eines ESPEasy Geräts.


Weitere Artikel zum Thema NodeRed und ESPEasy

In den folgenden Kategorien findet Ihr weitere Links zum Thema NodeRed und ESPEasy.


Viel Spaß mit dem Projekt

Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂

P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂

Buy Me a Coffee at ko-fi.com       

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.