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