-
-
Notifications
You must be signed in to change notification settings - Fork 127
RS Auto_RX JSON Formats
auto_rx uses rs1729's RS radiosonde decoders to decode radio telemetry, with the decoded telemetry passed into auto_rx as JSON objects, which are then interpreted. In the default use-cases, auto_rx starts up the decoders itself, and reads the JSON data from the decoder's stdout. In 'UDP mode', auto_rx listens for JSON objects via UDP packets, on port 50000.
This page attempts to describe the format of the JSON objects which are passed between the RS decoders and auto_rx. Note that this is different to the 'payload summary' JSON format emitted by auto_rx.
Telemetry is passed as JSON objects, with a range of mandatory and optional fields.
These fields represent the bare minimum amount of data for a sonde position to be plotted on a map, enabling recovery.
Field | Type | Description | Special Cases |
---|---|---|---|
id |
string | Radiosonde Serial Number | iMet sondes do not provide a serial number, and so the ID field is just set to 'iMet'. auto_rx generates a serial number based on launch time and transmit frequency. DFM sondes do not regularly transmit their serial number, and so before the serial number is observed the RS decoder will output an invalid serial number, resulting in auto_rx ignoring the packet. Ideally this number should be unique over the entire flight, but for some sondes this isn't always the case. |
frame |
int | Frame Number | The overflow point for the frame numbers varies between sonde types. Some sondes (M10/M20) do not transmit a frame number at all, and so a unix timestamp (seconds since epoch) is provided in its place. |
datetime |
string | Date/Time from the sonde's GPS. Usually as YYYY-MM-DDTHH:MM:SS.SSSZ format. |
auto_rx uses the dateutil parse function to decode the time, and so is fairly tolerant to variations in time format. iMet sondes do not transmit date, and so only time (HH:MM:SSZ ) is provided. auto_rx adds on the date portion. |
lat |
float | Latitude (decimal degrees) | |
lon |
float | Longitude (decimal degrees) | |
alt |
float | Altitude (metres) |
Field | Type | Description | Default Value | Special Cases |
---|---|---|---|---|
type |
string | Radiosonde type provided by the decoder | Based on the decoder which was started. | |
subtype |
string | If known, the specific model of radiosonde being decoded. Mainly used | None | RS41 subtypes are provided as a string, DFM subtypes are provided as a hex code, decoded here. |
temp |
float | Measured Temperature (deg C) | -273.0 | |
humidity |
float | Measured Relative Humidity (%) | -1 | |
pressure |
float | Measured Pressure (hPa) | -1 | |
vel_h |
float | Horizontal Velocity (m/s) | 0.0 | |
vel_v |
float | Vertical Velocity (m/s) | 0.0 | |
heading |
float | Heading (degrees True) | 0.0 | |
sats |
int | Number of SVs used in position solution | 0 | |
batt |
float | Battery Voltage (volts) | 0.0 | |
bt |
int | RS41 burst-timer value, in seconds | None | |
encrypted |
bool | Flag to indicate if incoming telemetry is encrypted (e.g. RS41-SGM) | None | If this is set to True, the current frequency is locked out for 2 hours. |
Type Code | Name | Decoder | Subtypes |
---|---|---|---|
RS41 | Vaisala RS41 | rs41mod | RS41-SG, RS41-SGP (Pressure Sensor), RS41-SGM (Military) |
RS92 | Vaisala RS92 | rs92mod | |
DFM | Graw DFM06/DFM09/DFM17 | dfm09mod | DFM06, DFM09, DFM17 |
M10 | Meteomodem M10 | m10mod | |
M20 | Meteomodem M20 | mXXmod | |
IMET | Intermet iMet-1AB / iMet-4 | imet1rs_dft | |
MK2LMS | Lockheed Martin Sippican LMS6 - 1680 MHz Variant | mk2a_lms1680 | |
LMS6 | Lockheed Martin Sippican LMS6 - 400 MHz Variant | lms6Xmod | LMS6, LMSX (possible new replacement for the LMS6) |
MEISEI | Meisei iMS100 / RS11G | meisei100mod | IMS100, RS11G |