Beaconing: get GPS position from a local UDP NMEA0183 stream #223

Open
opened 2026-10-05 05:51:27 +02:00 by adam · 4 comments
Owner

I'm looking to deploy a LoRa APRS iGate on our sailboat. This means it will be on a moving vessel.

For beaconing, the firmware currently uses a fixed set of latitude and longitude.
I could likely update these from our boat computer by making occasional HTTP requests to the configuration interface. But that would reboot the node each time.

A nicer option would be if the firmware was able to receive GPS positions from the UDP stream available on our boat. This is quite common on boats, as apps like Navionics use this, and hence there are lots of different marine devices that can produce the stream. Example: https://www.yachtd.com/news/navonics_app_sonarchart_live.html

Here's a quick example from our boat network:

$ nc -ul 192.168.2.255 2000
$IIZDA,145922.020,01,10,2025,,*4F
$GPGGA,145921,1204.8534,N,06851.7487,W,1,11,0.7,-5.7,M,-15.8,M,,*58
$GPGLL,1204.8534,N,06851.7487,W,145921.020,A*25
I'm looking to deploy a LoRa APRS iGate on [our sailboat](https://lille-oe.de). This means it will be on a moving vessel. For [beaconing](https://github.com/richonguzman/LoRa_APRS_iGate/wiki/02.-WebUI-iGate-Configuration#beaconing), the firmware currently uses a fixed set of latitude and longitude. I could likely update these from our boat computer by making occasional HTTP requests to the configuration interface. But that would reboot the node each time. A nicer option would be if the firmware was able to receive GPS positions from the UDP stream available on our boat. This is quite common on boats, as apps like Navionics use this, and hence there are lots of different marine devices that can produce the stream. Example: https://www.yachtd.com/news/navonics_app_sonarchart_live.html Here's a quick example from our boat network: ```bash $ nc -ul 192.168.2.255 2000 $IIZDA,145922.020,01,10,2025,,*4F $GPGGA,145921,1204.8534,N,06851.7487,W,1,11,0.7,-5.7,M,-15.8,M,,*58 $GPGLL,1204.8534,N,06851.7487,W,145921.020,A*25 ``` <!-- github-sync-id:3473984335 -->
Author
Owner

Why would you deploy an igate on a sailboat, and then dynamically update its location - while there is a Tracker flavour of the firmware that does exactly that?

Well, it works with its own GPS, doesn't take it from the ship's GPS, but the functionality of the Tracker firmware is very much in line with what you are looking for - GPS based dynamic beaconing of the location. Should you really want to pipe you boat's GPS into the device instead of letting it use its own GPS, the Tracker codebase is much more suitable for this development.

If Tracker doesn't work for you, you should probably explain in much more detail what is unique about your needs. But it feels that adding your request to the IGate fimware is not the correct direction.

Why would you deploy an igate on a sailboat, and then dynamically update its location - while there is a Tracker flavour of the firmware that does exactly that? Well, it works with its own GPS, doesn't take it from the ship's GPS, but the functionality of the Tracker firmware is very much in line with what you are looking for - GPS based dynamic beaconing of the location. Should you really want to pipe you boat's GPS into the device instead of letting it use its own GPS, the Tracker codebase is much more suitable for this development. If Tracker doesn't work for you, you should probably explain in much more detail what is unique about your needs. But it feels that adding your request to the IGate fimware is not the correct direction. <!-- github-comment-id:3366583159 -->
Author
Owner

I'm looking to deploy a LoRa APRS iGate on our sailboat. This means it will be on a moving vessel.

For beaconing, the firmware currently uses a fixed set of latitude and longitude. I could likely update these from our boat computer by making occasional HTTP requests to the configuration interface. But that would reboot the node each time.

A nicer option would be if the firmware was able to receive GPS positions from the UDP stream available on our boat. This is quite common on boats, as apps like Navionics use this, and hence there are lots of different marine devices that can produce the stream. Example: https://www.yachtd.com/news/navonics_app_sonarchart_live.html

