Releases: jvde-github/AIS-catcher
v0.51.b
- Creation of an Edge Release where latest Windows binaries are stored: HERE
- Addition of an offline webclient version. This should run as usual but offline map tiles are not stored so that might work only depending what is in the cache. Graphs and tables work. To run, first go to your home directory (say
/home/jasper
) and clone the necessary web assets:
git clone https://github.com/jvde-github/webassets.git
Next run AIS-catcher with the CDN argument to point the webserver to the created directory with web content:
AIS-catcher -x 192.168.1.120 4002 -N 8100 CDN /home/jasper/webassets
- In case running with multiple dongles, the shipcard in the webclient now shows source (i.e. the SDR) of the last signal displayed. Also it will list all receivers that have received a message from the MMSI.
- Increased the default RTL-SDR buffer, so running on a RPI Zero W only requires activating fast downsampling
-F
. - Option
-ge print on
to dump raw input from serial device to screen - Bug fix in reading from certain serial devices on Windows
- Bug fix in properly closing when reading from TCP connection e.g. RTL-TCP
- Fix to internal webserver to avoid one client blocking the server when sending
- Accept VDO messages for NMEA input (
-go VDO on/off
) - New options
-N use_gps on/off
and-N own_mmsi xxxxx
added. The former toggles the use of GPS NMEA input as location for the receiver station (default is on). The latter sets the station's location as the location of the vessel with the specified MMSI. The own mmsi will be highlighted. - Fix inclusion of libzmq in Windows auto builds
- TCP listener for NMEA output, e.g. for port 5011 run with
-S 5011
. AIS-catcher can read from this TCP server at addressraspberrypi
, e.g. like:
AIS-catcher -t txt raspberrypi 5011
or use the tcp_listener
keyword in the JSON configuration.
v0.50
- bug fix to gain setting for RTL-TCP
-u
has optionBROADCAST on
to enable sending to UDP broadcast addresses, e.g.
AIS-catcher -u 192.168.1.255 BROADCAST on
- Add new database table (
ais_vessel
) that for each mmsi captures the last broadcasted data. MAX_FAILS
option for database writes- option to fade out vessel icons depending on signal age
- some updates to the web UI, including improvements to dark mode
Edge
Edge version, home for the Windows Binaries for the latest build.
v0.49
Option to read from serial devices with the switch -e
. Trialed succesfully with the dAISy hat but more testing needed:
AIS-catcher -e 38400 /dev/serial0
Furthermore:
- Improvement in default settings for SDRplay and downsampler at 2304K
- Accepts SDRangel generated WAV files as input
- new settings
-go ID xxx
that sets the station_id which will automatically feed into the database - Decode a single channel with
-c X
, see here for an example.
v0.48
New additions in v0.48:
- Tweaking the bandwidth setting for the SDRplay increasing message reception slightly
- new model that is less sensitive to frequency drift. You can run this model using the switch
-go AFC_WIDE on
(which is now the default as well). Running the new model setting and the previous default model on a file with ~410 messages and artifically shifting the frequency to simulate dongle frequency instability, shows the following:
Initial observation is that the new model (orange) has a similar message count if the dongle has no frequency offset compared to the current default model (blue), i.e. for the case of zero shift. The new model hears a similar number of ships but, as hoped, seems less affected if the dongle is off by +/- 5 ppm and not corrected by the -p
switch.
v0.47
- Fixing sorting issue on table
- Hover on flag gives full country name instead of ISO code
- RTL-TCP switch
-t
allows setting protocol directly instead of via-gt
:AIS-catcher -t txt 153.44.253.27 5631
- Read station location from GPSD:
AIS-catcher -t gpsd localhost 2947 -N 8100 share_loc on
- JSON output for AIS Msg 6 (DAC 235, FID 10)
- Migration from Fontawesome CDN icons to Material Design icons as Google font to deal with limit of free plan, update of plugins required
v0.46
What's new
The most recent update presents a modest reconfiguration of the menu items, introducing additional functionalities through the use of context-sensitive menus, accessible through a right-click or long press on iOS. These new options include a theme for dark mode, the display of the station range on the map, simplified adjustment of the map's center, the availability of text-only labels, and the optional decluttering of shiplabels, showing details on the last received messsage from a vessel, among others.
Additionally a new feature has been added that sends messages to (e.g.) MarineTraffic as a TCP client (with auto-reconnect) using the -P
switch. For example:
AIS-catcher -P 5.9.207.224 6767 -P 192.168.1.239 2947
v0.45
About page
the user can make a page in markdown format. The content will be shown in the About tab of the webserver:
AIS-catcher -N 8100 ABOUT about.md
Prometheus/Grafana interface
First functionality to output some metrics from AIS-catcher to Prometheus, see here.
JSON UDP input/output
JSON over UDP output: functionality to send NMEA messages packaged in a JSON object, e.g.:
AIS-catcher -u 192.168.1.235 4002 JSON on
JSON over UDP input: AIS-catcher accepts and parses this input when running as a UDP server, e.g.:
AIS-catcher -x 192.168.1.235 4002
Most external programs will not be able to accept this JSON packaged NMEA strings. It is a way to transfer received messages between AIS-catcher instances without losing meta data like the timestamp, ppm correction and signal level. These are not captured in the standard NMEA strings.
Writing AIS to PostgreSQL
The setup is fairly flexible and can be tailored to the particular needs. See READMEfor more details.
GPS, multiple receivers and plot station location on map
The latest version can run with multiple receivers in parallel. For example, one dongle for channel A+B and one dongle for channel C+D. To run with two receivers in parallel you can use a command like:
AIS-catcher -d serial1 -v -d serial2 -c CD -v -N 8100
There are a few other options that together can provide some interesting new functionality. Firstly, the webserver can share the location of the station with the front-end so it will be displayed on the map:
AIS-catcher -N 8100 share_loc on
This option is switched off by default for privacy reasons in case the webclient is shared externally. And secondly, the NMEA decoder accepts NMEA lines from a GPS device (NMEA lines GPRMC, GPGLL and GPGGA):
echo '$GPGGA, 161229.487, 3723.2475, N, 12158.3416, W, 1, 07, 1.0, 9.0, M, , , , 0000*18' | ./AIS-catcher -r txt .
These GPS coordinates will be used to set the location of the station. In this way the station can be visualized and tracked while on the move. This is useful if you use AIS-catcher to read from a hardware AIS receiver that has a built-in GPS.
All these new functions combined enables a command line like this:
AIS-catcher -r txt /dev/serial/by-id/usb-u-blox_AG_-_www.u-blox.com_u-blox_7_-_GPS_GNSS_Receiver-if00 -x 192.168.1.235 4002 -N 8100 share_loc on
The first receiver (-r txt ...) reads from a GPS device that is connected and emits NMEA lines. The second receiver (-x) reads AIS NMEA lines at port 4002 coming from another instance of AIS-catcher. The station is now plotted on the map with the location as provided by the GPS coordinates. The web-page has the ability to fix the center of the map on the location of the receiving station.
This functionality is new so reporting of bugs is appreciated.
v0.44
Improvements to the web-client and ability to read NMEA over TCP and UDP.
Functionally equivalent to v0.43 which has been removed as it was consuming too many CPU cycles. This has been fixed.
v0.42
Simple webserver to view statistics of the system in action. Start the webserver as follows:
AIS-catcher -N 8100
where 8100
is the port number. If you go in your browser to the IP address of the machine running AIS-catcher and specify the port (e.g. if your machine is raspberrypi, enter raspberrypi:8100
) you will see a few tabs providing insights into the reception of your station, including signal levels, ships seen, a simple map and message rate.
There are a few additional options. For example, you can use -N PORT_MIN 8100 PORT_MAX 8200
which will cause AIS-catcher to find an available port in the range 8100 to 8200. A further option is to provide the station name and a link to an external website which will be displayed on the Statistics page and :
AIS-catcher -N STATION Southwood STATION_LINK http://example.com
To display the distance to your station you need to provide the coordinates as follows:
AIS-catcher -N LAT 50 LON 3.141592
All these options can be captured in the configuration file (in a section with name server
).
Please note that there was a problem with UDP output for the Windows version with this release. Recommendation is to use an earlier version or the Bleeding Edge.