Cómo: Nodo rojo: apagar y reiniciar Raspberry Pi

Otra cosa práctica en NodeRed es que también puede activar fácilmente comandos comunes de Linux a través del nodo NodeRed.

Por ejemplo, su RaspberryPi se puede apagar o reiniciar fácilmente. Puede encontrar ejemplos e información sobre esto en el siguiente artículo.


Requisitos

Artículos útiles:
Para que pueda instalar nuevos nodos, por supuesto, NodeRed ya debería estar instalado.
En los siguientes artículos se describe cómo preparar una RaspberryPi y luego instalar NodeRed en ella.

Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPi – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH

NodeRed: instalación de NodeRed en RaspberryPi

Herramienta requerida:
-No-

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Inicie sesión en la interfaz de configuración de NodeRed

Antes de que pueda editar su configuración de NodeRed, debe, si está activado, primero iniciar sesión en la interfaz de configuración de NodeRed.

Vista del cuadro de diálogo de inicio de sesión. Aquí debe ingresar los datos de inicio de sesión que especificó durante la configuración del inicio de sesión. Puedes encontrar información al respecto en el artículo NodeRed: configurar el inicio de sesión del usuario.

Apagado simple con solo presionar un botón

Dos nodos simples son suficientes para simplemente apagar su RaspberryPi.

A la izquierda puedes ver la estructura de dos nodos, que ya son suficientes para apagar tu RaspberryPi desde el entorno NodeRed.

Puedes encontrar el código para esto aquí:

[ { "id": "7c9a271.bf32bd8", "type": "inject", "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": "", " nombre": "apagar Pi", "x": 694, "y": 1759, "cables": [ [], [], [] ] } ]

Apagado con pregunta de seguridad en el tablero

En el siguiente código se incluye un atajo un poco más lujoso. A veces te confundes. Y aunque todavía no has guardado todo y no quieres apagar la Raspberry Pi, a veces accidentalmente haces clic en el botón "Apagar".

Para evitar algo como esto, una simple pregunta es suficiente si está realmente seguro de que desea apagar la RaspberryPi.

A la izquierda puedes ver el flujo descrito. Sólo después de haber confirmado el comando de apagado se ejecutará.

Puedes encontrar el código para esto aquí:

[
    {
        "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"
            ]
        ]
    }
]

Reiniciar Raspberry Pi

Lo que funciona al apagar también funciona al reiniciar. Así que aquí está el flujo para reiniciar su RaspberryPi desde el tablero o la interfaz de NodeRed.

A la izquierda puede ver el flujo con el que se puede reiniciar su RaspberryPi.

Puedes encontrar el código para esto aquí:

[
    {
        "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"
            ]
        ]
    }
]

Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

4s comentarios

  1. ¿Tiene algún consejo sobre cómo apago un Raspi en mi red usando Node-Red. Así que no el que se ejecuta en Node-Red. ¡Gracias! gran blog gracias

  2. SyntaxError: JSON.parse: esperado ',' o '}' después del valor de propiedad en el objeto en la línea 1, columna 290 de los datos JSON

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.