HowTo: NodeRed – Remote-RaspberryPi neustarten, herunterfahren und starten

In diesem Artikel wird beschrieben wie Ihr aus NodeRed heraus Befehle auf einem Remote-Linux-System ausführen könnt und somit auch in der Lage seid ein ein anderes System neu zu starten und herunterzufahren.


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/


Voraussetzungen

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

Die folgenden drei Artikel beschreiben was zu tun ist um den RaspberryPi soweit vorzubereiten:
RaspberryPi – Einrichten für Nerdiys!
RaspberryPi – Die Erste Konfiguration!
RaspberryPi – Den RaspberryPi über SSH steuern

NodeRed – Installation von NodeRed auf dem RaspberryPi

Benötigtes Werkzeug:
-keins-

Benötigtes Material:

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


Login per SSH ohne Passwortabfrage einrichten

Damit dieser Node-Code funktioniert müsst Ihr zunächst auf eurem RaspberryPi von dem Ihr die Befehle senden wollt – in diesem Fall der RaspberryPi auf dem NodeRed läuft – ein SSH-Schlüsselpaar erzeugen und mit dem RaspberryPi den ihr steuern wollt – in diesem Fall der RaspberryPi auf dem die MagicMirror-Installation läuft – austauschen.
Wie das geht ist in dem Artikel RaspberryPi – Login per SSH ohne Passwortabfrage erklärt.


In die NodeRed Konfigurationsoberfläche einloggen

Bevor Ihr eure NodeRed Konfiguration bearbeiten könnt müsst Ihr Euch - falls aktiviert - zunächst in die NodeRed Konfigurationsoberfläche einloggen.

Ansicht des Loginbildschirms. Hier müsst Ihr die Logindaten eingeben die Ihr während der Konfiguration des Logins angegeben habt. Infos dazu findet Ihr im Artikel NodeRed - Benutzerlogin einrichten.

Node-Code

Der folgende NodeCode bewirkt, dass Ihr das Remote-System aus dem Dashboard eurer NodeRed-Installation herunterfahren oder neustarten könnt. Vergesst nach dem einfügen des Node-Codes nicht die beiden Buttons auf Eurem Dashboard zu positionieren. Infos dazu findet Ihr in dem Artikel NodeRed – Mit Dashboard-Nodes eine Benutzeroberfläche erstellen.

[{"id":"73cd461.3b36fb8","type":"exec","z":"5ebf035f.49459c","command":"ssh pi@raspi 'sudo reboot'","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"Reboot","x":900,"y":200,"wires":[[],[],[]]},{"id":"1a778b31.9113b5","type":"exec","z":"5ebf035f.49459c","command":"ssh pi@raspi 'sudo shutdown -h now'","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"Shutdown","x":900,"y":280,"wires":[[],[],[]]},{"id":"91b9aaff.d3c2a8","type":"ui_button","z":"5ebf035f.49459c","name":"","group":"86d0df05.3b41b","order":3,"width":0,"height":0,"passthru":false,"label":"MagicMirror Neustarten","color":"","bgcolor":"","icon":"","payload":"Sicher?","payloadType":"str","topic":"","x":190,"y":200,"wires":[["32a5cb04.d66954"]]},{"id":"4244b4dc.e34d0c","type":"ui_button","z":"5ebf035f.49459c","name":"","group":"86d0df05.3b41b","order":4,"width":0,"height":0,"passthru":false,"label":"MagicMirror Herunterfahren","color":"","bgcolor":"red","icon":"","payload":"Sicher?","payloadType":"str","topic":"","x":200,"y":280,"wires":[["16e4d592.cf3ffa"]]},{"id":"32a5cb04.d66954","type":"ui_toast","z":"5ebf035f.49459c","position":"dialog","displayTime":"3","highlight":"","outputs":1,"ok":"OK","cancel":"Abbrechen","topic":"MagicMirror neu starten?","name":"MagicMirror neu starten?","x":472,"y":198.99994277954102,"wires":[["470e3428.e7f03c"]]},{"id":"470e3428.e7f03c","type":"function","z":"5ebf035f.49459c","name":"","func":"if (msg.payload==\"Abbrechen\")\n{\n    msg.payload=false;\n} else if (msg.payload==\"OK\")\n{\n    msg.payload=true;\n    return msg;\n}\n","outputs":1,"noerr":0,"x":712,"y":198.99994277954102,"wires":[["73cd461.3b36fb8"]]},{"id":"16e4d592.cf3ffa","type":"ui_toast","z":"5ebf035f.49459c","position":"dialog","displayTime":"3","highlight":"","outputs":1,"ok":"OK","cancel":"Abbrechen","topic":"MagicMirror Herunterfahren?","name":"MagicMirror Herunterfahren?","x":482,"y":278.999942779541,"wires":[["4f2bc503.a2cc3c"]]},{"id":"4f2bc503.a2cc3c","type":"function","z":"5ebf035f.49459c","name":"","func":"if (msg.payload==\"Abbrechen\")\n{\n    msg.payload=false;\n} else if (msg.payload==\"OK\")\n{\n    msg.payload=true;\n    return msg;\n}\n","outputs":1,"noerr":0,"x":712,"y":278.999942779541,"wires":[["1a778b31.9113b5"]]},{"id":"86d0df05.3b41b","type":"ui_group","z":"","name":"System","tab":"3e1c2ede.fa5842","disp":true,"width":"6","collapse":false},{"id":"3e1c2ede.fa5842","type":"ui_tab","z":"","name":"Einstellungen","icon":"dashboard"}]

Auf diese Art könnt Ihr natürlich auch andere Befehle auf dem Remote-System ausführen.

Ändert dazu einfach den angegebenen Befehl zwischen den Anführungszeichen. Dieser Befehl wird dann auf dem Remote-System ausgeführt.

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. 🙂

Fab

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.