Simple Downlink Share Convention (SiDS) protocol
November 20, 2020:
Correction: I always thought the SIDS solution started with the UWE (University of Würzburg experimental) team, but this doesn’t seem to be the case, it was the ESTCube-1 team that had the initial idea. Below an image of a whiteboard drawing by ES5TF taken November 19, 2013.
One day the question arose why not save received and decoded telemetry on a centralized location. With this in mind DK3WN and the University of Würzburg experimental satellites group came to a simple definition that could be used by multiple satellite builders now and in the future.
The idea is: “receive the signals, decode them and send the decoded telemetry string to a centralized place that is accessible by everyone.” The first release was a Windows version but in the meantime the forwarding is also ported to GNURadio by EA4GPZ. Below some information on both solutions.
A windows visual basic version is the Online Telemetry Forwarder by DK3WN.
Currently we have version 0.8.0 and supports a large number of Satellites. Every time a satellite is launched the support for that satellite needs to be added to this software and a new version needs to be build. The reason for this is, that the software is also able to recognize the satellite by it telemetry and logs the telemetry that is being received in a corresponding file. These files can then be used by the corresponding telemetry decoder to visualize the values. With this approach you can also use a single program for multiple satellites that auto detects the satellite.
The program comes with the following configuration file that needs to be changed altered with the user specific information.
Initialization file online_conf.ini
# # (c) Mike Rupprecht, DK3WN # # This is the ini file for TLM_Forwarder > than v.0.7 # # AGW tcp port, connection to for example: # UZ7HO sound-moden, # Direwolf, # AGW Packet engine. # PORT = 127.0.0.1:8000 # # Telemetry receiver destination # Only one destination (SERVER) can be selected. # # PE0SAT production database SERVER = tlm.pe0sat.nl/tlmdb/frame_db.php? # # PE0SAT development database #SERVER = http://www.dev.vgnet.nl/tlmdb/frame_db.php? # # SatNOGS production database #SERVER = https://db.satnogs.org/api/telemetry/ # # SatNOGS development database #SERVER = https://db-dev.satnogs.org/api/telemetry/ # # User definition and location MYCALL = PE0SAT QTH_LAT = 51.59074N QTH_LONG = 4.65392E # # Program window positioning LEFT = 11430 TOP = 7680 #
gr-sids by EA4GPZ
A part of the README.md (June 20th, 2017).
THIS OOT MODULE HAS BEEN DEPRECATED
The contents of the module are now included in gr-satellites. Please install and use gr-satellites instead of this repository.
gr-sids is a set of GNUradio blocks designed to submit telemetry to a server using the Simple Downlink Share Convention (SiDS) protocol. This is the same protocol that it is used by the DK3WN Telemetry Forwarder //www.pe0sat.vgnet.nl/decoding/tlm-decoding-software/dk3wn/ These blocks can be used to submit telemetry to the PE0SAT Telemetry Server http://tlm.pe0sat.nl/ or any other server implementing the SiDS protocol.
Currently there is only one block, the Telemetry Forwarder.
gr-satellites by EA4GPZ
A part of the README.md (June 20th, 2017).
Submitting telemetry
To submit telemetry to the PE0SAT telemetry server (or another SiDS telemetry server), you have to specify your callsign and coordinates. The callsign is specified using the --callsign
parameter and the latitude and longitude are specified using the --latitude
and --longitude
parameters if you are using the .py script. If you are using the .grc file with gnuradio-companion, you can set these parameters by editing the boxes on the upper part of the flowgraph.
The format for the latitude and longitude is of the form 00.00000
or -00.00000
. The -
means South (for latitude) or West (for longitude).
Telemetry receivers:
Currently there are two servers available to receive SiDS formatted telemetry strings and both of them have a production and development version. To upload data to one of these servers you need to choose one of the following server strings.
# # Telemetry receiver destination # Only one destination (SERVER) can be selected. # # PE0SAT production database SERVER = tlm.pe0sat.nl/tlmdb/frame_db.php? # # PE0SAT development database #SERVER = http://www.dev.vgnet.nl/tlmdb/frame_db.php? # # SatNOGS production database #SERVER = https://db.satnogs.org/api/telemetry/ # # SatNOGS development database #SERVER = https://db-dev.satnogs.org/api/telemetry/ #
If you are using gr-satellites, you have to alter the corresponding .grc file.
The uploaded data is available via the following links. If you want to download the received data you need to request a username and password for the PE0SAT database, and when your are using SatNOGS, one can register his or her name via https://db.satnogs.org/
PE0SAT: http://tlm.pe0sat.nl/tlmdb/
SatNOGS: https://db.satnogs.org/stats/