Ausführen von Node-RED auf einem BeagleBone-Board

Installieren Sie

Wenn Sie die neueste Version von Node-RED 1.x nutzen möchten, müssen Sie das Debian (10) Buster-Image von beagleboard.org verwenden – und anschließend ein vollständiges Upgrade auf die neueste Version durchführen.

sudo apt update && sudo apt full-upgrade

Derzeit ist Debian (10) Buster nur als SD-Karten-Image verfügbar. Wenn Sie das Image auf den eMMC flashen möchten, bearbeiten Sie die Datei /boot/uEnv.txt und entfernen Sie das Kommentarzeichen vor dieser Zeile

cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh

Das Image kann dann wie jedes andere “Flash”-Image auf der BeagleBoard-Website auf den eMMC geflasht werden. Stecken Sie dazu die SD-Karte bei ausgeschaltetem BeagleBone ein, halten Sie die S2-Taste gedrückt und schalten Sie das Gerät ein. Sobald die LED zu blinken beginnt, lassen Sie die Taste los. Das Flashen dauert 5 bis 25 Minuten. Am Ende dieses Vorgangs schaltet sich das BeagleBone aus; die SD-Karte kann entfernt werden, und das BeagleBone bootet nun vom eMMC.

Auf allen 4-GB-Images für BeagleBone-Boards ist Node-RED bereits vorinstalliert und so konfiguriert, dass es automatisch startet. Sie müssen also lediglich einen Browser öffnen und die Adresse des BeagleBone-Ports 1880 eingeben.

Die 2-GB-Konsolenversion von BBB, die zum Flashen älterer eMMC-Versionen geeignet ist, wird nicht empfohlen, kann jedoch anhand der nachstehenden Anweisungen zur manuellen Installation installiert werden.

Laufen

Node-RED-Protokolle anzeigen

sudo journalctl -f -u node-red -o cat

Node-RED beenden

sudo service node-red stop

Node-RED starten

sudo service node-red start

Stellen Sie Node-RED so ein, dass es bei jedem Systemstart automatisch gestartet wird

sudo systemctl enable node-red.service

Verhindern Sie außerdem, dass es beim Systemstart automatisch gestartet wird

sudo systemctl disable node-red.service

Upgrade

Auf den neuesten Debian-Images sind Node-RED und Node.js bereits installiert – am einfachsten lässt sich das Upgrade mit dem integrierten Upgrade-Tool durchführen:

sudo apt update

sudo apt upgrade nodejs bb-node-red-installer

Dadurch sollte auch der Node-RED-Dienst neu gestartet werden – allerdings müssen Sie alle geöffneten Browsersitzungen aktualisieren.

Wenn Sie die Version Debian 9.2 aus dem Jahr 2017 verwenden, müssen Sie möglicherweise zunächst den Befehl „sudo apt full-upgrade“ ausführen.

Hinweis: Verwenden Sie nicht das Raspberry Pi/Debian-Upgrade-Skript (update-nodejs-and-nodered), da es Node.js und Node-RED an anderen Speicherorten neu installiert und dadurch Konflikte mit bestehenden systemd-Konfigurationsdateien verursacht und diese unbrauchbar macht.

Konfiguration

Das Beaglebone ist standardmäßig so konfiguriert, dass Node-RED als Root ausgeführt wird. Daher befinden sich die Konfigurationsdateien im Verzeichnis /root/.node-red, und Sie benötigen Root-Rechte (sudo), um sie zu bearbeiten. Hier müssen Sie beispielsweise die Datei „settings.js“ bearbeiten.

Beaglebone verfügt außerdem über einen systemd-Dienst, /lib/systemd/system/node-red.socket, der Node-RED automatisch startet, sobald ein Verbindungsversuch erkannt wird. Standardmäßig ist dies Port 1880 – wenn Sie diesen jedoch ändern möchten, müssen Sie die Änderung sowohl hier als auch in der Datei settings.js vornehmen.

Beaglebone-spezifische Knoten

Es gibt einige Beaglebone-spezifische Nodes, die Ihnen auf einfachste Weise direkten Zugriff auf die I/O-Pins ermöglichen. Am einfachsten lassen sie sich direkt über npm installieren.

Um die Installation manuell durchzuführen, führen Sie den folgenden Befehl aus:

sudo npm install -g –unsafe-perm beaglebone-io johnny-five node-red-contrib-gpio

Schlüsselwörter: Industrie-Gateway