INSTAR Deutschland GmbH

Node-RED unter Debian



Debian Installation

In diesem Tutorial werden wir Node-RED über Node.js unter Debian 9 Linux auf unserem Mini-PC installieren. Weitere Informationen zu weiteren Installationswegen finden Sie im Node.js Wiki. Um den Installations-USB-Stick zu erstellen, haben wir das minimale amd64 Debian Image heruntergeladen und das Tool Etcher zur Vorbereitung des USB-Sticks verwendet. Wir haben den gleichen Ansatz verwendet, um eine SD-Karte mit dem openHABian-Image vorzubereiten - Sie können einfach den Schritten aus diesem Tutorial folgen.

Wenn der USB-Stick bereit ist, deaktivieren Sie Secure Boot im BIOS Ihres Mini-PCs und booten Sie vom Stick aus. Wir werden keine Desktop-Umgebung brauchen. Stellen Sie jedoch sicher, dass Sie den SSH-Dienst installieren, da wir den SSH-Dienst zum Einrichten des Debian-Servers verwenden werden. Weitere Informationen finden Sie in der MotionEye-Installationsanleitung.

Erstellen eines Node Administrator User

Erstellen Sie einen Benutzer zum Verwalten der Node.js-Prozesse:

adduser nodeadmin

Node-RED and INSTAR IP Cameras


Stellen Sie sicher, dass der Benutzer den Befehl sudo verwenden und die Benutzer wechseln kann:

apt-get install sudo
addgroup nodeadmin sudo
su - nodeadmin

Node-RED and INSTAR IP Cameras


Node-RED Installation

Wir müssen zuerst die Node.js Laufzeit installieren und werden anschließend den Node Packet Manager (npm) zur Installation von Node-RED verwenden:

curl -sL https://deb.nodesource.com/setup_11.x | bash -
sudo apt-get install -y nodejs

Geben Sie den Installationsbefehl ein und verwenden Sie Ihr nodeadmin-Passwort, um es mit sudo ausführen zu können:


Node-RED and INSTAR IP Cameras


(Im Fall des obigen Screenshots wurde Node.js bereits in einem früheren Schritt installiert)

Wenn die Node-Laufzeitumgebung installiert ist, können Sie Node-RED jetzt mit dem Node Package Manager npm installieren:

sudo npm install -g --unsafe-perm node-red

Node-RED and INSTAR IP Cameras


Führen Sie Node-RED als Dienst aus

PM2 ist ein Prozessmanager für Node.js. Es macht es einfach, Anwendungen beim Start auszuführen und sicherzustellen, dass sie bei Bedarf neu gestartet werden. Genau wie Node-RED können wir PM2 von npm aus installieren:

sudo npm install -g pm2
pm2 start /usr/bin/node-red

Node-RED and INSTAR IP Cameras Node-RED and INSTAR IP Cameras


Der zweite Befehl nimmt den Node-RED-Prozess und führt ihn innerhalb der Node.js-Laufzeitumgebung aus. PM2 kann ein Startup-Skript generieren und konfigurieren, das für die Plattform geeignet ist, auf der es ausgeführt wird. Führen Sie diese Befehle aus und befolgen Sie die Anweisungen, die Sie erhalten:


Node-RED and INSTAR IP Cameras


pm2 save
pm2 startup
sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u nodeadmin --hp /home/nodeadmin

Der Standardport für das Node-RED-Verwaltungsfeld ist '1880'. Mit dem folgenden Befehl stellen Sie sicher, dass FirewallD diesen freigibt:

sudo firewall-cmd --permanent --zone=public --add-port=1880/tcp

Erstellen des SSL-Zertifikates

Wir können mit OpenSSL in einem einzigen Befehl ein selbstsigniertes Schlüssel- und Zertifikatpaar erstellen:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /home/nodeadmin/.node-red/certs/node-red-selfsigned.key -out /home/nodeadmin/.node-red/certs/node-red-selfsigned.crt

Node-RED and INSTAR IP Cameras


Beachten Sie dass der Servername auf die lokale IP-Adresse unseres Debian-Servers eingestellt ist (Sie müssen ihn entsprechend Ihrer Konfiguration ändern). Wenn Sie über eine Domäne auf Ihre Node-RED-Installation zugreifen möchten, müssen Sie diese hier verwenden.

