GPS2IP
GPS2IP can turn your iPhone or iPad into a wireless GPS for interfacing with navigation software on your local network, a server sitting on the internet, or anything in between.
GPS2IP allows you to configure what messages you send, how often you do, and to where they go.
Send only the information you need
Depending on your requirements
Even when asleep, GPS2IP keeps operating
Stream over BLE!
Get location data from anywhere
Send to your local network
Send to any accesible server
Broadcast to multiple clients
Connect to online WebSocket Server
A free version for testing, and system verification
Available on the AppStoreThe full version, with all features and options
Available on the AppStore
GPS2IP has been sucessfully integrated with many applications, and used for many custom solutions that users have dreamed up for themselves.
Here are some of the most common applications that interface with GPS2IP.
OpenCPN is a free open-source chartplotter and Marine GPS Navigation System, developed by a team of active sailors.
ConfigAvailable on Android & iOS, iNavX is a handheld chartplotter that delivers charts from your favorite chart providers.
ConfigThe Navionics Boating app features nautical charts for cruising, fishing, sailing, diving and all your activities on the water
ConfigSOB is a PC-based navigation app that gives real-time chart positioning and details such as speed and heading
ConfigiSailor runs on both iOS and Android, and has many useful navigational features
ConfigExplore, Plan and Navigate your trips in real time and outstanding high-resolution, using the latest Vector Marine charts
ConfigGPS2IP has been sucessfully integrated with many applications.
While here are some we have tested, this list is not exhaustive!
If you know another software package that works well with GPS2IP - please get in touch!
Here are some that we know can accept a remote GPS like GPS2IP, and the modes that are known to work.
Sometimes, an application has not been designed to accept external GPS sources.
Most driving apps do not offer the ability to connect to a wireless or BLE GPS.
This means that Apple Maps, Google Maps, Waze, Sygic and apps like that are - to our knowledge - unable to work with GPS2IP.
GPS2IP has been sucessfully integrated with many applications, and used for many custom solutions that users have dreamed up for themselves.
Most of these features can be configured in the Settings section, which can be found from the main UI by pressing the settings button in the lower right corner.
For a comprensive explanation of every single setting and feature, see our documentation page.
GPS2IP can push the GPS data to any IP address, using either TCP for a connected session, or UDP for a faster, lightweight method.
Go into the settings, and under Connection Method, select either TCP Push or UDP Push.
By pressing the settings button, you can check and modify the address the data is being transmitted to.
The address can be any valid IP4 adress, and also a URL such as heresaverylongurl.com
(http:// is assumed).
The Port number should be the port that the other machine is listening on.
More detailed setup instructions can be found here.
GPS2IP can be configured as a WebSocket Client, and connect to any online WebSocket Server to share location data using the latest WebSocket technology.
Websockets are particularly useful for building software applications requiring instant updates. In this way, you can share data from many GPS2IP Clients instantly.
For technical information, check out WikiPedia.
GPS2IP setup instructions can be found here.
GPS2IP can transmit both the NMEA & TAIP format navigation messages.
Most marine applications use the industry-standard NMEA system.
TAIP was designed specifically for vehicle tracking applications, but has become common in a number of other
applications because of its ease of use.
Config TAIP
On the settings page, just select which option you prefer:
To save energy, GPS2IP can minimise the amount of data transmitted by selecting an appropriate transmission period for your needs.
The first option is No Delay, which means that data will be transmitted as soon as your device gets any GPS data.
If the GPS signal is strong, this could be every second.
If the GPS signal is weak - you may not get any transmission for seconds or minutes.
If your iOS device is running on the battery, consider slowing down the period from this setting to conserve battery life.
The next settings is 1s, which transmits every second if the setting Disable when Static is disabled.
The setting Disable when Static makes it possible to not keep receiving the same (or very similar) data when your device is staionary.
If you are only interested in receiving data to show where the device has been (and don't care so much where it might be right now), then enabling
this setting can save considerable battery energy if the device stays in one place for lengthy periods of time.
Disable when Static overrides the time selection: No matter what period you select, if Disable when Static is enabled and the device doesn't move
a moderate distance - you will not receive any data.
This means you know where the device was last (at some point in the past), and it is safe to assume it is still there (otherwise it would have transmitted new data).
You will not have real-time updates, but will drastically extend battery-life.
Other settings range from 5s up to 1 hour.
If you are drifting on a wind-blown raft after escaping a shipwreck - selecting 1 hour should be fine.
Aboard a modern ship, perhaps 5 minutes or 30 minutes would be better.
If used for navigation, 1s or 5s is recommended.
The ideal setting depends entirely on your requirements.
In an effort to minimise energy consumption, GPS2IP can use several techniques to determine the device location.
If you have your iPhone plugged into power, you can ignore this setting, and just go with 'The very best' setting.
Apple has defined the following values, from which you may choose.
GPS2IP setting | Apple says |
---|---|
The very best | Uses the highest possible accuracy and combine it with additional sensor data. |
Pretty good | Accurate to within ten meters of the desired target. |
Moderate | Accurate to within one hundred meters. |
Lazy | Accurate to the nearest three kilometers. |
If you select one of the lower accuracy-settings, the power consumption can be dramatically reduced.
(The GPS uses a lot of power!).
Standard GPS devices output the NMEA format.
Here is a document with details of some common NMEA messages.
GPS2IP outputs a subset of these messages, as apple devices do not have the sensors to determine much of the information required to construct valid NMEA sentences.
The available sentences (with provisos detailed) are:
0.9
8
46.9
m3.1
°W0.0
m3.14159...
°Each of these NMEA sentences can be individually enabled and disabled.
If your requirements are primarily maritime, perhaps MarineGPS might meet your needs.
GPS2IP can cantinue to operate in the background in several different ways.
If Operate in background mode is enabled, then you will continue getting data if
Even if powered-off (or the battery runs out), GPS2IP will restart automatically if Operate in background mode is enabled.
If the setting Operate when terminated if enabled is enabled this works on an even lower level.
Normally, if you terminate an app by going into the 'Multitasking Manager' (by double-clicking the home button) and dismissing it by flicking upwards - that's it - it is killed, and will not run again until you click on the icon for the app.
However, if GPS2IP is running (enabled on the main UI page), and is terminated by this method with Operate when terminated if enabled enabled
then if the device is restarted, GPS2IP will come back to life after a few minutes, and continue transmitting.
It will still be in the background, but will function as configured before power-off.
This does require that the device receives at least one good location update from the GPS before it will begin transmitting.
GPS2IP can communicate over several different networks.
Probably the easiest way to connect to your iDevice is over a wireless LAN (wifi).
If your iDevice is on the same network as your computer that you want to connect to is, it will be assigned an IP address similar to yours (perhaps 192.168.1.7, or similar).
You can check the IP address by selecting Wifi IP under Network Selection in the settings, and hitting the little
This is the method you use to connect to the internet when out of range of any wifi network - when you're in the car, for example.
Sometimes your cellular provider will not assign you a 'real' IP address (visible from outside their network), but an
address essentially on their LAN, behind their NAT system.
This means you cannot telnet to your iDevice. You might have to transmit, if your solution allows.
You should ask them to assign you a publicly accessible IP address.
If you have a cellular connection in your iPhone, you can enable "Personal Hotspot" .
This means your iPhone will act like a wi-fi router, and you can connect to the new wi-fi network that it provides.
To set up Personal Hotspot:
Once you have enabled Personal Hotspot, when you select Hotspot in the GPS2IP Network
Selection settings, you will be
able to connect to it over wifi from any other device.
If you are using TCP ur UDP push, you will need the other device to connect to the Hotspot before determining the IP address of that device.
If HotSpot is operating, your data usage may be high if network access is required for anything connected to the
device
running GPS2IP.
For example, Navionics syncs information, and can use quite a lot of data.
Please disable these features if you do not have a high data allowance.
In iOS 11, it can take a few minutes for your device to configure itself properly for some reason.
If you get a message 'Not Available' in GPS2IP when you press the next to the
Hotspot setting, then try waiting a minute or so..
You can connect to GPS2IP with a device that uses BLE technology.
BLE is available if your device supports Bluetooth 4.0 or greater.
All iPhones after the 4s support this version, as well asBoth the device running GPS2IP and the other device must support BLE to be able to use this method!
BLE is NOT 'normal' Bluetooth.
You cannot just connect GPS2IP to your computer to 'magically' have a GPS.
The software you use must be expressly designed to use BLE.
The operating system (Windows or Mac) will not see GPS2IP as a Bluetooth GPS.
SeaNav, for example, has been written to take advantage of BLE devices, like GPS2IP.
GPS2IP provides the Location and Navigation (0x1819) service, with the following characteristics:
Number | Name | Read | Notify | Specifications |
---|---|---|---|---|
0x2A67 | Location and Speed Characteristic | Bluetooth.com 'Location and Speed Characteristic' | ||
0x2A68 | Navigation | Bluetooth.com 'Navigation' | ||
0x2A6A | LN Feature | Bluetooth.com 'LN Feature' |
When the icon is flashing, GPS2IP is advertising it's services.
This means other devices can see it, and subscribe to the data.
If there is a problem, the Bluetooth system can stop advertising. In that situation, the icon will be greyed out .
You can press that icon to start GPS2IP advertising again.
If the icon is solid blue - you have a connection with at least one other device.
Rather than configuring a destination for GPS2IP to transmit location information to another machine, GPS2IP can be operated as a network socket .
In this mode, GPS2IP waits until a connection is requested by some software, and then establishes a connection with that software/computer.
You may not need to know the details, but some navigation software will use this method to connect to a GPS source.
To enable this mode, select Socket in the Connection Method section, and hit the little button
to verify or change the port that GPS2IP will listen to.
Your navigation software should have that port number information available.
If you would like to test that GPS2IP is functioning (with good reception and location data, for example), you can Telnet
to your iOS device, and begin receiving data.
Make sure all the settings are configured appropriately to get data out for testing.
Check the Socket for the port number, and the under the selected network for the IP address.
In this example, the iPhone has an IP address 192.168.0.106 and is listening on port 1112.
Start up Windows Command Prompt, and start the socket connection with the following command
Microsoft Windows [Version 10.0.15063] (c) 2017 Microsoft Corporation. All rights reserved. C:\WINDOWS\system32>telnet 192.168.0.106 1112 $GPRMC,081656,A,5826.02896,N,02700.28502,E,0.00,0.00,140817,003.1,W*67 $GPGLL,5826.02896,N,02700.28502,E,081656,A*20 $GPRMC,081656,A,5826.02896,N,02700.28502,E,0.00,0.00,140817,003.1,W*67 $GPGLL,5826.02896,N,02700.28502,E,081656,A*20 $GPRMC,081656,A,5826.02896,N,02700.28502,E,0.00,0.00,140817,003.1,W*67 $GPGLL,5826.02896,N,02700.28502,E,081656,A*20 ...
More details here
For a comprensive explanation of every single setting and feature, see our documentation page.
If you are using an app that can comunicate via TCP or UDP Push (from GPS2IP perspective), find out how to test your connection, here.
If you don not have a router, you might be able to directly connect two devices together with an Ad-Hoc network.
Check out how to do this here.
Some apps (especially on the PC) only take NMEA from a serial port.
Check out this tutorial to learn how to connect a wi-fi GPS (GPS2IP) with an app that wants a serial connection.