Getting "raw" LoRa data from Gateway Bridge MQTT

I have a RAK Wireless Pilot Gateway set up with their provided image. I have connected a couple of Arduino based sensors using LMIC, and everything seems to be working fine. I have some sensors that were setup on an old single channel gateway, and I need to get the new gateway to send and receive data from them. These devices transmit at 915MHz with 125kHz BW, SF 9.
I subscribed to the mqtt topic gateway/# and I can see transmissions from the Arduino LMIC sensors, but nothing from the single channel sensors. I’m guessing there is something I failed to set up in the LoRa concentrator, but I don’t understand where this gets configured.
I also do not understand the output from the MQTT broker. Typical messages look like this:
PuTTY ▒’▒▒▒▒▒▒▒▒(J 10.0.0.39Z"β–’β–’β–’Dβ–’β–’β–’β–’yβ–’β–’
PuTTY ▒’▒▒▒▒▒020-01-03T04:43:47.506221}β–’ β–’β–’}β–’ β–’β–’}
I do not understand how to begin to parse these. Can someone point me in the right direction? I would like to at least understand what I am seeing here, and I can’t find any direct documentation or examples. A python example of decoding this kind of data would be a huge help.

The messages over MQTT from the Gateway Bridge are in protobuf format. You can use the chirpstack-api repo, which has the definitions for this format, to parse the payloads and examine them in the language of your choice.

You could also switch the Gateway Bridge configuration to the less-compact JSON format for easy reading by a human.

2 Likes