2.1 ChirpStack – 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

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/3.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:

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.

mientras en formato «protobuf» de verian de la siguiente manera:

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.

Referenciahttps://www.chirpstack.io/gateway-bridge/install/debian/