2.2 ChirpStack – network-server

El network-server es el componente que se dedica a revisar los mensajes dupolicados en la red, ya sea por reintentos de transmisión desde un mismo dispositivo o por recepción de mensajes en más de un gateway.

Además de encargarse de la atenticación , capac MAC, comunicación con el componente de aplicaciones y gestión de colas de mensajes de envió hacia dispositivos.

Base de datos de mensajes

Para manejar los mensajes es necesario  disponer de una base de datos. PostgreSQL es la base de datos predeterminada.

En caso de no disponer de la base de datos, la puede instalar siguiendo las instrucciones en:

https://www.postgresql.org/download/linux/debian/

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update

sudo apt-get -y install postgresql

Creación de usuario, password y base de datos

Se inicia el programa de la base de datos con la primera instruccion, luego el usuario y contraseña.

sudo -u postgres psql
create role chirpstack_ns with login password 'dbpassword';
create database chirpstack_ns with owner chirpstack_ns;
\q

para verificar el usuario se realiza un intento de conexión a la base con :

psql -h localhost -U chirpstack_ns -W chirpstack_ns

Instalación base de datos Redis

Usada para guardar los datos de cada sesión , datos no persistentes, de duplicación y meta-data.

sudo apt install redis-server

Instalación de ChirpStack-network-server

Semejante al componente anterior, se añaden las referencias del repositorio de los archivos de instalación para ejecutar luego el proceso de instalación.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1CE2AFD36DBCCA00
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
sudo apt install chirpstack-network-server

Configuración de ChirpStack-network-server

El archivo de configuración requiere actualizar la información de usuario y password de la base de datos antes configurada.

Ademas revisar los parámetros de: postgresql.dsn, postgresql.automigrate, network_server.net_id, network_server.band.name, metrics.timezone.

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

Por ejemplo:

[general]
log_level=4

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

[network_server.band]
name="US915"

cambiar a comentario la seccion: 
# Extra channel configuration.

Revisar el detalle de la línea dsn, pues el usuario al final de la línea vienen escrito con doble _ns_ns.

Añadir al final del archivo los datos de usuario y contraseña para el servicio MQTT

Para revisar el estado del componente se usa el la instrucción:

sudo systemctl status chirpstack-network-server
sudo systemctl restart chirpstack-network-server

debiendo obtener una respuesta semejante a

Para revisar el historial de actividad (log) y verificar operatividad

journalctl -u chirpstack-network-server -f -n 50

Referencia: https://www.chirpstack.io/network-server/install/debian/