Instrument Data Acquisition
There is a standardized interface for onboard acquisition in PLANET system. Each new frame sent by any instrument following the current specifications will be automatically added in PLANET streams upon reception (no configuration needed).
The streams will also be sent to the ground at a default period of 10 seconds. This value can be edited in configuration.
Interface specifications
This interface is based on two technical concepts:
UDP protocol for transport layer
CSV format for payload
The UDP port on which PLANET acquisition is listening is 5001 by default (may change in some configurations).
For the CSV frame content, here are the main points to comply with:
Strings are prefaced with a label
Values must be comma separated
Two strings with the same label may always have the same number of fields
The second field of the frame must be the date-time (time-zone: UTC). Any of the following iso-8601 forms is acceptable:
yyyy-mm-ddThh:mm:ss
yyyy-mm-dd hh:mm:ss
yyyymmddThhmmss
All other fields are data values and must be in any format acceptable to the ANSIC string-to-double function strtod(3)
Decision on the number of appropriate significant figures is left to the transmitting process
Fields not supplied or available must be left empty (e.g. ‘…,4.523,,48.234,…’)
String will be terminated by \r\n (carriage return, newline).
Hint
String example:
LABEL,2023-04-12T10:52:23,2.35,30000,-5.1992,,0\r\n
Display in PLANET application
As already mentioned, all the compliant streams received by PLANET onboard server will automatically displayed in the telemetry view of the appliaction.
For an unknown stream such as FOO in the previous figure, default names will be applied to each paramater of the stream (v00, v01, v02, …).
The mission configuration file can be edited (see Mission Configuration) tostream define a stream and associate names and units to each parameter of a stream.
Getting telemetries for third party applications
It is possible to retrieve telemetry frames via HTTP, for instance to integration in third party applications.
curl -u {LOGIN}:{PASSWORD} "https://{CLIENT_ID}.atmosphere.aero/api/v1/telemetry/<mission_id>/?creator={VEHICLE_ID}&duration=5m&label={LABEL}&fmt=csv"
All the {XX} variables must be replaced properly.