Zum Hauptinhalt springen

Einleitung

In diesem Tutorial lernen Sie, wie Sie Node-RED verwenden, um eine LED zu steuern, die an den Ausgang eines Revolution Pi DIO Moduls angeschlossen ist, das mit einem RevPi Connect 4 verbunden ist. Das Tutorial richtet sich an Benutzer, die mit grundlegender Programmierung und IoT-Konzepten vertraut sind und Hardware und Software mit industriegerechten Komponenten integrieren möchten. Der Fokus liegt auf:

  • Einrichtung eines Node-RED Flows.
  • Schalten einer LED ein und aus über ein webbasiertes Node-RED Dashboard.

Voraussetzungen

Hardware

  • RevPi Connect 4
  • RevPi DIO Modul
  • Eine 12V LED
  • Verbindungskabel (zum Verdrahten des DIO und der LED).

Software

  • Node-RED

Wenn Sie das vollständige Image verwenden, ist Node-RED bereits vorinstalliert. Wenn Sie das Lite-Image verwenden, ist Node-RED nicht vorinstalliert. Sie können Node-RED gemäß den Anweisungen im folgenden Link installieren: Running on Raspberry Pi: Node-RED.

  • Webbrowser (zum Zugreifen auf die Node-RED-Oberfläche und PiCtory)

Systemeinrichtung

Folgen Sie diesen Schritten, um Ihr System zu konfigurieren. Detaillierte Anweisungen finden Sie in der Getting Started Anleitung.

  • Schalten Sie den RevPi Connect 4 ein

    ▷ Schließen Sie den RevPi Connect 4 an eine Stromquelle an.

    ▷ Stellen Sie sicher, dass er mit Ihrem lokalen Netzwerk verbunden ist, um Zugriff zu ermöglichen.

  • Schalten Sie das RevPi DIO ein

    ▷ Schalten Sie das RevPi DIO Modul ein.

  • Verbindungen überprüfen

    ▷ Stellen Sie sicher, dass die 12V LED ordnungsgemäß mit dem RevPi DIO verbunden ist.

    ▷ Vergewissern Sie sich, dass das RevPi DIO Modul sicher über die PiBridge-Schnittstelle mit dem RevPi Connect 4 verbunden ist.

  • Zugriff auf die RevPi-Oberfläche

    ▷ Öffnen Sie einen Webbrowser auf einem Gerät, das mit demselben Netzwerk verbunden ist.

    ▷ Greifen Sie auf das RevPi-System über die IP-Adresse zu.

system architecture

Hinweis: Für Netzwerkprobleme oder um die IP-Adresse Ihres RevPi zu ermitteln, konsultieren Sie bitte die Getting Started Anleitung.

Schritt 1: Hardware in PiCtory konfigurieren

Starten Sie PiCtory.

Fügen Sie das RevPi DIO Modul zu Ihrer Konfiguration hinzu.

Weisen Sie entsprechende I/O-Namen zu, um die Referenz zu erleichtern, z. B. Output1_LED..

Speichern Sie die Konfiguration und starten Sie den Treiber neu, um die Änderungen anzuwenden.

Schritt 2: Erstellen eines einfachen Flows in Node-RED

Starten Sie Node-Red

▷ Führen Sie den folgenden Befehl im Terminal aus, um das Paket zu installieren:

npm install node-red-dashboard

Fügen Sie einen Dashboard-Schalter-Node hinzu:
Verwenden Sie die Node-RED-Oberfläche, um einen Schalter-Node hinzuzufügen, der den LED-Status umschaltet.

Webstatus login

▷ Doppelklicken Sie auf den Schalter-Node, um ihn zu konfigurieren.

Webstatus login

Nach der Konfiguration:

Webstatus login

Das "Revolution Pi" Modul bietet eine Reihe von Nodes in Node-RED, mit denen Sie die I/O-Pins des Revolution Pi lesen und schreiben können.

Webstatus login

▷ Ziehen Sie den revpi-output-Node per Drag & Drop

▷ Doppelklicken Sie auf die Nodes, um sie zu konfigurieren.

Webstatus login

Nach der Konfiguration:

Webstatus login

Für die Konfiguration der RevPi-Modul-Nodes müssen Sie einen Server und einen Pin eingeben. Nachdem Sie den Server (im Format <IP-Adresse>:8000) eingegeben haben, sollten Sie je nach Art des Nodes automatisch einen Pin auswählen können, ob es sich um einen Eingang oder Ausgang handelt. In diesem Fall möchten Sie Output 1 (mit dem Namen Output_LED) des DIO Moduls verwenden.

▷ Ziehen Sie den debug-Node per Drag & Drop

