Een ander praktisch ding in NodeRed is dat je ook gemakkelijk algemene Linux-commando's kunt activeren via NodeRed node.
Uw RaspberryPi kan bijvoorbeeld eenvoudig worden uitgeschakeld of opnieuw worden opgestart. Voorbeelden en informatie hierover vindt u in het volgende artikel.
Eisen
Handige artikelen:
Om nieuwe nodes te kunnen installeren, moet NodeRed natuurlijk al geïnstalleerd zijn.
Hoe je een RaspberryPi voorbereidt en vervolgens NodeRed erop installeert, wordt beschreven in de volgende artikelen.
In de volgende drie artikelen wordt beschreven wat er moet gebeuren om de RaspberryPi voor te bereiden:
RaspberryPi – setup voor nerds!
RaspberryPi – De eerste configuratie!
RaspberryPi – Bedien de RaspberryPi via SSH
NodeRed – NodeRed installeren op de RaspberryPi
Vereist gereedschap:
-Nee-
Benodigd materiaal:
In de volgende lijst vindt u alle onderdelen die u nodig heeft om dit artikel te implementeren.
Log in op de configuratie-interface van NodeRed
Voordat u uw NodeRed-configuratie kunt bewerken, moet u - indien geactiveerd - eerst inloggen op de NodeRed-configuratie-interface.
Eenvoudige uitschakeling met een druk op de knop
Twee simpele knooppunten zijn voldoende om je RaspberryPi eenvoudig af te sluiten.
Links zie je de structuur van twee nodes, die al voldoende zijn om je RaspberryPi uit de NodeRed-omgeving af te sluiten.
De code hiervoor vind je hier:
[ { "id": "7c9a271.bf32bd8", "type": "injecteren", "z": "9ccc4e725c3673aa", "name": "shutdown!", "repeat": "", "crontab": "" , "once": false, "topic": "", "payload": "", "x": 520, "y": 1760, "wires": [ [ "e58b5ea3.57e91" ] ] }, { " id": "e58b5ea3.57e91", "type": "exec", "z": "9ccc4e725c3673aa", "command": "sudo poweroff #", "append": "", "useSpawn": "", " naam": "Pi uitschakelen", "x": 694, "y": 1759, "draden": [ [], [], [] ] } ]
Afsluiten met beveiligingsvraag in dashboard
Eine etwas luxuriösere Verknüpfung ist im folgenden Code enthalten. Manchmal verklickt man sich ja. Und obwohl man noch nicht alles gespeichert hat und den RaspberryPi noch gar nicht herunterfahren wollte, klikct man dann manchmal doch aus versehen auf den „Shutdown“-Button.
Om zoiets te voorkomen is een simpele vraag voldoende of je echt zeker weet dat je de RaspberryPi wilt afsluiten.
Aan de linkerkant ziet u de beschreven stroom. Pas nadat u het afsluitcommando heeft bevestigd, wordt het uitgevoerd.
De code hiervoor vind je hier:
[ { "id": "1702b798.ee9108", "type": "exec", "z": "9ccc4e725c3673aa", "command": "sudo shutdown -h now", "addpay": false, "append": "", "useSpawn": "", "timer": "", "name": "Shutdown", "x": 1020, "y": 2020, "wires": [ [], [], [] ] }, { "id": "7fcdbec0.5807", "type": "function", "z": "9ccc4e725c3673aa", "name": "", "func": "if (msg.payload=='Abbrechen'){msg.payload=false;} else if (msg.payload=='OK'){ msg.payload=true;return msg;}", "outputs": 1, "noerr": 0, "x": 890, "y": 2020, "wires": [ [ "1702b798.ee9108" ] ] }, { "id": "25c2c1c0.47385e", "type": "ui_toast", "z": "9ccc4e725c3673aa", "position": "dialog", "displayTime": "3", "highlight": "", "sendall": true, "outputs": 1, "ok": "OK", "cancel": "Cancel", "raw": false, "topic": "Really?", "name": "Really?", "x": 760, "y": 2020, "wires": [ [ "7fcdbec0.5807" ] ] }, { "id": "3ff7e395.fd757c", "type": "ui_button", "z": "9ccc4e725c3673aa", "name": "", "group": "c50fec45.1c008", "order": 4, "width": 0, "height": 0, "passthru": false, "label": "Server Powerdown", "tooltip": "", "color": "", "bgcolor": "red", "icon": "", "payload": "Sicher?", "payloadType": "str", "topic": "", "x": 590, "y": 2020, "wires": [ [ "25c2c1c0.47385e" ] ] } ]
Herstart Raspberry Pi
Wat werkt bij afsluiten, werkt ook bij opnieuw opstarten. Dus hier is de stroom om uw RaspberryPi opnieuw op te starten vanaf het dashboard of de NodeRed-interface.
Links zie je de flow waarmee je RaspberryPi herstart kan worden.
De code hiervoor vind je hier:
[ { "id": "df20eac13fdcba2e", "type": "exec", "z": "9ccc4e725c3673aa", "command": "sudo reboot", "addpay": false, "append": "", "useSpawn": "", "timer": "", "name": "Reboot", "x": 1140, "y": 2300, "wires": [ [], [], [] ] }, { "id": "02e02a3df0b16d3d", "type": "function", "z": "9ccc4e725c3673aa", "name": "", "func": "if (msg.payload=='Abbrechen'){ msg.payload=false;} else if (msg.payload=='OK'){msg.payload=true; return msg;}", "outputs": 1, "noerr": 0, "x": 990, "y": 2280, "wires": [ [ "df20eac13fdcba2e" ] ] }, { "id": "55940c40590b5819", "type": "inject", "z": "9ccc4e725c3673aa", "name": "", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "", "payloadType": "date", "x": 720, "y": 2320, "wires": [ [ "df20eac13fdcba2e" ] ] }, { "id": "cd3f522e2a28e48a", "type": "ui_toast", "z": "9ccc4e725c3673aa", "position": "dialog", "displayTime": "3", "highlight": "", "sendall": true, "outputs": 1, "ok": "OK", "cancel": "Cancel", "raw": false, "topic": "Really?", "name": "Really", "x": 870, "y": 2280, "wires": [ [ "02e02a3df0b16d3d" ] ] }, { "id": "38d0494f17305068", "type": "ui_button", "z": "9ccc4e725c3673aa", "name": "", "group": "c50fec45.1c008", "order": 3, "width": 0, "height": 0, "passthru": false, "label": "Server Reboot", "tooltip": "", "color": "", "bgcolor": "", "icon": "", "payload": "Sicher?", "payloadType": "str", "topic": "", "x": 720, "y": 2280, "wires": [ [ "cd3f522e2a28e48a" ] ] } ]
Veel plezier met het project
Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂
PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂
Heb je een tip over hoe ik een Raspi in mijn netwerk afsluit met Node-Red. Dus niet degene die op Node-Red draait. Bedankt! geweldige blog bedankt
Hoi Johnny,
Dus je wilt een andere RaspberryPi afsluiten vanaf een RaspberryPi met NodeRed?
Als dat zo is, is dat precies wat ik hier heb beschreven. 😀
https://nerdiy.de/nodered-remote-raspberrypi-neustarten-herunterfahren-und-starten/
Hoop dat dat helpt.
Hartelijke groeten
Fabian
SyntaxError: JSON.parse: expected ‚,‘ or ‚}‘ after property value in object at line 1 column 290 of the JSON data
Bedankt voor de hint. Ik denk dat ik het probleem heb opgelost. Probeer het opnieuw. 🙂