|
7 years ago | |
---|---|---|
.. | ||
README.md | 7 years ago | |
client.h | 7 years ago |
README.md
AirMap Monitor Service
The AirMap monitor service monitors the state of vehicles and takes action based on changes to this state:
- when the state of a vehicle changes to active:
- create a flight with the AirMap services
- start flight communications
- transmit telemetry updates to AirMap
- receive updates for manned and unmanned aerial traffic relevant to a flight
- when the state of a vehicle changes to inactive:
- stop flight communications
- end flight
The daemon exposes its functionality via a gRPC interface (see
${AIRMAPD_ROOT}/interfaces/grpc/airmap/monitor/monitor.proto
). Client
applications can either rely on the C++-API avaiable in
${AIRMAPD_ROOT}/include/airmap/monitor/client.h
or rely on the gRPC
ecosystem to easily connect to the daemon in their choice of language
and runtime. Please see ${AIRMAPD_ROOT/examples/monitor/client.cpp
for
an example of using the C++-API. The following diagram summarizes the overall setup:
Service Configuration
The service is executed with the following command:
$ airmap daemon
Please note that the service needs exactly one MavLink endpoint to be configured on the command line. The following endpoint types are supported:
- TCP: Provide
--tcp-endpoint-ip=IP
and--tcp-endpoint-port=PORT
toairmap daemon
. - UDP: Provide
--udp-endpoint-port=PORT
toairmap daemon
. - Serial: Provide
--serial-device=PATH/TO/DEVICE
toairmap daemon
.
The gRPC endpoint exported by the service can be specified with --grpc-endpoint=ENDPOINT
, defaulting to 0.0.0.0:9090
.
The overall daemon configuration for accessing the AirMap services can be specified with --config-file=PATH/TO/CONFIG/FILE
.
By default, the config file is expected in ~/.config/airmap/production/config.json
.