Installation

Installation ChirpStack

Chirpstack Network Server est une implémentation open-source de LoRaWAN® Network Server, qui se découpe en plusieurs entités :

  • Un gateway-bridge
  • Un Network Server
  • Un Application Server
    Dans notre cas, les composants ChirpStack 1, 2, 3 et leurs dépendances sont installés sur une seule instance de serveur.

1 . Installation des dépendances

Broker MQTT Un protocole de publication/abonnement qui permet aux utilisateurs de publier des informations sous des rubriques auxquelles d’autres peuvent s’abonner. Une implĂ©mentation populaire du protocole MQTT est Mosquitto .
Redis Une base de données en mémoire utilisée pour stocker des données relativement transitoires.
PostgreSQL La base de données de stockage à long terme utilisée par les packages open source.

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

Configuration des bases de données et des utilisateurs PostgreSQL :

sudo -u postgres psql
create role chirpstack_as with login password 'dbpassword'; 
create role chirpstack_ns with login password 'dbpassword';
// create the database for the servers 
create database chirpstack_as with owner chirpstack_as; 
create database chirpstack_ns with owner chirpstack_ns;
// change to the ChirpStack Application Server database 
\c chirpstack_as
// enable the pq_trgm and hstore extensions
// (this is needed to facilitate the search feature)
create extension pg_trgm;
// (this is needed to store additional k/v meta-data) 
create extension hstore;
// exit psql
\q

2 . Configuration du référentiel du logiciel Chirpstack

D’abord il faut que les deux dirmngr et apt-transport-https soient installĂ©s
Configuration des bases de données et des utilisateurs PostgreSQL :

sudo apt install apt-transport-https dirmngr

Configuration de la clé pour ce nouveau dépôt

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

Ajout du référentiel à la liste des référentiels en créant un nouveau fichier

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

3 . Installation du gateway bridge ChirpStack

sudo apt install chirpstack-gateway-bridge
Remarque 1 :

le fichier de configuration chirpstack-gateway-bridge est installĂ© sur : /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml l’exĂ©cutable chirpstack-gateway-bridge est installĂ© sur : /usr/bin/chirpstack-gateway-bridge

Remarque 2 :
sudo systemctl start chirpstack-gateway-bridge // Demarer
sudo systemctl restart chirpstack-gateway-bridge // Redémarer
sudo systemctl stop chirpstack-gateway-bridge // Arreter
sudo journalctl -f -n 100 -u chirpstack-gateway-bridge  // Afficher les journaux

Modification du fichier de configuration du gateway bridge ChirpStack /etc/chirpstack-gateway-bridge/chirpstack-gateway-bridge.toml

sudo su 
cd /etc/chirpstack-gateway-bridge 
nano chirpstack-gateway-bridge.toml

il faut mettre l’option marshaler Ă  “json” et non “protobuf”

marshaler="json"

4 . Installation du network server Chirpstack

sudo apt install chirpstack-network-server
sudo systemctl start chirpstack-network-server 
sudo systemctl enable chirpstack-network-server
Remarque 1 :

le fichier de configuration du serveur rĂ©seau ChirpStack est installĂ© sur : /etc/chirpstack-network-server/chirpstack-network-server.toml L’exĂ©cutable du serveur rĂ©seau ChirpStack est installĂ© sur : /usr/bin/chirpstack-network-server

Remarque 2 :
sudo systemctl start chirpstack-network-server // DĂ©marrer
sudo systemctl restart chirpstack-network -server  // Redémarer
sudo systemctl stop chirpstack-network-server  // Arreter 
sudo journalctl -f -n 100 -u chirpstack-network-server  // Afficher les journaux

Modification du fichier de configuration du serveur réseau ChirpStack /etc/chirpstack-network-server/chirpstack-network-server.toml.

sudo su 
cd /etc/chirpstack-network-server 
nano chirpstack-network-server.toml

Apportez les modifications suivantes, exemple de configuration EU868

[postgresql] dsn="postgres://chirpstack_ns : dbpassword@localhost /chirpstack_ns?sslmode=disable"
[[network_server.network_settings.extra_channels]]
frequency=867100000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=867300000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=86750000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=867700000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=867900000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=868100000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=868300000
min_dr=0
max_dr=5
[[network_server.network_settings.extra_channels]]
frequency=868500000
min_dr=0
max_dr=5

Démarrer le serveur réseau ChirpStack

sudo su 
sudo systemctl start chirpstack-network-server 
sudo systemctl restart chirpstack-network-server

VĂ©rifier si le serveur rĂ©seau ChirpStack est en cours d’exĂ©cution

sudo systemctl status chirpstack-network-server

Afficher les logs

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

5 . Installation du serveur d’application Chirpstack

Installation du paquet en utilisant apt :

sudo apt install chirpstack-application-server

Modification du fichier de configuration du serveur d’application ChirpStack.

cd /etc/chirpstack-application-server 
nano chirpstack-application-server.toml
[postgresql]
dsn="postgres://chirpstack_as:dbpassword@localhost/chirpstack_as?sslmode=disable"
[application_server.external_api] jwt_secret="YourSecret"

Démarrer le serveur réseau ChirpStack

// start chirpstack-application-server *
sudo systemctl start chirpstack-application-server
//start chirpstack-application-server on boot 
sudo systemctl enable chirpstack-application-server

Pour voir les logs

sudo journalctl -f -n 100 -u chirpstack-application-server
Remarque 1 :

le fichier de configuration chirpstack-application-server est installé sur : /etc/chirpstack-application-server/chirpstack-application-server.toml
l’exĂ©cutable chirpstack-application-server est installĂ© Ă  : /usr/bin/chirpstack-application-server

Remarque 3 :
sudo systemctl start chirpstack-application-server // DĂ©marer
sudo systemctl restart chirpstack -application-server // Redémarer
sudo systemctl stop chirpstack-application-server // Arreter
sudo journalctl -f -n 100 -u chirpstack-application-server  // Afficher les journaux

6 . VĂ©rification si tous les services requis sont en cours d’exĂ©cution

systemctl status mosquitto 
systemctl status chirpstack-gateway-bridge 
systemctl status chirpstack-network-server 
systemctl status chirpstack-application-server