1. Introduction
Cette série d'articles sera consacrée au déploiement et à l'exploitation de logiciels open source: le serveur réseau LoRaWAN Chirpstack. Ce logiciel a été créé par l'un des passionnés des Pays-Bas, Orne Brocaar , et peut être utilisé pour construire leurs propres réseaux LoRaWAN, les composants du système sont sous licence MIT et peuvent être utilisés à des fins commerciales.
En communiquant avec les clients et les consommateurs de nos appareils LoRaWAN, j'ai entendu à plusieurs reprises des demandes d'aide pour déployer mes propres réseaux basés sur ce serveur, cela m'a fait penser qu'un guide généralisé pour le déploiement et l'exploitation du serveur est nécessaire, que j'ai pu lire étape par étape, de sa propre main, installez n'importe qui. À cet égard, cette série d'articles est née. De quoi allons-nous discuter? Commençons par le plus important, en installant tous les composants du serveur. En outre, il y aura des articles sur le fonctionnement du serveur, sur l'intégration avec des plates-formes externes, sur l'utilisation de nouvelles technologies des réseaux LoRaWAN comme Multicast et FUOTA. Et donc, commençons ... la première partie.
2. avec quoi allons-nous travailler
Tout d'abord, nous décrirons sur quoi nous allons tester et déployer le serveur LoRaWAN.
Matériel:
- Passerelle LoRaWAN: DoMINO Indoor v.1.0 (vous pouvez en utiliser une autre par exemple Vega BS xx)
- Compteur d'impulsions DoMINO PULSE v.4.3 +
Logiciel:
- Cloud Server avec Ubuntu 18.04
3. Description du serveur Chirpstack
La structure du serveur de réseau LoRaWAN est illustrée à la Figure 1.
Fig.1
Les principaux composants du serveur sont:
Gateway Bridge - un pont entre le programme Packet Forwarder installé sur la station de base (passerelle) et la structure du serveur LoRaWAN elle-même;
Serveur réseau - un serveur réseau qui traite les messages au niveau du réseau;
Serveur d'applications - un serveur d'applications qui assure le fonctionnement du réseau au niveau de l'utilisateur, s'intègre aux plates-formes externes.
Composants auxiliaires:
MQTT Broker Mosquitto - pour la messagerie interne entre les composants du serveur;
Redis - une base de données intermédiaire pour stocker des données transitoires;
PostgreSQL- une base de données pour le stockage permanent des données.
Tous les logiciels sont des logiciels open source.
4. Installation du serveur
Le serveur est installé sur Ubuntu 18.04 ou Debian OS. Nous allons décrire une installation utilisant un serveur cloud sur Ubuntu 18.04. La connexion au serveur se fait via SSH à l'aide du client Putty. Remarque: il est supposé que notre lecteur a une idée de travailler avec Ubuntu, SSH, Putty, a un système d'exploitation installé et configuré.
4.1 Installation et configuration du logiciel auxiliaire
Pour commencer, nous devons installer des packages auxiliaires. Pour ce faire, entrez la commande dans la console:
sudo apt install mosquitto mosquitto-clients redis-server redis-tools postgresql
et attendez la fin de l'installation.
Ensuite, vous devez configurer la base de données PostgreSQL et y ajouter des utilisateurs.
Nous passons au mode de gestion de la base de données:
sudo -u postgres psql
L'invite de gestion de la base de données apparaîtra postgres = #
Créez des utilisateurs avec vos mots de passe (ces données doivent être mémorisées, vous pouvez donner d'autres identifiants et mots de passe, mais n'oubliez pas de les mémoriser, ils seront nécessaires pour configurer le serveur réseau et le serveur d'application).
Créez un utilisateur pour le serveur réseau:
create role chirpstack_ns with login password 'dbpassword';
Nous créons un utilisateur pour le serveur d'applications:
create role chirpstack_as with login password 'dbpassword';
Créons une base de données pour le serveur réseau:
create database chirpstack_ns with owner chirpstack_ns;
Créons une base de données pour le serveur d'applications:
create database chirpstack_as with owner chirpstack_as;
Paramètres supplémentaires
Connectez-vous à la base de données:
\c chirpstack_as
Nous créons une extension:
create extension pg_trgm;
Nous créons une extension:
create extension hstore;
Quittez la modification des paramètres de la base de données:
\q
4.2 Installation du référentiel Chirpstack
Les composants suivants doivent être installés: dirmngr et apt-transport-https, sinon exécutez la commande:
sudo apt install apt-transport-https dirmngr
Installez la clé du nouveau référentiel:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
Ajoutez le référentiel à la liste:
sudo echo "deb https://artifacts.chirpstack.io/packages/3.x/deb stable main" | sudo tee /etc/apt/sources.list.d/chirpstack.list
Mettons Ă jour le cache apt:
sudo apt update
Ceci termine la configuration préliminaire.
4.3 Installation du pont de passerelle
Installez le package:
sudo apt install chirpstack-gateway-bridge
Lancez Gateway Bridge:
sudo systemctl start chirpstack-gateway-bridge
Nous mettons l'application Gateway Bridge au démarrage:
sudo systemctl enable chirpstack-gateway-bridge
Pour vérifier l'exactitude du lancement et de l'installation, vous pouvez vérifier le journal de travail à l'aide de la commande:
sudo journalctl -f -n 100 -u chirpstack-gateway-bridge
Quittez le journal Ctrl + Z.
Il ne devrait y avoir aucune erreur dans le journal.
4.4 Installation et configuration du serveur réseau
Installez le package:
sudo apt install chirpstack-network-server
Pour que le serveur fonctionne correctement, nous devons le configurer, le fichier de configuration est le fichier:
/etc/chirpstack-network-server/chirpstack-network-server.toml
Avant d'utiliser le serveur réseau, vous devez le modifier pour nos tâches, pour cela nous entrons dans le dossier avec le fichier:
/etc/chirpstack-network-server/
Et dans ce dossier, exécutez la commande pour créer un nouveau fichier de configuration
chirpstack-network-server configfile > chirpstack-network-server.toml
Commençons par apporter des modifications au fichier de configuration.
Ouvrez le fichier pour le modifier dans un Ă©diteur pratique (nano, vim).
Nous discuterons en détail de l'élément approfondi des paramètres du serveur réseau dans les prochaines parties du cycle, maintenant nous ne ferons que les paramètres de base pour fournir la base de la fonctionnalité.
Nous configurons la connexion du serveur réseau à la base de données:
dsn="postgres://chirpstack_ns:dbpassword@localhost/chirpstack_ns?sslmode=disable"
C'est là que nous avons besoin du nom de la base de données, du login et du mot de passe du paragraphe précédent!
Nous éditons également le paramètre du plan de fréquences:
name="RU864"
Nous sauvegardons le fichier de configuration, sortons vers la console du terminal.
Nous démarrons le serveur réseau:
sudo systemctl start chirpstack-network-server
Nous mettons le serveur réseau au démarrage:
sudo systemctl enable chirpstack-network-server
Nous vérifions le journal du serveur réseau, il ne devrait y avoir aucune erreur:
sudo journalctl -f -n 100 -u chirpstack-network-server
Le serveur est configuré et en cours d'exécution.
4.5 Installation et configuration du serveur d'applications
Installez le package:
sudo apt install chirpstack-application-server
Par analogie avec le serveur réseau, nous configurons le fichier de configuration du serveur d'application.
Allez dans le dossier des paramètres:
/etc/chirpstack-application-server/
Nous mettons Ă jour le fichier de configuration:
chirpstack-application-server configfile > chirpstack-application-server.toml
Ici, nous devrons également éditer la connexion à la base de données et un point très important, nous devons créer la clé secrète jwt_secret , pour cela, nous exécutons la commande:
openssl rand -base64 32
et notez la clé résultante.
Ouvrez le fichier de configuration pour le modifier et remplacez les chaînes de connexion à la base de données par les nôtres:
dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"
Installez la clé secrète copiée:
jwt_secret=”UwX3TeStLtm/7tkW7hsqfbpcvo5k+BOEh/l8uDHCcKU=”
Nous sauvegardons le fichier de configuration. Nous sortons vers la console du terminal.
Nous démarrons le serveur d'application:
sudo systemctl start chirpstack-application-server
Configurez le serveur d'applications au démarrage:
sudo systemctl enable chirpstack-application-server
VĂ©rification du fonctionnement du serveur d'applications:
sudo journalctl -f -n 100 -u chirpstack-application-server
Il ne devrait y avoir aucune erreur.
Félicitations, le serveur LoRaWAN Chirpstack est installé et prêt à l'emploi!
Dans la prochaine partie de cette série d'articles, j'entrerai dans les détails sur l'utilisation de l'interface web du serveur LoRaWAN Chirpstack. Cordialement
,
Chef de DoMINO GROUP,
Andrey Golovatenko