live-icomera-position
Live vehicle geolocation, taken from the on-board Icomera WiFi system.
Installation
npm install live-icomera-position
Usage
asStream()
returns a readable stream in object mode.
import {pipeline} from 'node:stream/promises'
import {asStream} from 'live-icomera-position'
import ndjson from 'ndjson'
await pipeline(
asStream(),
ndjson.stringify(),
process.stdout,
)
An individual data point will look like this:
{
latitude: 50.9069,
longitude: 7.0649,
altitude: 36.9,
speed: 97, // km/h
nrOfSatellites: 8,
mode: '3' // see below
}
You can also use the EventEmitter
-based API:
import {asEventEmitter} from 'live-icomera-position'
const positions = asEventEmitter()
positions.on('error', console.error)
positions.on('data', data => console.log(data))
Mode
The mode value in a datapoint appears familiar with the one a widespread gps client called GPSD uses. We don't have any confirmation that the icomera system uses GPSD, but if it did the mode values would mean following:
Value | State |
---|---|
0 | no value seen. |
1 | no position. |
2 | 2D position, no altitude. |
3 | 3D position, altitude present. |
source: GPSD Documentation
Related
-
live-cd-wifi-position
– Live vehicle geolocation of Czech Railways trains, taken from the on-board WiFi system. -
live-gomedia-position
– Live vehicle geolocation, taken from the GoMedia on-board WiFi entertainment system. -
wifi-on-ice-position-stream
– A stream of positions of German Railways ICE trains, taken from the on-board WiFi. -
sncf-wifi-portal-client
– Query information from the SNCF WiFi portal in French TGV trains. -
digital-im-regio-portal-client
– Query information from the Digital im Regio portal in German Regio trains. -
cd-wifi-client
– A client for the onboard WiFi portal of České dráhy (Czech Railways) trains. -
portale-regionale-wifi-position
– Query information from the Portale Regionale WiFi portal in Trenitalia (Italian Railways) trains.
Contributing
If you have a question or need support using live-icomera-position
, please double-check your code and setup first. If you think you have found a bug or want to propose a feature, use the issues page.