Diese Optionen erstellen sowohl eine Schlüsseldatei als auch ein Zertifikat. Wir werden ein paar Fragen zu unserem Server gestellt, um die Informationen korrekt in das Zertifikat einzubetten. Diese Zertifikate werden im nächsten Schritt verwendet, um den Zugriff über HTTPS auf das Node-RED-Admin-Panel einzurichten.

Node-RED Konfiguration

Sie finden die Node-RED-Konfigurationsdatei unter /home/nodeadmin/.node-red/. Lassen Sie uns die Datei öffnen, um zusätzliche Konfiguration hinzuzufügen:

nano /home/nodeadmin/.node-red/settings.js

Node-RED and INSTAR IP Cameras


Wenn alle Kommentare entfernt wurden, sollte sich die Datei auf Folgendes reduzieren:

var fs = require("fs");
module.exports = {
    uiPort: process.env.PORT || 1880,
    mqttReconnectTime: 15000,
    serialReconnectTime: 15000,
    debugMaxLength: 1000,
    httpAdminRoot: '/admin',
    httpStatic: '/home/nodeadmin/.node-red/static/',
    ui: { path: "reddash" },
    adminAuth: {
        type: "credentials",
        users: [{
            username: "admin",
            password: "$2a$08$k.syiLYKsLGJdy01hPolj.m7dfgZXWz0do4oKkesLrJExoYgFBZYu",
            permissions: "*"
        }],
        default: {
            permissions: "read"
        }
    },
    https: {
        key: fs.readFileSync('/home/nodeadmin/.node-red/certs/node-red-selfsigned.key'),
        cert: fs.readFileSync('/home/nodeadmin/.node-red/certs/node-red-selfsigned.crt')
    },
    requireHttps: true,
    functionGlobalContext: {},
    logging: {
        console: {
            level: "info",
            metrics: false,
            audit: false
        }
    },
    editorTheme: {
        projects: {
            enabled: false
        }
    },
}

Gemachte Änderungen:

  • Auskommentierter Import von fs (zum Hinzufügen des SSL-Zertifikats erforderlich)
  • httpAdminRoot wurde auf /admin gesetzt - das bedeutet, dass das Node-RED Admin Panel jetzt unter https://<IP Address>:1880/admin/ anstatt https://<IP Address>:1880/ erreicht werden kann
  • Wir haben einen Ordner /home/nodeadmin/.node-red/static/ erstellt, um statische Inhalte für den Node-RED-Fluss zu hosten - Wir hatten bereits einen Anwendungsfall gefunden where let our IP camera upload a snapshot to the static directory and displayed the image on our Node-RED Dashboard.
  • The node-red-dashboard is a optional plugin for Node-RED that allows us to create - well, a dashboard... The line ui: { path: "reddash" } sets the URL for this dashboard to https://<IP Address>:1880/reddash/.
  • For the adminAuth we created an Admin Login (follow the link to learn how to generate the password hash) and set the default permission to read - which means that everyone can open the dashboard and see our Node-RED flows - but only the admin has the right to change them (you can remove the default permission, if not necessary).
  • For https we linked in the certificate we created in the step before. Don't forget to set requireHttps: true to enforce an encrypted connection.

Das Node-RED-Admin-Panel

Wenn Sie die oben genannten Empfehlungen befolgt haben, können Sie jetzt über https://<IP-Adresse>:1880/admin/ auf Node-RED zugreifen. In meinem Fall ist dies https://192.168.2.111:1880/admin/. Klicken Sie oben links auf das Benutzersymbol, melden Sie sich mit dem zuvor erstellten Administrator-Login an und klicken Sie auf das Menüsymbol (rechts vom Benutzer-Login). Öffnen Sie das Menü Manage Palette:


Node-RED and INSTAR IP Cameras


In den folgenden Schritten verwenden wir einige Funktionen hinzufügen, die nicht direkt mit Node-RED geliefert werden. Wir können diese über die Node-RED-Flow Bibliothek installieren.

Sie können diese über das Palettenmenü installieren - in dem folgenden Screenshot wurde dies bereits getan und in der Liste der installierten Nodes markiert:


Node-RED and INSTAR IP Cameras


Wechseln Sie zum Install Tab, suchen Sie nach diesen Einträgen und klicken Sie auf die Schaltfläche Installieren:

  • node-red-contrib-alexa-local
  • node-red-contrib-bigtimer
  • node-red-contrib-mjpgcamera
  • node-red-contrib-string
  • node-red-dashboard

