Einfaches Entwickeln einer Touchscreen-GUI mit Raspberry Pi Node-RED
2023/08/03 |Von G Editor
Mit der rasanten Entwicklung der Automatisierungssteuerung und der Internet-of-Things (IoT)-Technologie wird auch die Gestaltung der Mensch-Maschine-Schnittstelle (HMI) immer mehr zu Gunsten einer intuitiven und einfach zu bedienenden Touch-Grafik-Bedienoberfläche verändert. Im Vergleich zu herkömmlichen Bedienelementen wie Tasten, Knöpfen und Hebeln hat die Verwendung von Touchscreens zur Manipulation/Überwachung des Produktionsprozesses von Maschinen die folgenden Vorteile:
- Einfach zu bedienen: Die grafische Benutzeroberfläche ist intuitiv und leicht zu verstehen, was Neueinsteigern den schnellen Einstieg erleichtert.
- Einfach zu aktualisieren: Sie können jederzeit neue Elemente auf der softwarebasierten Benutzeroberfläche hinzufügen, was die Anpassung der Funktionen an die Bedürfnisse der Produktionslinie begü
- Stärkere Sicherheit: Die herkömmliche HMI verwendet Tasten zum Entsperren der Manipulationen, während die grafische Touch-Benutzeroberfläche durch Software gesteuert werden kann, z. B. durch Warnmeldungen, Bestätigung von Doppeleingaben oder Entsperren durch ein Passwort usw., was eine stärkere Sicherheitskontrolle für den Maschinenbetrieb bietet.
Obwohl die Entwicklung von Touch-HMIs ein professionelles Thema ist, ist die Verwendung von Raspberry Pi und der Freeware Node-RED zur Entwicklung von grafischen Touch-Schnittstellen einfach und leicht zu erlernen. Ohne große Programmierkenntnisse kann man mit Node-RED schnell eine kleine Touch-HMI zu Hause entwickeln. Jetzt folgen Sie uns, um die Smart Home Touch HMI zu machen!
1. Node-RED Installieren
Node-RED ist eine von IBM entwickelte visuelle Programmiersoftware, die auf Node.js basiert. Durch Ziehen und Ablegen von Node-Symbolen können Sie Prozesscodes erstellen, was die Belastung der Entwickler beim Schreiben von Programmen erheblich reduziert. Da die Software kostenlos und einfach zu erlernen ist, wird sie häufig für die Entwicklung von IoT-Anwendungen verwendet.
Raspberry Pi OS 32bits hat eine integrierte Node-RED Anwendung. Klicken Sie auf das Raspberry Pi-Menü, Sie finden Node-RED im Ordner Programming.
Wenn Sie eine andere Version des Raspberry Pi-Betriebssystems verwenden, können Sie Node-RED manuell installieren. Öffnen Sie [Terminal] und geben Sie die folgenden Befehle ein. (Node-RED-Installationsanleitung)
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
⏺ Node-RED Ausführen
① Klicken Sie auf das Node-RED-Symbol, um Node-RED zu starten
② Chromium ausführen ⇨ Geben Sie die lokale IP:1880 ein. (Das Beispiel ist 192.168.101.251:1880) (Der Standardverbindungsport von Node-RED ist 1880)
🎁 So prüfen Sie die lokale IP von RPI
Terminal ausführen ⇨ Geben Sie " hostname -I " ein.
2. Weitere Node-RED-Knoten Hinzufügen
Das installierte Node-RED enthält nur einige Basisknoten. Wenn Sie die Abläufe zur Steuerung von Raspberry Pi GPIO-Geräten entwickeln möchten, müssen Sie mehr Knoten laden.
⏺ Knoten des GUI-Dashboards hinzufügen:Klicken Sie auf das Menüsymbol oben rechts corner ⇨ klicken Sie auf [manage palette] ⇨ klicken Sie auf [install] ⇨ geben Sie "dashboard" zur Suche ein ⇨ wählen Sie [node-red-dashboard] zur Installation.
⏺ RPI-GPIO-Knoten hinzufügen:Geben Sie „gpio“ zur Suche ein. ⇨ Wählen Sie [node-red-node-pi-] zur Installieren. (Hinweis: Dieser Knotensatz ist im Lieferumfang enthalten. Die Raspberry Pi-spezifische Version von Node-RED enthält diesen Knotensatz.)
⏺ DHT-Sensorknoten hinzufügen:Geben Sie „dht“ zur Suche ein. ⇨ Wählen Sie [node-red-contrib-dht-sensor] zur Installieren. (Anmerkung: In diesem Beispiel wird DHT-11 verwendet.)
⏺ UI-LED-Knoten hinzufügen:Geben Sie „ui-led“ zur Suche ein. ⇨ Wählen Sie [node-red-contrib-ui-led] zur Installieren.
⏺ Timer-Knoten hinzufügen :Geben Sie „timer“ zur Suche ein.⇨ Wählen Sie [node-red-contrib-timer] zur Installieren.
🎁 Hinweis: Weitere nützliche Knotenpunkte finden Sie auf der Node-RED-Website https://flows.nodered.org/search?type=node
3. Steuerung GPIO Gerät ein/aus
Wir können die Tasten auf dem Node-RED Dashboard so gestalten, dass er die an die GPIO-Pins des Raspberry Pi angeschlossenen LEDs ein- und ausschaltet.
⏺ Hardware-Installation
Schließen Sie die rote LED an die GPIO15- und GND-Pins des Raspberry Pi an.
⏺ Software-Einstellungen
Führen Sie die folgenden Schritte aus, um einen Ablauf zur Steuerung der roten LED in Node-RED zu entwerfen.
② Doppelklicken Sie auf [Schaltfläche], um die Sitzungen zu öffnen. Fügen Sie zunächst eine neue Dashboard-Gruppe hinzu. Geben Sie den Namen des Labels ein und setzen Sie die Nutzlast auf die Zahl 1, um sie zu senden.
③ Ziehen Sie einen [rpi-gpio out]-Knoten auf die Seite. Legen Sie den BCM GPIO-Pin fest und setzen Sie den Standardwert auf 0. Verbinden Sie die beiden Knoten.
④ Siehe Schritt ①, um eine Taste mit LED AUS hinzuzufügen und sie mit PIN 10 zu verbinden. Ziehen Sie außerdem den LED-Knoten vom Dashboard auf die Seite und verbinden Sie ihn mit den beiden Tastenknoten. Stellen Sie den LED-Knoten ein. Lassen Sie ihn rot anzeigen, wenn er die Zahl 1 empfängt, und grau, wenn er die Zahl 0 empfängt.
⑤ Entwerfen Sie das Layout des Dashboards: Klicken Sie auf das Menüsymbol in der oberen rechten Ecke -> klicken Sie auf [Dashboard] -> klicken Sie auf die Schaltfläche [Layout], um die Designseite des Dashboards zu öffnen.
Legen Sie die Breite des Dashboards über den Punkt [Breite] in der oberen rechten Ecke fest. Ziehen oder zoomen Sie die Knoten an die gewünschte Position. (Hinweis: Wenn die Knotengröße automatisch eingestellt ist, können Sie nicht ziehen/zoomen, sondern müssen erst eine Größe festlegen).
⑥ Nachdem das Layout des Dashboards fertig ist, klicken Sie auf die Schaltfläche [Deploy] in der oberen rechten Ecke, um die Einstellungen zu übernehmen. Tippen Sie auf die Schaltfläche Dashboard, um zum Dashboard zu gelangen, wo Sie die Schaltflächen und LED-Leuchten sehen können. Tippen Sie auf LED ON, LED OFF auf dem Touchscreen, um die rote LED ein- oder auszuschalten.
4. Daten des GPIO-Sensors lesen und anzeigen
Node-RED kann die Sensoren am GPIO auslesen und die Daten als Messgerät oder Diagramm anzeigen. Nehmen Sie als Beispiel DHT-11, einen Temperatur- und Feuchtigkeitssensor, und entwerfen Sie ein Armaturenbrett, um die Temperatur und Luftfeuchtigkeit eines Raums zu beobachten/aufzeichnen.
⏺ Hardware-Installation
Verbinden Sie den Power-Pin des DHT-11 mit dem 3,3-V-Pin am RPI
Verbinden Sie den Erdungsstift von DHT-11 mit dem GND-Stift am RPI
Verbinden Sie den Signalpin von DHT-11 mit dem GPIO 04-Pin am RPI
⏺ Software-Einstellungen
Ziehen Sie die Knoten und verbinden Sie sie wie im folgenden Ablauf.
① Ziehen Sie einen [timestamp]-Knoten in „Common“ und legen Sie als Intervall alle 3 Sekunden fest.
② Ziehen Sie einen [rpi-dht22]-Knoten in „ Raspberry Pi“ und stellen Sie den Signal-Pin auf GPIO 04 ein.
③ Datenfunktion festlegen: Lassen Sie das Feld für Temperatur leer und stellen Sie die Feuchtigkeitsfunktion als msg.payload=msg.humidity ein.
④ Stellen Sie die Anzeige der Messgeräte ein: Legen Sie Beschriftung, Bereich, Einheit und Farben fest
⑤ Stellen Sie die Anzeige der Diagramme ein: Legen Sie den Bereich und die Einheit der xy-Achse fest
⑥ Klicken Sie auf [Layout] ⇨ Ordnen Sie das Dashboard-Layout an
⑦ Nachdem Sie auf [Deploy] geklickt haben, gehen Sie zum Dashboard, um die Temperatur- und Luftfeuchtigkeitsdiagramme zu überprüfen.
5. Einstellen eines Zeitgebers für GPIO-Gerät
Ein Timer kann mit dem Timer-Knoten schnell erstellt werden. Ein Klick auf die Schaltfläche im Node-RED Dashboard startet den Timer und schaltet das GPIO-Gerät ein, das am Ende der Zeit automatisch ausgeschaltet wird.
⏺ Hardware-Installation
Verbinden Sie die blaue LED mit dem GND-Pin und dem GPIO24-Pin des Raspberry Pi.
⏺ Software-Einstellungen
Erstellen Sie einen Fluss wie rechts dargestellt.
① Ziehen Sie einen ‚Button‘-Knoten und legen Sie seine Nutzlast auf „true“ fest.
② Stellen Sie den Timer-Knoten auf 60 Sekunden ein und senden Sie 1 oder 0 als Ein/Aus.
③ Stellen Sie den Pin des GPIO-Geräts ein und prüfen Sie den Anfangswert als 0.
④ Stellen Sie die Anzeigefarben und den Wert des LED-Knotens ein.
⑤ Stellen Sie den Messknoten als Kompass ein, um den Zählerstand herunterzuzählen.
⑥ Klicken Sie auf die Schaltfläche [Layout], um das Dashboard-Layout zu entwerfen. Klicken Sie zum Anwenden auf [Deploy].
⑦ Tippen Sie auf die Taste, um die blaue LED und den Timer einzuschalten. Die LED erlischt nach 60 Sekunden.
6. Steuerung der Helligkeit der LED mit Schieberegler
Der Schieberegler-Knoten des Dashboards ist ein Schieberegler-Steuerelement, das zur Steuerung des GPIO-Stroms verwendet werden kann. Entwerfen Sie einen Schieberegler, um die Helligkeit des LED-Lichts zu steuern.
⏺ Hardware-Installation
Verbinden Sie die grüne LED mit den GND- und GPIO-12-Pins von RPI.
⏺ Software-Einstellungen
Erstellen Sie einen Fluss wie rechts dargestellt.
① Ziehen Sie den Knoten [timestamp] und legen Sie die Nutzlast auf 0 fest.
② Ziehen Sie einen -Knoten ⇨ Legen Sie die Beschriftung und den Bereich auf 0 bis 255 fest
③ Stellen Sie den Pin des gpio out-Knotens als GPIO 12 ein und wählen Sie den Typ als PWM-Ausgang.
④ Stellen Sie die Anzeige des Messgeräteknotens ein.
⑤ Fügen Sie alle diese Knoten in eine neue Gruppe ein - Schieberegler. Klicken Sie auf [Layout], um das Layout des Dashboards zu gestalten.
⑥ Nachdem Sie auf [Deploy] geklickt haben, tippen Sie auf den Schieberegler und bewegen Sie ihn, um die Helligkeit der grünen LED zu ändern.
7. Abschluss
Denken Sie nach der Entwicklung der Norde-RED-Flows daran, den folgenden Befehl im Terminal einzugeben, um Node-RED so einzustellen, dass es beim Booten automatisch ausgeführt wird.
sudo systemctl enable nodered.service
Nach dem Hochfahren öffnen Sie einfach Ihren Browser und klicken Sie auf die Node-RED-Website, um die Messdaten anzuzeigen und das Gerät sofort ein- und auszuschalten.
Die Entwicklung einer grafischen Touch-Bedienoberfläche mit Node-RED ist einfach und macht Spaß. Probieren Sie es aus und lassen Sie das professionelle Touch-GUI-Dashboard Ihren kreativen Projekten viele Punkte hinzufügen!
