SignalK plugin to track the worlds vessels via websocket.
- Easy to configure and use.
- Using data source from https://aisstream.io/
- Create account: https://aisstream.io/authenticate
- API Keys -> Create New API Key
- Copy your key
- Install and configure signalk-aisstream plugin
- Paste your key
- Define bounding box size around the vessel
- Define procentual value of movement compared to bounding box size, before bounding box location is renewed
- Define refresh rate of own vessel location check
- Select Reports
https://aisstream.io/documentation
- Node.js 18+
- npm
npm installnpm run buildThis cleans the dist/ directory and compiles TypeScript to JavaScript.
npm testsrc/
index.ts # Plugin entry point
ais-processor.ts # AIS message processing and SignalK delta building
websocket-manager.ts # WebSocket connection lifecycle management
lookups.ts # AIS lookup tables (nav status, vessel types, AtoN types)
types/
aisstream.ts # AIS wire-format interfaces (PascalCase JSON)
signalk.ts # SignalK app, plugin, delta types
nmea0183-utilities.d.ts # Type declaration for untyped dependency
test/
ais-processor.test.ts # Message processing tests
lookups.test.ts # Lookup table tests
fixtures/
messages.ts # Typed test fixtures for all AIS message types
- v0.8.0, guard position subscription delta handling
- v0.7.2, Dynamic reconnection at startup
- v0.7.1, WebSocket startup fix
- v0.7.0, Migrated to TypeScript, modular architecture, unit tests, and bug fixes
- v0.6.5, new version
- v0.6.1, fix: webSocket startup delay and hanging connection timeout
- v0.6.0, fix: webSocket, add exponential backoff reconnect
- v0.5.1, typo fix
- v0.5.0, ATON & BASE Station improvements/fixes
- v0.4.3, reset socket close
- v0.4.2, reconnection improved
- v0.4.1, context typo fix
- v0.4.0, AtoNs added
- v0.3.0, WebSocket dependency added
- v0.2.0, Socket reconnection fixed
- v0.1.0, First working version