Node-RED and INSTAR IP Cameras


Mosquitto Installieren

MQTT ist ein Machine-to-Machine-Messaging-Protokoll, mit dem Kommunikation über das Publish/Subscribe Model für "Internet of Things"-Geräte realisiert wird. Sie wird üblicherweise für die Geo-Tracking, für die Hausautomation, für Netzwerksensornetzwerke und für die Erfassung von Versorgungsdaten verwendet. Mosquitto ist ein beliebter MQTT-Broker einfach zu installieren und zu konfigurieren ist.

Wir werden MQTT verwenden, um Meldungen zwischen Flows in Node-RED auszutauschen. MQTT wird sich auch als nützlich erweisen, wenn wir andere Heimautomationssysteme einsetzen, wie OpenHAB, Home Assistant oder ioBroker. Diese Programme können unsere INSTAR-IP-Kameras mithilfe des MQTT-Protokolls steuern.

Laden Sie zuerst den Repository-Signaturschlüssel herunter und installieren Sie ihn:

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

Sagen Sie apt-get jetzt, wo man die Software finden kann, indem Sie die Repository-URL zu einer Datei in hinzufügen /etc/apt/sources.list.d/:

sudo nano /etc/apt/sources.list.d/mosquitto.list

Dadurch wird eine neue, leere Datei geöffnet. Fügen Sie die folgende Zeile in die Datei ein.

deb http://repo.mosquitto.org/debian stretch main

Node-RED and INSTAR IP Cameras


Speichern Sie die Datei und schließen Sie den Editor und aktualisieren Sie apt-get, um die neuen Paketinformationen einzulesen. Dann installieren Sie das Paket mosquitto und seine Client-Software:

sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients

Node-RED and INSTAR IP Cameras


Um den Mosquitto-Dienst zu testen, melden Sie sich ein zweites Mal an Ihrem Server an, sodass Sie zwei Terminals nebeneinander haben. Verwenden Sie im neuen Terminal mosquitto_sub, um das Testthema zu abonnieren:

mosquitto_sub -h localhost -t test

Das Option -h gibt den Hostnamen des MQTT-Servers und -t das MQTT Topic, das Sie abonieren (subscribe) möchten, an. Nach dem Bestätigen wird keine Ausgabe angezeigt, da mosquitto_sub auf das Eintreffen von Nachrichten wartet. Wechseln Sie wieder zu Ihrem anderen Terminal und senden (publish) Sie eine Nachricht:


Node-RED and INSTAR IP Cameras


mosquitto_pub -h localhost -t test -m "hello world"

Die Optionen für mosquitto_pub sind die gleichen wie für mosquitto_sub. Diesmal verwenden wir jedoch die Option -m, um unsere Nachricht anzugeben. Drücken Sie die EINGABETASTE, und im anderen Terminal sollte Hallo Welt erscheinen. Sie haben Ihre erste MQTT-Nachricht gesendet!


Node-RED and INSTAR IP Cameras


Configuring Mosquitto

Mosquitto enthält ein Dienstprogramm zum Generieren einer speziellen Kennwortdatei mit dem Namen mosquitto_passwd. Mit diesem Befehl werden Sie aufgefordert, ein Kennwort für den angegebenen Benutzernamen einzugeben (wir wählen im Beispiel debian) und schreiben dieses Login in /etc/mosquitto/passwd:

mosquitto_passwd -c /etc/mosquitto/passwd debian

Node-RED and INSTAR IP Cameras


Erstellen Sie nun eine neue Konfigurationsdatei für Mosquitto und teilen Sie dem Server mit, diese Kennwortdatei zu verwenden, um Anmeldungen für alle Verbindungen anzufordern:

nano /etc/mosquitto/conf.d/default.conf

Dies sollte eine leere Datei öffnen. Fügen Sie Folgendes ein:

allow_anonymous false
password_file /etc/mosquitto/passwd

Node-RED and INSTAR IP Cameras


allow_anonymous false deaktiviert alle nicht authentifizierten Verbindungen, und die password_file Zeile sagt Mosquitto, wo nach Benutzer- und Passwortinformationen gesucht werden muss. Speichern Sie und beenden Sie die Datei.

