Does anyone monitor AIS (Ship and Vessel Tracking?)

Thank you @ngtrthanh

 

 

1 Like

Good idea, but do I have to do it (how?), or you will do it?

1 Like

Done with basic feeders, apprx location by triangulated.
A future version with feeder login and edit his/her station data, upload photo, and so on.

Thank you, but setting station location by triangulation is too far away.
Better it is set using actual coordinates provided by user.

 

1 Like

Yes, fully agree

1 Like

Too far for what?
The only time I can see your station location mattering is when it’s on a boat.

For ADS-B, a (moderately) accurate location is only needed for MLAT and FA offer to obscure your public location by upto 10km

My station was shown about 100nm away from it’s actual location.

With this much error, it is better not to show the position of ground station on the map.

 

Granted, that’s quite a distance, but apart from you noticing, it doesn’t effect anything (like it would for MLAT).

Select the “Layers” tab and turn off “Feeders” - won’t change anything, but it’ll stop annoying you!

1 Like

(longtime listener, first time caller)

We rely on JSON_FULL and after upgrading I see a log message:

JSON_FULL option is deprecated and will be removed in a future release. Use MSGFORMAT instead

How do I change config lines like the following to satisfy current usage?

-u 127.0.0.1 5005 JSON_FULL on

Thx!

Use MSGFORMAT 5

-u 127.0.0.1 5005 MSGFORMAT 5

You will see this line in output

UDP: open socket for host: 127.0.0.1, port: 5001, msgformat: JSON_FULL, sources: ALL

See below test command and it’s output

pi@armbian-forky:~$ AIS-catcher -d 00000001 -u 127.0.0.1 5001 MSGFORMAT 5

AIS-catcher (build Jun 18 2026) v0.69-0-g8f81b4b
(C) Copyright 2021-2026 jvde-github and other contributors
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Hint: Use '-X on' to share with aiscatcher.org community (enables community overlay) or '-X off' to disable. Currently ON by default.
Searching for device with SN 00000001.
Found Rafael Micro R820T tuner
UDP: open socket for host: 127.0.0.1, port: 5001, msgformat: JSON_FULL, sources: ALL
TCP feed: open socket for host: 185.77.96.227, port: 4242, persist: ON, keep_alive: ON, reset: 180, msgformat: COMMUNITY_HUB, gps OFF, own_interval 10, sources: 1, status: connected

Allocating 15 zero-copy buffers

 

1 Like

Sorry.

At the moment, HPRadar tracks feeders manually by IP address and assigns a random name.

If your feeder restarts and receives a new dynamic IP address, it is treated as a new feeder, so the previous name I assigned in the database is lost.

I am currently developing a registration workflow that will allow each station owner to register their feeder using a unique UUID. This will keep the feeder identity consistent even if its IP address changes.

1 Like

@abcd567 @geckoVN

Need your inputs

To provide stable station identification, HPRadar will use a permanent Station UUID instead of relying on your current IP address. Your IP may change after a router reboot or ISP change, but your Station UUID remains the same, so your station name, statistics, and history are preserved.

There are two possible ways to use a Station UUID:

Option 1 – Simple forwarding script
A small script runs alongside your existing receiver (readsb, dump1090, AIS-catcher, etc.). It connects to the local BEAST or NMEA port, attaches your Station UUID when establishing the connection to HPRadar, and then forwards the original data stream unchanged.

Option 2 – HPRadar Gateway
A lightweight Rust/Go application (or Docker container) connects to your local BEAST or NMEA stream, displays a live local map of aircraft and/or vessels, monitors your receiver status, and forwards the data to HPRadar in the background using your Station UUID.

Both options work with existing receivers and do not require modifications to readsb or AIS-catcher.

Which approach would you prefer: a simple forwarding script, or a full HPRadar Gateway with a local web interface.

Hi Thanh, currently I run AISCatcher, so have the local interface. So the script will probably be simpler. Any preference from your end?

How about an unified edge docker/binary like this:

I had run ais-catcher for longtime, but I build myself because I don’t like it’s UI.

Just as an example, below is how I configure AIS-carcher using APRS provided UUID

-H http://aprs.fi/jsonais/post/xxxxxxxxxxxxxxxx ID abcd567 PROTOCOL aprs INTERVAL 30 

While posting here, I have replaced my actual UUID (provided by aprs) by xxxxxxxxxxxxxxxx

 

1 Like

 

My feed to aiscatcher.org
https://www.aiscatcher.org/station/3625

 

Today I started feeding AIS community server by adding following in config

-X aaaaaaaaaaaaaaaa

The aaaaaaaaaaaaaaaa is UUID which I obtained by filling a form here:

https://www.aiscatcher.org/addstation_ac

Documentation:

https://jvde-github.github.io/AIS-catcher-docs/configuration/output/community-feed/

 

2 Likes

Hi @abcd567
As far as I know, -X aaaaaaaaaaaaaaaa just work to share data to **https://www.aiscatcher.org/, not other aggregator

@ngtrthanh

Yes, you are right.
Each agregator requires it’s own setting starting with -u as shown below. Only aiscatcher.org requires -X and aprs.fi requires -H

 -u 5.9.207.224 xxxxx  ## Marine Traffic, use default port 5321 for testing
 -u ais.vesselfinder.com xxxx
 -u hub.shipxplorer.com xxxxx
 -u 54.204.25.151 xxxx  ## Pocket Mariner
 -u data.aishub.net xxxx
 -u aisfeed.hpradar.com xxxx

 -H http://aprs.fi/jsonais/post/xxxxxxxxxx ID abcd567 PROTOCOL aprs INTERVAL 30
 -X xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ## aiscatcher.org

Hi everyone,

Over the past few months I’ve been building a public monitoring station based in Southern Italy (Bisceglie, Adriatic Sea).

The goal wasn’t simply to feed ADS-B or AIS networks, but to create a complete 24/7 monitoring platform that combines multiple real-time data sources into a single public dashboard.

Current features

:airplane: ADS-B

  • Raspberry Pi 4 receiver
  • AirNav RadarBox antenna @ 1090 MHz
  • Feeding:
    • FlightRadar24
    • AirNav RadarBox
    • ADS-B Exchange
    • PlaneFinder
  • Current ranking:
    • #3 AirNav RadarBox feeder in Italy

:ship: AIS

  • Raspberry Pi 3 receiver
  • Diamond X50 antenna @ 162 MHz
  • Feeding:
    • MarineTraffic
    • VesselFinder
    • AIS Catcher Network

One of the nicest compliments I’ve received came directly from the VesselFinder team:

“Your coverage is more than amazing. It covers half of the Adriatic Sea.”

:high_voltage: Infrastructure

  • Dual Raspberry Pi
  • Lithium UPS backup
  • Solar-assisted power
  • FTTH Fiber connection
  • 24/7 operation

Public Dashboard

The dashboard currently shows:

  • Live ADS-B statistics
  • Live AIS statistics
  • Coverage records
  • Internet monitoring
  • Power Grid monitoring
  • Station health
  • Feed status
  • Public message board

Roadmap

I’m currently working on adding:

:camera: Live PTZ camera overlooking the Adriatic Sea

:sun_behind_small_cloud: Complete weather station (wind, rain, pressure, UV, solar radiation)

The idea is to make the station useful not only for aviation and maritime enthusiasts, but also for anyone interested in weather, SDR and real-time monitoring.

If you’d like to have a look, feedback is always welcome:

:backhand_index_pointing_right: https://www.valls.it

The website also includes a public roadmap for future upgrades for anyone interested in supporting the project.

Thanks for reading!

2 Likes