Eine Reihe von Artikeln über die Installation und den Betrieb des LoRaWAN Chirpstack-Servers

1. Einleitung



Diese Artikelserie befasst sich mit der Bereitstellung und dem Betrieb von Open Source-Software: dem LoRaWAN Chirpstack-Netzwerkserver. Diese Software wurde von einem der niederländischen Enthusiasten, Orne Brocaar , entwickelt und kann zum Aufbau eigener LoRaWAN-Netzwerke verwendet werden. Die Systemkomponenten sind von der MIT-Lizenz lizenziert und können für den kommerziellen Betrieb verwendet werden.



Bei der Kommunikation mit Kunden und Verbrauchern unserer LoRaWAN-Geräte hörte ich wiederholt Anfragen nach Hilfe bei der Bereitstellung meiner eigenen Netzwerke auf Basis dieses Servers. Daher war ich der Meinung, dass eine allgemeine Anleitung für die Bereitstellung und den Betrieb des Servers erforderlich ist, die ich Schritt für Schritt lesen kann. Installieren Sie mit seiner eigenen Hand jemanden. In dieser Hinsicht wurde diese Artikelserie geboren. Was werden wir besprechen? Beginnen wir mit dem Wichtigsten, indem wir alle Serverkomponenten installieren. Darüber hinaus werden Artikel über den Serverbetrieb, die Integration in externe Plattformen und den Einsatz neuer Technologien von LoRaWAN-Netzwerken wie Multicast und FUOTA veröffentlicht. Und so fangen wir an ... Teil eins.



2.Womit werden wir arbeiten?



Zunächst beschreiben wir, worauf wir den LoRaWAN-Server testen und bereitstellen.

Hardware:



  • LoRaWAN-Gateway: DoMINO Indoor v.1.0 (Sie können ein anderes verwenden, zum Beispiel Vega BS xx)
  • Impulszähler DoMINO PULSE v.4.3 +


Software:



  • Cloud Server mit Ubuntu 18.04


3. Beschreibung des Chirpstack-Servers



Die Struktur des LoRaWAN-Netzwerkservers ist in Abbildung 1 dargestellt.





Abb.1



Die Hauptkomponenten des Servers sind:



Gateway Bridge - eine Brücke zwischen dem auf der Basisstation (Gateway) installierten Packet Forwarder-Programm und der LoRaWAN-Serverstruktur selbst;

Netzwerkserver - Ein Netzwerkserver, der Nachrichten auf Netzwerkebene verarbeitet.

Anwendungsserver - Ein Anwendungsserver, der den Netzwerkbetrieb auf Benutzerebene ermöglicht und in externe Plattformen integriert wird.



Hilfskomponenten:



MQTT Broker Mosquitto - für den internen Austausch von Nachrichten zwischen Serverkomponenten;

Redis  - eine Zwischendatenbank zum Speichern transienter Daten;

PostgreSQL- eine Datenbank zur dauerhaften Datenspeicherung.

Alle Software ist Open Source Software.



4. Serverinstallation



Der Server ist unter Ubuntu 18.04 oder Debian OS installiert. Wir werden eine Installation mit einem Cloud-Server unter Ubuntu 18.04 beschreiben. Die Verbindung zum Server wird über SSH mit dem Putty-Client hergestellt. Hinweis: Es wird davon ausgegangen, dass unser Leser eine Idee hat, mit Ubuntu, SSH, Putty und einem installierten und konfigurierten Betriebssystem zu arbeiten.



4.1 Zusatzsoftware installieren und konfigurieren



Um zu beginnen, müssen wir Hilfspakete installieren. Geben Sie dazu den Befehl in die Konsole ein:



sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql


und warten Sie, bis die Installation abgeschlossen ist.



Als Nächstes müssen Sie die PostgreSQL-Datenbank konfigurieren und Benutzer hinzufügen.

Wir gehen in den Datenbankverwaltungsmodus:



sudo -u postgres psql


Die Eingabeaufforderung für die Datenbankverwaltung wird angezeigt. Postgres = #

Benutzer mit Ihren Kennwörtern erstellen (Sie müssen sich diese Daten merken, Sie können andere Anmeldungen und Kennwörter angeben, aber denken Sie daran, sie müssen sich weiter merken, um den Netzwerkserver und den Anwendungsserver weiter zu konfigurieren).



Wir erstellen einen Benutzer für den Netzwerkserver:



create role chirpstack_ns with login password 'dbpassword';


Wir erstellen einen Benutzer für den Anwendungsserver:



create role chirpstack_as with login password 'dbpassword';


Erstellen wir eine Datenbank für den Netzwerkserver:



create database chirpstack_ns with owner chirpstack_ns;


Erstellen Sie eine Datenbank für den Anwendungsserver:



create database chirpstack_as with owner chirpstack_as;


Zusätzliche Einstellungen



Stellen Sie eine Verbindung zur Datenbank her:



\c chirpstack_as


Erstellen Sie eine Erweiterung:



create extension pg_trgm;


Erstellen Sie eine Erweiterung:



create extension hstore;


