LoRaWAN to SDI-12 bridge
A second, independent path from a LoRaWAN gauge to an ALERT radio.
What it is
A Milesight radar gauge already reports over a commercial LoRaWAN network. This project adds a private gateway that hears the same sensor directly, decodes it locally, and serves the level over SDI-12 to an ELPRO ERT-A2 field station -- which puts it on the ALERT VHF flood-warning network. If the LoRaWAN backbone fails mid-flood, the reading still reaches the radio.
- The sensors are provisioned ABP (Activation By Personalisation): the private gateway holds each device's session keys, so it decodes uplinks without a join exchange and without depending on any network server upstream. Keys live in a file outside the source.
- The fix that made it work was the channel plan. The sensor is AS923 with six channels added downward; the stock gateway preset adds six upward. They overlap on two channels, so out of the box the gateway heard 2 uplinks in 8. Correcting it took reception from 25% to 94%.
- Reception is measured by the device's own frame counter, never by wall clock. That separates 'we missed it' from 'it never sent it' -- and every loss in this project was at the receiver.
- Physical constants are derived, not guessed. Both ends of the height validity band were once invented, and both were wrong; one rejected an entire falling tide while the radio retransmitted a frozen level as though it were live.
How it works
Parts
Code
github.com/agmurf/lorawan-sdi12-bridge ↗
MIT licensed. No agency sensor register and no key material is included. Field engineering on a live warning path, published because the reasoning may help others — not a product, no warranty.
Product photos are the manufacturers' — used to identify their products and linked to their pages: Milesight / MCCI, RAKwireless, Raspberry Pi Ltd, RAKwireless, RAKwireless, ELPRO Technologies.