First of all thank you Brocaar for your excellent implementation of the LoraServer. Its simple to set up and very approachable with your documentation.
I have set up a fully working system through which am able to receive data from nodes to my MQTT clients. However, for an experiment that I must do, I want to forward more properties about a node from the RPI Packet Forwarder to the LoraServer via the Lora Gateway Bridge. Currently, the Device ID and the Frame Count variables are not forwarded from the RPI Packet Forwarder Software to the main server. For range testing, and evaluation purposes, these parameters are very useful. I made several efforts to get this done and they are elaborated below.
The most obvious approach was to update the JSON paylod. I did that successfully and a new JSON was generated at the Packet Forwarder software with additional fields for Device ID and Frame Count. It was after I successfully send this string, I realized that the Gateway Bridge is filtering out these two additional JSON parameters I added and sending only what is it programmed to send. I installed the RPI Lora Gateway Bridge from the .deb package as you mentioned and I am a bit hesitant (rather a bit scared due to restrictions in time) to edit the code of RPI Gateway Bridge and install the same from source.
My second approach was to tap directly into the payload. There I realised that the Payload variable in the Packet Forwarder software is in binary and is later converted to Base64 prior to integrating with the uplink JSON string.Thus, I created a separate, combined Base64 formated string that incorperated both the DevID and Frame Count. However it also seems impossible to integrate this with the Base64 Payload string as combining two Base64 strings for all possibilities wasn’t simple. At least for me.
My plan tomorrow is to decode both the already converted Base64 data Payload and my combined Base64 custom string into ASCII mode and combine them while they are in ASCII form. Then, I can convert them back into Base64 format and integrate as ONE SINGLE payload. But this seems a far fetch.
Can someone please advice me how I can simply make appear two more parameters sent from the Lora Packet forwarder in my LoraServer’s MQTT data string?
Your efforts will be so much appreciated. Thank you for your time.