Skip to content

Releases: jvde-github/AIS-catcher

v0.51.b

31 Aug 20:52
Compare
Choose a tag to compare
  • 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 address raspberrypi, e.g. like:
AIS-catcher -t txt raspberrypi 5011

or use the tcp_listener keyword in the JSON configuration.

v0.50

03 Aug 18:13
Compare
Choose a tag to compare
  • bug fix to gain setting for RTL-TCP
  • -u has option BROADCAST 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

image

Edge

04 Aug 06:44
Compare
Choose a tag to compare

Edge version, home for the Windows Binaries for the latest build.

v0.49

09 Jul 06:44
Compare
Choose a tag to compare

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

17 Jun 15:27
Compare
Choose a tag to compare

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:

image image

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

04 Jun 18:21
Compare
Choose a tag to compare
  • 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

20 May 07:57
Compare
Choose a tag to compare

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

15 Apr 09:17
Compare
Choose a tag to compare

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

31 Jan 17:21
570911a
Compare
Choose a tag to compare

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

17 Dec 20:51
0bd1361
Compare
Choose a tag to compare

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.