Uploading PW-Sat2 telemetry with gr-satellites

Yesterday I spoke about decoding the telemetry of PW-Sat2 with gr-satellites. Today I have added to gr-satellites a telemetry submitter block that sends the frames to the PW-Sat2 telemetry server. All users of the PW-Sat2 decoder from gr-satellites are recommended to set this up and submit telemetry to the PW-Sat2 telemetry server, as well as to the SatNOGS database. Here are the instructions to configure the submitter.

The Python package requests needs to be installed, since the telemetry submitter uses it. You can install it using your distribution’s package manger or pip2. You need to register an account in the PW-Sat2 server and obtain your credentials file. This is a JSON file that can be downloaded here. Take note of where you store it.

Open with GNU Radio Companion the PW-Sat2 decoder flowgraph, which can be found in apps/pwsat2.grc.  Locate the PW-Sat2 Telemetry Forwarder block in the flowgraph and edit its properties. Enter the path to your credentials file in the corresponding field of the block’s properties.

This should be all you need to do to start sending telemetry frames to the PW-Sat2 server. Every time you decode and submit a frame, the reply from the server will be printed to the terminal. This is one of the frames I submitted in my tests.

From the technical point of view, implementing the submitter has been easy, because there is already a small Python tool to upload frames to the server, so it was simple to adapt this as a GNU Radio Python block that consumes PDUs containing AX.25 frames.  Interestingly, the server requires AX.25 frames containing the CRC-16, as described here. The CRC-16 is usually stripped when deframing AX.25 (for instance, it is nowhere to be found in a KISS file), so it is recomputed and appended in the telemetry submitter block.

One comment

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.