2.1 ChirpStack v3 - gateway-bridge

Es el componente que convierte el protocolo LoRa-packet-forwarder en el formato de datos de ChirpStack-network-server que es el siguiente componente.

Para la gestión de mensajes se usa un servidor MQTT existente y previamente configurado. Si no se dispone de uno, se puede instalar y configurar siguiendo las instrucciones de MQTT – Mosquitto instalar


Instalación de ChirpStack-gateway-bridge v4.x

Las instrucciones para Raspberry OS se encuentran simplificadas, las primeras son para acceder al repositorio de instalación y la siguiente para instalar el componente.

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

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

sudo apt install chirpstack-gateway-bridge

Configuración gateway-bridge

La configuración del componente se refiere principalmente al formato de reenvío del mensaje hacia el servidor MQTT.

El archivo de configuración se lo puede editar con la instrucción:

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

La conexión al servidor MQTT se configura en el archivo, para el ejemplo se ha mantenido la simplicidad al no requerir usuario y contraseña para interactuar con Mosquitto. Recuerde cambiar esta situación una vez que esten terminadas todas las configuraciones y se ha probado la operatividad del mismo.

# Integration configuration.
[integration]
# Payload marshaler.
#
# This defines how the MQTT payloads are encoded. Valid options are:
# * protobuf:  Protobuf encoding
# * json:      JSON encoding (easier for debugging, but less compact than 'protobuf')
marshaler="json"

  # MQTT integration configuration.
  [integration.mqtt]
  # Event topic template.
  event_topic_template="gateway/{{ .GatewayID }}/event/{{ .EventType }}"

  # Command topic template.
  command_topic_template="gateway/{{ .GatewayID }}/command/#"

  # MQTT authentication.
  [integration.mqtt.auth]
  # Type defines the MQTT authentication type to use.
  #
  # Set this to the name of one of the sections below.
  type="generic"

    # Generic MQTT authentication.
    [integration.mqtt.auth.generic]
    # MQTT server (e.g. scheme://host:port where scheme is tcp, ssl or ws)
    server= "tcp:///127.0.0.1:1883"
    #"tcp://127.0.0.1:1883"

    # Connect with the given username (optional)
    username=""

    # Connect with the given password (optional)
    password=""

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

sudo systemctl status chirpstack-gateway-bridge

en el caso de que se requiera reiniciar el componente

sudo systemctl restart chirpstack-gateway-bridge

El estado del gateway-bridge será semejante a:

CS gateway bridge Status 02

Mensajes en MQTT-Mosquitto

Los eventos y mensajes MQTT son semejantes a lo mostrado, revisando todos los mensajes que llegan a Mosquitto: se puede usar la instrucción.

Para leer los contenidos de la configuración desde MQTT será necesario cambiar al formato a "json" en el archivo de configuración del gateway bridge.

Los estados de los mensajes en formato json se observan en la imagen.

CS gateway bridge MQTT 03

mientras en formato "protobuf" se observa de la siguiente manera:

CS gateway bridge MQTT 04

Observe que en ambas situaciones es posible leer solo los valores correspondientes a los parámetros de transmisión, sin embargo los datos de usuario permanecen ilegibles.

Referencia: version 4.x  https://www.chirpstack.io/docs/chirpstack-gateway-bridge/install/raspberry-pi.html

version 3.x https://www.chirpstack.io/gateway-bridge/install/debian/