Wenn Du alles richtig befolgt hast, dann kannst Du Deine NodeRed-Ansicht, wie folgt, erweitern:

fertige_nodes

Dabei ziehst Du einfach das gewünschte Modul aus der linken Übersicht aller installierten Nodes in Dein Dashboard hinein und verbindest die einzelnen Elemente, in dem Du auf einen grauen Anfangspunkt klickst, die Maustaste gedrückt hältst und über dem Endpunkt des gewünschten Elements loslässt.

Nun zur Funktion der einzelnen Elemente:

Alle Elemente, die programmiert werden müssen, enden in der LED auf dem T1-Board, die an- bzw. ausgeschaltet wird.

Das Element "LED" ziehst Du aus der Raspberry Rubrik in Dein Dashboard. Es handelt sich um ein "Raspberry PI (rpi) GPIO OUT"-Element. Nach dem Du jenes auf die Oberfläche gezogen hast, Klickst Du zwei mal darauf, folgende Ansicht öffnet sich:

rpi_node_ansicht

Wähle bzw. klicke in das sich öffnende Raspberry Pinout den 22 Pin, den "GPIO 25" an und lege ihn als "Digital output" fest. Diese Festlegung folgt, wie schon angesproche,n Deinem Schaltplan. Lege außerdem durch Hakensetzung bei "initialise pin state?" den Initialzustand des Pins fest. In unserem Fall lautet dieser "low(0)", das bedeutet, dass die LED nicht angesteuert wird, wenn NodeRed sich anfangs öffnet. Benenne das Element "LED". Schließe das Element.

Füge zwei sogenannte "Inject-Nodes" in Dein Dashboard hinein und verbinde diese, wie beschrieben, mit Deinem Output-Pin (graue zwei Elemente oben). Öffne mit jeweils einem Doppelklick beide Elemente, folgende Ansichten öffnen sich:

inject_an

inject_aus

Das obere Bild repräsentiert die Inject-Node für das Einschalten der LED, die untere für das Ausschalten der LED. Mit beiden Elementen bist Du in der Lage, kurze, binäre Impulse auf den Ausgang des entsprechenden Nodes zu geben, welche bei dem GPIO-Kommunikationssystem gebraucht werden. Vervollständige, wie gezeigt, eine Inject-Node mit einer "1" und die andere mit einer "0", um jeweils ein Signal auf den Raspberry-Pin "22" zu geben oder nicht.

Mit einem Klick auf "Deploy" kannst Du Deine Nodes das erste Mal in Betrieb nehmen. Hast Du alles richtig gemacht, dann kannst Du die Garagenbeleuchtung nun mittels Mausklick auf den gewünschten Node steuern. 

Um Telegram in den Bedienprozess einzubeziehen, füge jeweils für Ein- bzw. Ausschalten einen "Telegram-command" (dunkelblaues Element) und einen "function-node" (gelbes Element) in Ihr Dashboard ein und verbinde diese entsprechend. Auch hier werden Nullen bzw. Einsen an den 22er Pin des Raspberry geleitet. Dies sieht wie folgt in den "function-nodes" aus:

functionode_ein

functionode_aus

Für das Einschalten der LED schreibe in den Code-Block: 

msg.payload=1;

return msg:

Für das Ausschalten der LED schreibe in den Code-Block: 

msg.payload=0;

return msg:


Im letzten Schritt werden die "Telegram-command"-Blöcke eingerichtet und die Verbindung mit dem Telegram-Bot wird hergestellt. Öffne die dunkelblauen Telegram-Command Blöcke. Folgende Ansichten erscheinen:

telegram_command_an
telegram_command_aus

Im Feld "Bot" gib bitte unbedingt den username Deines Telegram-Bots ein, nicht den normalen Namen, der in der Telegram App gesucht wird, wenn Du auf den Bot in der App zugreifen willst! Darunter wird der NodeRed-Name eingetragen und an dritter Stelle das Kommando, worauf der Telegram-Bot hören soll. Dies lautet beim Prototyp "/an" für das Einschalten der Beleuchtung und "/aus" für das Ausschalten der Beleuchtung. Du kannst die Kommandos frei auswählen.
Im letzten Schritt klicke rechts oben auf das grau hinterlegte Zahnrad innerhalb eines "Telegram-commands". Folgende Ansicht öffnet sich:

telegram_command_token

In die Leiste mit dem Titel "Bot-Name" schreibst Du nochmals den "username" Ihres erstellten Telegram-Bots hinein. In die Token-Leiste kopierst Du den API-Key Deines Bots hinein, die Du von Deinem Bot eingangs bekommen hast. Dieser sollte im Idealfall der gleiche Schlüssel wie in Deinem Python-Code sein. 

Nun bist Du in der Lage, mittels der festgelegten Kommandos die Garagenbeleuchtung über Telegram zu steuern, basierend auf einer NodeRed-Steuerung.

Zuletzt geändert: Donnerstag, 5. August 2021, 10:59