Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Satellite Telemetry

StellarStation collects downlinked data from ground stations, processes it, and provides it to the authorized users.

This telemetry can be streamed or downloaded post-pass.

(API) Near Real-time Streaming Telemetry

Telemetry data can be received in near real-time via streaming. Infostellar recommends opening and configuring one stream per reserved plan to avoid complicated operations.

Check out the OpenSatelliteStream and SatelliteStreamRequest message definitions for more information.

(API) Detecting the End of a Stream

The end of stream message is a ReceiveTelemetryResponse which has exactly 1 telemetry which contains exactly 0 bytes. This message will always be the last telemetry message to be received through the stream.

Example Code:

  1. Rust
  2. Python
  3. Go

(API) Acknowledging Telemetry

Clients must acknowledge receipt of ReceiveTelemetryResponse messages back to StellarStation using a ReceiveTelemetryAck message and providing the ReceiveTelemetryResponse.message_ack_id.

Do NOT acknowledge every individual SatelliteStreamResponse.ReceiveTelemetryResponse.telemetry.

Typical Acknowledgement Pseudo-Code Logic:

for response in satellite_stream:
    if response.WhichOneof("payload") == "receive_telemetry_response":
        request = ReceiveTelemetryAck(message_ack_id=response.message_ack_id)
        send(request)