Jetzt müssen Sie Mosquitto neu starten und Ihre Änderungen testen.

service mosquitto reload

Mosquitto von einem externen PC testen

Da Ihre Geräte, zu denen Sie eine Verbindung herstellen möchten, wahrscheinlich über eine externe IP-Adresse mit Ihrem MQTT-Server in Kontakt treten, sollten wir dies testen und sicherstellen, dass alles funktioniert. Zuerst öffnen wir den MQTT-Port in unserer FirewallD-Konfiguration:

sudo firewall-cmd --permanent --zone=public --add-port=1883/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Wir haben bereits das Tool MQTT.fx verwendet um unseren MQTT Server zu debuggen. Installieren Sie es auf einem anderen Computer (Linux, Windows oder Mac OS) und klicken Sie auf das Zahnrad Symbol links neben der Schaltfläche Verbinden und Trennen, um unseren neu eingerichteten MQTT-Server hinzuzufügen:


Node-RED and INSTAR IP Cameras


Ersetzen Sie die IP-Adresse ("192.168.2.111") durch die Adresse Ihres Linux-Computers, auf dem der MQTT-Dienst ausgeführt wird, und fügen Sie das Login hinzu, das Sie für den Mosquitto-Server erstellt haben. Speichern Sie die Einstellungen und stellen Sie eine Verbindung zum Server her. Die grüne LED rechts zeigt an, dass die Verbindung erfolgreich hergestellt wurde.

Wechseln Sie zum Subscribe Tab, schreiben Sie test in das Eingabefeld und drücken Sie die Subscribe Taste:


Node-RED and INSTAR IP Cameras


Wechseln Sie zur Registerkarte Publish, geben Sie test als Topic ein, unter dem Sie eine Nachricht veröffentlichen möchten, und fügen Sie im Textfeld darunter eine Nachricht als Payload hinzu, z.B. {"hello":"world"}. Drücken Sie danach die Publish Taste:


Node-RED and INSTAR IP Cameras


Wechseln Sie wieder zur Registerkarte Subscribe, um zu überprüfen, ob MQTT.fx die Nachricht erfolgreich gesendet hat und dass Ihr Mosquitto-Server Clients mit Abonnements des Topic über die Änderung informiert hat. In diesem Fall ist dies nur unsere MQTT.fx-Instanz:


Node-RED and INSTAR IP Cameras


SSL-Verschlüsselung hinzufügen

Wir werden das MQTT-Protokoll nur in unserem sicheren lokalen Netzwerk verwenden und haben uns dazu entschieden, die von unseren IoT-Geräten gesendeten Nachrichten nicht zu verschlüsseln (da dies doch etwas Mehraufwand bedeuten würde). Wenn Sie beabsichtigen, die MQTT-Kommunikation über das Internet zu senden, kommt man nicht drum herum diese Nachrichten in eine SSL/TLS-Verschlüsselung einzubetten.

Es gibt zwei (externe) Tutorials, die Ihnen bei der Einrichtung helfen. Das erste Tutorial zeigt Ihnen, wie Sie mit einem selbstsignierten Zertifikat arbeiten und der zweite hilft Ihnen beim Einrichten Certbot und Lets-Encrypt um das Zertifikat zu erstellen und automatisch zu erneuern.

Verwenden Sie Node-RED zur Kommunikation mit Ihrer Kamera

Das Node-RED-Admin-Panel ist ein visuelles Werkzeug, um Funktionsknoten in Funktionsabläufe einzuordnen. Alle Flows, die in diesem Tutorial verwendet werden, können von hier heruntergeladen und in das Admin-Panel über den Import Dialog importiert werden.

Alarm SET FLow

Bitte kopieren Sie den Set Alarm Flow und öffnen Sie das Importfenster im Node-RED Panel:


Node-RED and INSTAR IP Cameras


Fügen Sie den Inhalt in das Eingabetextfeld ein und klicken Sie auf die Schaltfläche Import:


Node-RED and INSTAR IP Cameras


Der Node-RED-Flow sollte in eine neue Registerkarte namens SET Alarm Office importiert werden. Und es ist eine leicht modifizierte Version des Node-RED-Flows, den wir für das OpenHAB Tutorial verwendet haben. Klicken Sie auf die rote Schaltfläche Deploy, um den Flow zu speichern und zu laden:


