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.
Referencia: https://www.chirpstack.io/gateway-bridge/install/debian/