Thank you to Christian, programmer of the AIS Share Android App for letting us know about some updates to his AIS Share Android application. AIS Share is a €2 app for Android that allows you to turn an Android device into an AIS receiver together with an RTL-SDR. AIS stands for Automatic Identification System and is used by ships to broadcast their GPS locations in order to help avoid collisions and aide with rescues. An RTL-SDR with the right software can be used to receive and decode these signals, and plot ship positions on a map.
Recent updates to AIS Share have brought improved AIS reception, and updates allowing it to run on the latest Android version. A new video demonstrating the software was also uploaded to YouTube.
AIS SHARE - Android (RTL-SDR AIS receiver)
The App has also been featured in the February 2019 edition the "Practical Boat Owner" magazine (paid magazine with digital editions). The article discusses using AIS Share and an RTL-SDR to stream data to Boat Beacon, which is a popular chart navigation app. A similar but free tutorial on setting up AIS Share and Boat Beacon can be found here.
Over on YouTube user pascal poulain has uploaded a short video that shows a timelapse of the flight path of a weather balloon in Cesiumjs as it rises and falls, as well as a time lapse of a marine tanker docking, with the signals received with an RTL-SDR. In a third video pascal also shows a visualization of glider flights tracked via FLARM and the Open Glider Network which also obtains most of it’s data through RTL-SDR contributors.
Cesiumjs is a tool similar to Google Earth. The main difference is that it works on a wider array of devices through a web browser without the need for any plugins. It is often used for visualizing data on the globe. An example of some of its many demos can be found here.
We’re not sure what tools pascal used, but over on GitHub there is a tool called airtrack which can be used together with dump1090 to display flights in real time on Cesiumjs.
Illustration of 3D realtime tracking of weather sonde.
Ships also has another interesting feature which is that it will automatically determine the PPM offset of a dongle, meaning that generic dongles without TCXO’s can be easily used for AIS. It appears to do this by using the AIS signals themselves, so you will need sufficient AIS traffic in your area for the calibration to work.
AIS stands for Automatic Identification System, and is a system used to track the locations of marine vessels. It is similar to ADS-B in that nearby ships can be plotted and tracked on a map by using an RTL-SDR as the receiver. We have a tutorial for PC available here.
RTL-SDR.com reader Mike wrote in to us today to let us know that he has released his AIS decoder for MATLAB and the RTL-SDR. MATLAB is a technical computing language used by many scientists and engineers in the world. Mike writes the following about his work:
Automatic Identification System (AIS) is a communication standard that is used by commercial and recreational maritime vessels to report a ship’s ID, position, course and other information. This data is used for collision avoidance, search and rescue and many other applications. AIS has the following characteristics:
Access protocol: Self-organizing Time Division Multiple Access (SOTDMA)
Transmission frequencies: 161.975 MHz and 162.025 MHz
Transmit Power: 2 W or 12.5 W
Modulation: Gaussian Minimum Shift Keying (GMSK)
Data Rate: 9600 bits per second
An AIS decoder that uses the RTL-SDR and MATLAB to capture AIS transmissions is posted on MATLAB Central, the MathWorks file sharing exchange. The decoder has three main components
The MATLAB Central post includes MATLAB source code for the AIS decoder, captured data files from Boston and San Francisco, an app for easy configuration and operation of the decoder, and instructions for installing the RTL-SDR Hardware Support Package and AIS Decoder app.
If you want to learn how AIS works, and how to write a decoder, then a MATLAB example like this is an excellent resource.
Recently SV3EXP wrote in to let us know that he has been documenting his experiences with trying to get aisdecoder to decode both AIS channels simultaneously. AIS stands for Automatic Identification System, and is a system used to track the locations of marine vessels. With an RTL-SDR or other SDR radio, and appropriate decoder software you can plot ship positions on a map. As the AIS system uses two separate channels for redundancy, you can get a faster and more reliable update rate if you monitor and decode both channels.
Of course the easier solution to decode both AIS channels at once is to use decoding software that already supports this, such as AISdeco2 or AISrec which can be downloaded at http://xdeco.org, and https://sites.google.com/site/feverlaysoft respectively. But regardless SV3EXP’s method does show an interesting way to demodulate multiple streams using only command line tools.
Over on YouTube user Tobias Härling has uploaded a video showing how he used a Raspberry Pi and RTL-SDR dongle to set up an AIS receiver. AIS stands for Automatic Identification System and is a radio system similar to ADS-B which allows you to create a radar-like system for boats. For Windows we have a tutorial on AIS reception here.
In his setup he uses rtl_ais and the kplex software and shows how to install everything from scratch. He also shows how to set the system up so that decoding automatically starts up and begins outputing NMEA data through the network when the Raspberry Pi is powered on. This way an a device like an iPad could be used to run OpenCPN to view the plotted ships.
AIS Share is a dual channel decoder that outputs decoded NMEA messages via UDP, so that plotting software like OpenCPN can be used to display the ships on a map. AIS Share had been around before in another form known as rtl_ais_android which we posted before, but this version of AIS Share is a newly updated and improved version that now includes a very nice GUI. The app costs about $2 and is available on the Google Play store, but there is a demo available that will work up until 1000 messages are received. You will need an RTL-SDR and a USB OTG cable to run the app.
In the future the author writes that he’d like to update the app to support things like the ability to change more dongle settings like bandwidth/sample rate and add the possibility of using the internal phone/tablet GPS. He is also open to any community suggestions.
https://www.youtube.com/watch?v=ApGk8P82THs (Unfortunately the video has been removed)