Ich bin mit OpenHab nicht so richtig zufrieden, deswegen wollte ich mal Node-Red ausprobieren. Dabei habe ich mich dazu entschlossen, mit einem "sauberen" Raspbian anzufangen.
1) Installation von Raspbian
- Download von balenaEtcher (zum Schreiben des Images auf eine SD-Karte) und Installation desselben
- Download eines offiziellen Raspian Images: Da wir keinen Desktop brauchen, genügt die Lite Variante: Raspian Buster Lite. Aus der heruntergeladenen ZIP entpacken wir die img-Datei
<datum>-raspian-buster-lite.img
- Schreiben des Images: Starten von Etcher und auswählen des SD-Kartenlesers mit eingestecker SD-Karte als Ziellaufwerk und der Datei
<datum>-raspian-buster-lite.img
als Abbild. Mit einem Klick auf Flash wird die SD-Karte beschrieben und anschließend noch überprüft. Das kann ein paar Minuten dauern. - Anschließend unbedingt das Laufwerk ("boot") nochmal öffnen und dort im Root-Verzeichnis eine Datei namens
ssh
(ohne Dateierweiterung!) anlegen. Dadurch wird der standardmäßig deaktivierte SSH-Server wieder eingeschaltet. Sollte das Laufwerk nicht sichtbar sein, einfach die SD-Karte noch einmal abziehen und wieder einstecken. - Einsetzen der SD-Karte in den Pi und starten (Der Pi sollte bereits mit einem Netzwerkkabel verbunden sein)
- Der Pi besorgt sich automatisch eine IP-Adresse über DHCP. Diese kann über einen IP Scanner oder in der Regel auch über die Weboberfläche des heimischen Routers eingesehen werden.
2) Anmelden via SSH und grundlegende Anpassungen vornehmen.
Zum Verbinden via SSH empfehle ich PuTTY.
Standarduser: pi
Standardkennwort: raspberry
- Zuallererst ändern wir das Kennwort mit
passwd
.
- Dann empfiehlt sich ein Systemupdate mit
sudo apt update
undsudo apt upgrade
, anschließend starten wir den Pi mitsudo reboot
neu. - Nach einem erneuten Login starten wir
sudo raspi-config
, passen den Hostnamen (Network Options > Hostname) an und erweitern das Dateisystem (Advanced Options > Expand Filesystem). Anschließendsudo reboot
- Optional: Ich möchte auch eine feste IP einstellen:
sudo nano /etc/dhcpcd.conf
Ich verwende die 192.168.11.191 für die LAN (eth0) Schnittstelleinterface eth0 static ip_address=192.168.11.191/24 static routers=192.168.11.1 static domain_name_servers=192.168.11.1 9.9.9.9
Anschließend
sudo reboot
- Für Installation von Node-RED verwenden wir das direkt vom Projekt bereitgestellte Installationsskript:
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
- Wir wollen, dass Node-RED automatisch beim Booten startet, wir aktiveren deshalb nach der Installation noch den Systemdienst:
sudo systemctl enable nodered.service
- Jetzt lässt sich Node-RED mit
sudo service nodered start
starten und ist anschließend via https://<ip/host>:1880 erreichbar - Als nächstes sichern wir das Ganze noch ab, so ganz offen und ungeschützt fühlt sich das nämlich nicht gut an.
- Dazu installieren wir erstmal das Admin Tool
sudo npm install -g node-red-admin
. Danach bringen wir mithilfe des Logs in Erfahrung wo unsere Einstellungen gespeichert sind (journalctl -u nodered
). Auf dem jungfräulichen Raspian finden wir unsere Settings unter /home/pi/.node-red/settings.js. - Wir generieren den Hash für unser neues Kennwort mit
node-red-admin hash-pw
und bearbeiten anschließend die settings.js - der Eintrag adminAuth existiert bereits, nur die Kommentierung muss entfernt werden, anschließend setzen wir unseren Hash noch für password ein und fertig.:
// Securing Node-RED
// -----------------
// To password protect the Node-RED editor and admin API, the following
// property can be used. See http://nodered.org/docs/security.html for details.
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
permissions: "*"
}]
}, - Abschließend neu starten
sudo service nodered restart