Die Aufgabe dieses Nodes ist es, Debugging-Informationen anzuzeigen und Ihnen zu helfen, Probleme zu beheben, indem Nachrichten angezeigt werden, die durch den Flow fließen.

Webstatus login

▷ Deployen Sie Ihren Node-RED Flow, indem Sie auf den Deploy-Button in der oberen rechten Ecke der Oberfläche klicken. Dies wird den Flow aktivieren.

Webstatus login

Schritt 4: Schneller Test mit vorgefertigtem Flow

Wenn Sie den Flow lieber testen möchten, ohne ihn Schritt für Schritt manuell zu erstellen, können Sie den unten bereitgestellten JSON-Export direkt importieren. Dieser Flow enthält alle notwendigen Nodes, um den LED-Status umzuschalten und die Payload im Debug-Sidebar zu visualisieren.

Voraussetzung

Stellen Sie sicher, dass das Node-RED Dashboard-Paket installiert ist, bevor Sie den JSON importieren. Wenn nicht, installieren Sie es, indem Sie den folgenden Befehl im Terminal Ihres RevPi ausführen:

npm install node-red-dashboard

Importieren des vorgefertigten Flows

  1. Kopieren Sie den folgenden JSON-Export:
    [
    {
    "id": "45371098831c2f50",
    "type": "tab",
    "label": "Flow 1",
    "disabled": false,
    "info": "",
    "env": []
    },
    {
    "id": "dd91c103fca0df54",
    "type": "ui_switch",
    "z": "45371098831c2f50",
    "name": "ON/OFF",
    "label": "switch",
    "tooltip": "",
    "group": "c5aa454786599927",
    "order": 0,
    "width": 0,
    "height": 0,
    "passthru": true,
    "decouple": "false",
    "topic": "topic",
    "topicType": "msg",
    "style": "",
    "onvalue": "true",
    "onvalueType": "bool",
    "onicon": "",
    "oncolor": "",
    "offvalue": "false",
    "offvalueType": "bool",
    "officon": "",
    "offcolor": "",
    "animate": false,
    "className": "",
    "x": 340,
    "y": 300,
    "wires": [
    [
    "b97624cf8482ce4c",
    "76cf80f93d913ac5"
    ]
    ]
    },
    {
    "id": "b97624cf8482ce4c",
    "type": "revpi-output",
    "z": "45371098831c2f50",
    "server": "23bf8ad0f3c174d6",
    "outputpin": "O_1",
    "overwritevalue": false,
    "outputvalue": "",
    "x": 620,
    "y": 300,
    "wires": []
    },
    {
    "id": "76cf80f93d913ac5",
    "type": "debug",
    "z": "45371098831c2f50",
    "name": "debug 1",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "false",
    "statusVal": "",
    "statusType": "auto",
    "x": 680,
    "y": 460,
    "wires": []
    },
    {
    "id": "c5aa454786599927",
    "type": "ui_group",
    "name": "Standard",
    "tab": "dfde44665fc52d64",
    "order": 1,
    "disp": true,
    "width": "6",
    "collapse": false,
    "className": ""
    },
    {
    "id": "23bf8ad0f3c174d6",
    "type": "revpi-server",
    "host": "<your IP_address>",
    "port": "8000",
    "user": "pi",
    "password": "8e62gy",
    "rejectUnauthorized": false,
    "ca": ""
    },
    {
    "id": "dfde44665fc52d64",
    "type": "ui_tab",
    "name": "Home",
    "icon": "dashboard",
    "disabled": false,
    "hidden": false
    }
    ]
  2. Öffnen Sie den Node-RED Editor auf Ihrem RevPi, indem Sie zu folgendem Link navigieren:
    http://<revpi_ip_address>:1880
  3. Im Editor:
    • Klicken Sie auf das Menü (☰) in der oberen rechten Ecke.
    • Wählen Sie Import > Zwischenablage.
    • Fügen Sie den JSON-Code in das Importfenster ein und klicken Sie auf Importieren.
  4. Platzieren Sie die importierten Nodes auf dem Arbeitsbereich und klicken Sie auf Deploy, um den Flow zu aktivieren.

Testen des Flows

▷ Öffnen Sie das Node-RED Dashboard in Ihrem Webbrowser:

http://<revpi_ip_address>:41880/ui

▷ Verwenden Sie den ON/OFF-Schalter im Dashboard, um zu testen:

  • Das Umschalten des Schalters sendet einen Booleschen Wert (true oder false) an den Pin: O_1-Node, der den LED-Status simuliert.

Node-red ui

  • Die Payload wird im Debug-Bereich des Node-RED Editors angezeigt.

Node-red flow debug