Here's a quick example from our boat network:

$ nc -ul 192.168.2.255 2000
$IIZDA,145922.020,01,10,2025,,*4F
$GPGGA,145921,1204.8534,N,06851.7487,W,1,11,0.7,-5.7,M,-15.8,M,,58
$GPGLL,1204.8534,N,06851.7487,W,145921.020,A
25

so you want more like a TNC than a iGate, right?

> I'm looking to deploy a LoRa APRS iGate on [our sailboat](https://lille-oe.de). This means it will be on a moving vessel. > > For [beaconing](https://github.com/richonguzman/LoRa_APRS_iGate/wiki/02.-WebUI-iGate-Configuration#beaconing), the firmware currently uses a fixed set of latitude and longitude. I could likely update these from our boat computer by making occasional HTTP requests to the configuration interface. But that would reboot the node each time. > > A nicer option would be if the firmware was able to receive GPS positions from the UDP stream available on our boat. This is quite common on boats, as apps like Navionics use this, and hence there are lots of different marine devices that can produce the stream. Example: https://www.yachtd.com/news/navonics_app_sonarchart_live.html > > Here's a quick example from our boat network: > > $ nc -ul 192.168.2.255 2000 > $IIZDA,145922.020,01,10,2025,,*4F > $GPGGA,145921,1204.8534,N,06851.7487,W,1,11,0.7,-5.7,M,-15.8,M,,*58 > $GPGLL,1204.8534,N,06851.7487,W,145921.020,A*25 so you want more like a TNC than a iGate, right? <!-- github-comment-id:3366708754 -->
Author
Owner

I don't think a LoRa tracker alone on the sailboat would be that useful. It is quite rare that we'd be in range of an iGate or even a digipeater. Looking at the APRS map, the next ones are in Panama, a few months away from now.

However, the boat has its own Internet uplink via both cellular (when coastal) and Starlink (when maritime mobile). So the boat could serve as a useful iGate for other trackers (on the crew, or maybe in the coastal communities we sail by). And even when we have Starlink turned off, at least we can be a digipeater. This is very close to the model we have with Meshtastic.

The third option indeed is to write some software to use the TNC features of the iGate firmware and publish the beacon data that way. But I though that since beaconing is already supported, this feature request would add flexibility on whether the LoRa device needs to have its own GPS or not.

I don't think a LoRa tracker alone on the sailboat would be that useful. It is quite rare that we'd be in range of an iGate or even a digipeater. Looking at the APRS map, the next ones are in Panama, a few months away from now. However, the boat has its own Internet uplink via both cellular (when coastal) and Starlink (when maritime mobile). So the boat could serve as a useful iGate for other trackers (on the crew, or maybe in the coastal communities we sail by). And even when we have Starlink turned off, at least we can be a digipeater. This is very close to the model we have [with Meshtastic](https://blog.noforeignland.com/off-grid-boat-communications-with-meshtastic/). The third option indeed is to write some software to use the TNC features of the iGate firmware and publish the beacon data that way. But I though that since beaconing is already supported, this feature request would add flexibility on whether the LoRa device needs to have its own GPS or not. <!-- github-comment-id:3366764879 -->
Author
Owner

iGate FW has the possibility (already) to send its own GPS (if the board has GPS attached) , this should fix the problem about having a fixed GPS position on firmware.

besides that, having it 3G or Starlink internet for it is also good. And it already can change from being iGate to Digi when it looses the internet-connection.

about the TNC feature... its already working with a few PC apps for it.

please give me more info about your needs to see how to make it fit ;)

iGate FW has the possibility (already) to send its own GPS (if the board has GPS attached) , this should fix the problem about having a fixed GPS position on firmware. besides that, having it 3G or Starlink internet for it is also good. And it already can change from being iGate to Digi when it looses the internet-connection. about the TNC feature... its already working with a few PC apps for it. please give me more info about your needs to see how to make it fit ;) <!-- github-comment-id:3366779703 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/LoRa_APRS_iGate#223