What is it ?
It is an Android app that decodes AIS messages transmitted by vessels , ships, over radio using a cheap USB DVB-T /RTL-SDR stick.
AIS messages are transmitted over VHF.
Channel A: 161.975 MHz
Channel B: 162.025 MHz.
The app decodes both channels simultaneously.
This app needs no internet connection, it decodes the real time received messages.
This is a truly standalone full featured AIS receiver.
The received messages will be translated into NMEA0183 strings which can be forwarded then via UDP or TCP streaming to third-party apps, PC programs or other devices.
Such Apps can display the received AIS data for example on a map along with information about the received objects.
Please note: The app needs additional (very cheap) hardware to receive the radio signals.
- Receive VHF AIS radio signals vis DVB-T / RTL SDR USB Stick
- Decode AIS messages into NMEA0183 strings ( !AIVDM )
- Send this messages via Network (UDP/TCP)
- Device location (GPS,Network) translation into NMEA strings
- location NEMA forwarding via Network (UDP)
Typically costs about ~ 15-35€
- OTG capable Android device with at least Android 4.1
(today most of the devices fulfil this )
Android app to check if your device support OTG
- OTG USB cable (use a high quality one)
- DVB-T – RTL-SDR USB stick
Search for RTL2832U / 820T / 820T2 USB stick.
Cheap AliExpress.com USB 2.0 DVB-T RTL2832U+R820T2 Stick ~10€HIGH QUALITY DONGLES:
I recommend dongles which are more expensive but PPM is 0 or 1.
CHEAP DONGLE – (note you have to find out specific ppm )
- DIY Antenna
or just use the Antenna shipped with your dongle ( then i recommend a telescopic aerial antenna extend to 44,4 cm )
- Area in with you can receive AIS signals ( harbour, rivers, sea ,.. )
There are two apps available in the Google Play Store.
RTL SDR AIS DRIVER
This is the driver app, it’s needed in any case.
In the driver app there is demo/test mode implemented mainly to test the app if your hardware is compatible. Please use this demo mode before you buy the full version. The demo mode is limited to 1000 received messages.
Why this driver app ?
The driver app will run as a service for AIS SHARE app. The service (background process) will run only on request of AIS SHARE ( only the signal processing part of the driver will run )
There is no negative effect on battery draining with this solution. (the driver app runs as process of AIS Share on request, like it would be integrated into AIS Share)
DEMO MODE / TEST IT
- Connect the USB Dongle with your device
- Switch the Slider to activate the Demonstration Mode ( DEMO)
- Press the Play Button
- Have a look at the output window
Driver should start If you find the message: Driver Start OK
then your Android device can successfully communicate with the USB dongle. Your Hardware is compatible.If you installed the APP the first time, the settings for statistic is enabled.
After 30 seconds you should receive a report about AIS package like:A:Received correctly: 40 packtes, worng CRC: 8 packets, wrong size 6 packets
If you receive 0 packets or 1 packet and please set up PPM settings. ( see PPM Chapter )
The demo mode is limited so far for 1000 messages (chan A OR chan B).
The demo mode has no WiFi wake lock.
The demo mode can share data only to one client.
The demo mode can not share GPS position data.
The demo mode has a reduced GUI
Need help –> info@ebcTech.eu
This is the full version of the app.
It allows you to stream the received AIS messages to three different UDP clients, and acts as an TCP server (limited to one client)
Also GPS data can be forwarded to a client (UDP).
In any case you need to install the RTL SDR AIS DRIVER app first. Settings you may choose in the in the RTL SDR AIS DRIVER app will not be considered with this app. You need to configure your settings in this APP.
Installation AIS SHARE / First start
- Install driver app from Google PlayTM store.
Start it one time. After that you can close the app ( RTL SDR AIS Driver )
- Install AIS Share
- Start the AIS Share app go to the setting activity
- Set the PPM setting
This is really important.
- Set up the UDP Share
As UDP HOST enter the IP Adress of the device you want to share the data to.
( so the IP Adress of the partner )For TCP sharing, just enter a port number the Android device is listen to.
The app acts as an TCP server. (limited to just one connection, after sending the data it will close the connection)
- Start the driver
with the pink floating action button.
DRV –> RTL SDR AIS DRIVER is started
AIS,UDP,TCP,GPS,INT –> all internal modules are ready.
(means not active started)
- Message receive
Watch out if you receive messages.
After 60 seconds the first information about received frames via channel A and channel B should appear (each pair in a grid represent chan A and next chan b )
- Please report bugs,wishes …
or posted it in this blog
In both apps RTL SDR DRIVER and AIS SHARE there is a setting page.
Most important setting is the PPM settings. Nearly 99% of the USB dongle needs a frequency correction value. This value is different for every dongle.
The frequency for AIS is Channel A: 161.975 MHz and Channel B: 162.025 MHz. Because each dongle has a frequency drift, without correction the software is basically not tuned on this frequency. As a result you won’t receive messages.
With “High Quality” sticks it is more easy. Search for 0.5 PPM TCXO RTL-SDR dongles. All these dongles have fix PPM Settings of 1.
How to find out the right PPM:
google for frequency correction RTL SDR or PPM RTL SDR to find more
Andorid 6.0 >
Starting from Android 6.0 (API level 23), Android introduces two power-saving features that extend battery life for users by managing how apps behave when a device is not connected to a power source. Doze reduces battery consumption by deferring background CPU and network activity for apps when the device is unused for long periods of time. App Standby defers background network activity for apps with which the user has not recently interacted.
This could be a problem if you want to share AIS data to external device.
F A Q
I installed Martin Marinov RTL2832U driver app, do I need yours
YES, my driver app is tuned to AIS message reception. AIS Share will not work without my driver app.
RTL AIS DRIVER app will not influence any other RTL SDR related app you have installed
I CAN’T RECEIVE A VESSEL AIS MESSAGE
Check PPM settings. In 99% this is the reason.
DRIVER IS UNSTABLE
Check if you use a high quality cable. Do you use a USB extension cable ? Try it without it.
Many thanks to Harmen Meijer for testing and tips.
visit his homepage www.harmenmeijer.nl
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. DO NOT rely upon AIS Share for safety of life or property.
Please note that depending on your local law, receiving radio transmission AIS
@ AIS 1 – 161,975 MHz (Kanal 87B) AIS 2 – 162,025 MHz (Kanal 88B)communication is maybe illegal. Please inform your self before you use this app in combination with a USB DVB Tongle. Never use this app or the generated data for communication purpose.
Android, Google Play and the Google Play logo are trademarks of Google Inc.