Beenden Sie die Bearbeitung der Datenbankparameter:



\q


4.2 Installieren des Chirpstack-Repositorys



Die folgenden Komponenten müssen installiert sein: dirmngr und apt-transport-https, falls nicht, führen Sie den Befehl aus:



sudo apt install apt-transport-https dirmngr


Installieren Sie den Schlüssel für das neue Repository:



sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00


Fügen Sie das Repository zur Liste hinzu:



sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list


Lassen Sie uns den apt-Cache aktualisieren:



sudo apt update


Damit ist die vorläufige Konfiguration abgeschlossen.



4.3 Installieren der Gateway Bridge



Installieren Sie das Paket:



sudo apt install chirpstack-gateway-bridge


Starten Sie die Gateway Bridge:



sudo systemctl start chirpstack-gateway-bridge


Wir haben die Gateway Bridge-Anwendung beim Start gestartet:



sudo systemctl enable chirpstack-gateway-bridge


Um zu überprüfen, ob es ordnungsgemäß gestartet und installiert wurde, können Sie das Protokoll mit dem folgenden Befehl überprüfen:



sudo journalctl -f -n 100 -u chirpstack-gateway-bridge


Beenden Sie das Protokoll Strg + Z.



Das Protokoll sollte keine Fehler enthalten.



4.4 Installieren und Konfigurieren des Netzwerkservers



Installieren Sie das Paket:



sudo apt install chirpstack-network-server


Damit der Server ordnungsgemäß funktioniert, müssen wir ihn konfigurieren. Die Konfigurationsdatei ist die Datei:



/etc/chirpstack-network-server/chirpstack-network-server.toml


Bevor Sie den Netzwerkserver verwenden können, müssen Sie ihn für unsere Aufgaben bearbeiten. Dazu geben wir den Ordner mit der Datei ein:



/etc/chirpstack-network-server/


Führen Sie in diesem Ordner den Befehl aus, um eine neue Konfigurationsdatei zu erstellen



chirpstack-network-server configfile > chirpstack-network-server.toml


Nehmen wir Änderungen an der Konfigurationsdatei vor.



Öffnen Sie die Datei zur Bearbeitung in einem praktischen Editor (nano, vim).



Wir werden in den nächsten Abschnitten des Zyklus ausführlich auf die detaillierten Einstellungen des Netzwerkservers eingehen. Jetzt werden wir nur die Grundeinstellungen vornehmen, um die Grundlage für die Funktionalität zu schaffen.



Wir konfigurieren die Verbindung des Netzwerkservers zur Datenbank:



dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"


Hier benötigen wir den Datenbanknamen, das Login und das Passwort aus dem vorherigen Absatz!



Wir bearbeiten auch den Frequenzplanparameter:



name="RU864"


Wir speichern die Konfigurationsdatei und kehren zur Terminalkonsole zurück.



Wir starten den Netzwerkserver:



sudo systemctl start chirpstack-network-server


Wir haben den Netzwerkserver gestartet:



sudo systemctl enable chirpstack-network-server


Wir überprüfen das Protokoll des Netzwerkservers, es sollten keine Fehler auftreten:



sudo journalctl -f -n 100 -u chirpstack-network-server


Der Server ist konfiguriert und läuft.



4.5 Installieren und Konfigurieren des Anwendungsservers



Installieren Sie das Paket:



sudo apt install chirpstack-application-server


In Analogie zum Netzwerkserver konfigurieren wir die Anwendungsserver-Konfigurationsdatei.



Gehen Sie zum Einstellungsordner:



/etc/chirpstack-application-server/


Wir aktualisieren die Konfigurationsdatei:



chirpstack-application-server configfile > chirpstack-application-server.toml


Hier müssen wir auch die Verbindung zur Datenbank bearbeiten und einen sehr wichtigen Punkt, um den geheimen Schlüssel jwt_secret zu erstellen. Dazu führen wir den folgenden Befehl aus:



openssl rand -base64 32


und notieren Sie den resultierenden Schlüssel.



Öffnen Sie die Konfigurationsdatei zum Bearbeiten und ändern Sie die Datenbankverbindungszeichenfolgen in unsere eigenen:



dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"


Installieren Sie den kopierten geheimen Schlüssel:



jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”


Wir speichern die Konfigurationsdatei. Wir verlassen die Terminalkonsole.



Wir starten den Anwendungsserver:



sudo systemctl start chirpstack-application-server


Stellen Sie den Anwendungsserver auf Start ein:



sudo systemctl enable chirpstack-application-server


Überprüfen des Betriebs des Anwendungsservers:



sudo journalctl -f -n 100 -u chirpstack-application-server


Es sollte keine Fehler geben.



Herzlichen Glückwunsch, der LoRaWAN Chirpstack Server ist installiert und einsatzbereit!



Im nächsten Teil dieser Artikelserie werde ich detailliert auf die Arbeit mit der Weboberfläche des LoRaWAN Chirpstack-Servers eingehen. Mit freundlichen



Grüßen,

Leiter der DoMINO GROUP,

Andrey Golovatenko



All Articles