I’ve been quite frustrated by the lack of a standard between LoRa device manufacturers in their uplink & downlink payloads. It’s reached a point that The Things Industries is doing their best to solve the problem by managing a registry which needs to be continually updated as new devices are created.
Well established manufacturers (looking at you Tektelic for example) do offer a Javascript decoder, but that’s it. What about all the systems in other languages? The best they (and others) offer is a 60 page PDF with difficult to understand tables for custom binary encoding schemas. Trust me, I’ve asked - “Why don’t you supply a Python” decoder?
Am I the only one who feels like there must be a better way? It’s terrible DevEx and I think holding this technology back.
What’s silly is that there is already a pretty awesome tool for encoding extremely small, binary, schema-ful messages - used widely across the web. Efficient over the network and easily compiled for multiple languages, well supported and open source - Protobuf.
Bonus, manufacturers could simply supply a language neutral .proto
file with each device and developers could easily compile a decoder in their favorite language in minutes.
Unless I’m missing something it seems silly to not be working towards a standard in payload encoding/decoding in this space.
Am I the only one who feels this way? Is anyone doing this in practice? Production?
Side note, I see that Meshtastic is using protobuf for some payload definitions which seems like a step in the right direction. What else am I missing?