Node-RED and INSTAR IP Cameras


Wir haben das Admin-Panel konfiguriert unter https://<IP Ihres Servers>/admin erreichbar zu sein. Sie können zu https://<IP Ihres Servers>/reddash wechseln, um das entsprechende Node-RED-Dashboard anzuzeigen. Geben Sie dort einfach die IP Adresse Ihrer INSTAR Full HD-Kamera ein und klicken Sie auf Submit:


Node-RED and INSTAR IP Cameras


Dieser Flow kann natürlich auch mit jedem anderen IP-Kameramodell verwendet werden. Sie müssen lediglich die verwendeten CGI-Befehle mit den Befehlen austauschen, die Sie für Ihre Full HD, HD oder VGA Kamera Modell benötigen:


Node-RED and INSTAR IP Cameras


Lesen Sie bitte unsere Node-RED Einführung für weitere Details.

Alarm Aufnahmen

Sie können den Alarm Aufnahme Flow hier herunterladen. Es ist eine Kombination aus zwei Raspberry Pi-Projekten:


Node-RED and INSTAR IP Cameras


Mit dem ersten können Sie einen Schnappschuss manuell über FTP hochladen. Der zweite verwendet den PIR-Bewegungsmelder Ihrer Kamera (natürlich nur für Kameras mit internen oder extern angeschlossenen PIR-Sensoren), um Bewegungen zu erkennen, die Nachtsicht-LEDs zu aktivieren und bei jeder Alarmauslösung eine 1-minütige Aufzeichnung auf der internen SD-Karte der Kamera zu starten . Der Anwendungsfall ist - Sie möchten die IR-Nachtsicht-LEDs während der Nacht deaktivieren, wodurch Sie Strom sparen, Ihre Kamera weniger aufdringlich ist und das Spinnennetzproblem vermieden wird (Insekten lieben die warme und beleuchtete Vorderseite der Kamera).

FTP Snapshot

Um diesen Flow nutzen zu können, müssen wir unter Debian 9 Stretch Linux einen FTP-Server konfigurieren, damit unsere INSTAR-IP-Kameras Momentaufnahmen und Videos hochladen können, wenn ein Bewegungsalarm ausgelöst wurde. Das folgende Tutorial erläutert, wie Sie einen FTP-Server mit dem vsFTPd-Dienst installieren und konfigurieren.

sudo apt-get install vsftpd ftp

Der vsFTPd-Server ist standardmäßig so konfiguriert, dass Systembenutzer mit schreibgeschütztem Zugriff auf ihre Basisverzeichnisse zugreifen können. Wir müssen daher Änderungen an der vsFTPd-Konfigurationsdatei vornehmen /etc/vsftpd.conf:

sudo nano /etc/vsftpd.conf

Node-RED and INSTAR IP Cameras


Das Ergebnis sollte ungefähr so aussehen:

listen=YES
listen_ipv6=NO
local_enable=YES
write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/nginx-selfsigned.crt
rsa_private_key_file=/etc/ssl/private/nginx-selfsigned.key
ssl_enable=YES
# implicit_ssl=YES
listen_port=21 
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO

Wir verwenden das SSL-Zertifikat, das wir für unseren NGINX-Server generiert haben (natürlich können Sie auch ein separates Zertifikat für Node-RED gemäß den Anweisungen im obigen Link erstellen) und werden die Verschlüsselung beim Node-RED Zugriff erzwingen. Beachten Sie, dass wir die Option für implizites SSL nicht verwenden können - da unsere Full HD-Kameras nur die explizite Verschlüsselung verwenden.

Sie können diesen Teil für HD- und VGA-Kameras überspringen, da sie FTPS nicht unterstützen. Lassen Sie einfach ssl_enable=NO, um die Verschlüsselung zu deaktivieren.

Die obige Konfigurationsdatei gewährt nur read-only Zugriff auf alle Systembenutzer, die in der Datei /etc/passwd aufgelistet sind. Um write access für alle lokalen Benutzer des Systems hinzuzufügen, müssen Sie die folgende Zeile write_enable = YES hinzufügen. Die neue Konfigurationsdatei schaut danach so aus:


Node-RED and INSTAR IP Cameras


