AirLink MP70 GPS TCP Streaming

Hello. I’ve got an MP70 router running ALEOS. I would like to stream the GPS position data (NMEA) from the MP70 to other machines on the local network that are attached to the router via Ethernet or WiFi.

It seems that the ALEOS configuration UI (port 9191) allows me to configure the MP70 to connect to a particular LAN IP address and send NMEA data to one or more TCP ports that single IP address.

This seems backwards to me – the MP70 router is the node that is always present on the network and is most likely to have a reliably-static IP address. The other clients on the LAN will typically be dynamically-configured and there’s no guarantee that a particular IP will map to any particular hardware. Worse yet, there’s no way to control which IP the MP70 will attempt to send data to – it seems to just pick one. And good luck if you are using statically-configured IP addresses (not DHCP-assigned from the router) – I’m not sure what will happen in that case.

It would make a lot more sense to have the MP70 serve GPS NMEA data on a particular TCP port. Is there a version of the MP70 firmware where the GPS server is implemented on the MP70?

Hi jeremy.trimble,

You can configure up to four servers as report destinations.

Please refer to page 275 to 296 in 41113545_ALEOS 4.13.0 Software Configuration User Guide for AirLink MP70_r1.pdf for more details.

You can get the latest MP70 Software Configuration User Guide here AirLink MP Series Software Configuration Guide

Please help to tick “Solutions” if your question is answered.

1 Like

I’m about to attempt a similar thing and wondered if you’ve had any luck getting this to work.

Using servers 1 to 4 looks promising, since you can specify a local fixed IP or range for broadcast.

I’d agree that it doesn’t seem the most elegant way to make these values available. More useful to me would be data on request from the MP70.

I had wondered whether I could simply scrape the values from the login page. Looking at the page source, I see the fields are populated from an XML file accessed via an AJAX request. Whilst that’s a very convenient format for me, cross-origin policy prevents me from pulling it in from another web page. It might be possible to access the file by spoofing the origin in the request headers, but that feels too dirty for production code.