Standardmäßig ermöglicht unser FTP-Server den Zugriff auf alle Systembenutzer, die in der Datei /etc/passwd definiert sind. Damit sich nur bestimmte Benutzer anmelden können, können wir die folgenden Zeilen in unsere Konfigurationsdatei aufnehmen:

userlist_file=/etc/vsftpd.userlist
userlist_enable=YES
userlist_deny=NO

Node-RED and INSTAR IP Cameras


Auf diese Weise wird eine vordefinierte Benutzerliste aktiviert, in der alle Benutzer, die unter /etc/vsftpd.userlist aufgelistet sind, Zugriff auf den FTP-Server haben. Zuerst erstellen wir einen neuen Benutzer für den FTP-Dienst mit dem Namen ftpuser, indem Sie den folgenden Befehl eingeben und ein UNIX-Kennwort hinzufügen:

sudo adduser ftpuser

Danach erstellen wir die /etc/vsftpd.userlist Benutzerliste und fügen unseren ftpuser hinzu:

sudo echo ftpuser > /etc/vsftpd.userlist

Starten Sie als nächstes den vsFTPd Dienst neu:

sudo systemctl restart vsftpd

Sie können mit dem Tool netstat überprüfen, ob der FTP-Dienst auf Port 21 ausgeführt wird. Möglicherweise müssen Sie jedoch zuerst net-tools installieren:

sudo apt-get install net-tools
netstat -npl

Node-RED and INSTAR IP Cameras


Öffnen Sie nun den Port 20/21 in Ihrer Firewall:

sudo firewall-cmd --permanent --zone=public --add-port=20-21/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Sie können den Zugriff auf Ihren FTP-Server mit Ihrem Standard-Webbrowser testen. Fügen Sie einfach die IP-Adresse Ihres Linux-Servers, z.B. ftp://192.168.2.111 und melden Sie sich mit demftpuser an:


Node-RED and INSTAR IP Cameras


Beachten Sie, dass das Verzeichnis, das für den ftpuser verwendet wird, das home-Verzeichnis in /home/ftpuser/ ist. Sie können ein Tool wie den Filezilla-Client verwenden, um sich bei Ihrem FTP-Server anzumelden, eine Datei hochzuladen, um zu überprüfen, ob der Schreibzugriff funktioniert. Der Vorteil der Verwendung von Filezilla gegenüber dem Versuch, ein Bild direkt vom FTP-Dienst Ihrer INSTAR Full HD-Kamera zu senden, besteht darin, dass Filezilla einen ausführlicheren Fehlerbericht ausgibt, falls etwas schief geht.


Node-RED and INSTAR IP Cameras


Versuchen Sie jetzt, ein Testbild von Ihrer INSTAR Full HD-Kamera auf den FTP-Server hochzuladen. Erstellen Sie auf Ihrem Linux-Server zuerst einen Ordner /home/ftpuser/outdoorcam und fügen Sie die FTP-Informationen zu unserer Kamerakonfiguration hinzu. Drücken Sie danach Bestätigen:


Node-RED and INSTAR IP Cameras


Beachten Sie bitte, dass Sie die TLS Verschlüsselung auswählen müssen, so wie wir es in /etc/vsftpd.conf definiert haben:

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Des Weiteren muß der PORT Modus aktiviert werden, da unser Server hinter einer Firewall betrieben wird!

Wir haben jetzt nur noch ein Problem - die Dateien werden in das Verzeichnis /home/ftpuser hochgeladen und gehören dem ftpuser. Da wir den Node-RED-Prozess mit einem anderen Benutzer - nodeadmin - starten, müssen wir sicherstellen, dass die Dateien auch von Node-RED verarbeitet werden können. Geben Sie sudo nano /etc/vsftpd.conf ein und fügen Sie die folgende Zeile hinzu:

local_umask=0002

Sie können die hochgeladenen Dateien auch ausführbar machen - wenn Sie dies brauchen ... potentiell gefährlich -, indem Sie diese Zeile in file_open_mode=0777 ändern.


Node-RED and INSTAR IP Cameras


Um das Verzeichnis /home/ftpuser für den Node-User zu öffnen, geben Sie bitte Folgendes ein:

sudo chmod -R 777 /home/ftpuser

Auf diese Weise können wir das Verzeichnis als statisches Verzeichnis unseres Node-RED-Dashboards festlegen und hochgeladene Bilder anzeigen:


Node-RED and INSTAR IP Cameras