Поддерживаемые спутники¶
Демодуляцией и декодированием телеметрии занимается gr-satellites. Каждый аппарат описан в нём YAML-файлом (satyaml): частоты, модуляция, скорость, формат кадров.
СОНИКС ведёт собственный набор таких определений — soniks-satyaml. Он расширяет штатную базу gr-satellites аппаратами, которых там нет.
Как определения попадают на станцию¶
Двумя путями, и оба работают без вашего участия:
При сборке образа. Dockerfile копирует
soniks-satyaml/satyaml/*поверх каталога satyaml библиотеки gr-satellites, аsat.cfg— в/usr/local/bin. Это запас на первый старт.При каждом старте контейнера — sat-data bundle с портала. Клиент спрашивает у
sonik.spaceсвежайшую версию, скачивает архив (satyaml плюсsat.cfg), сверяет его sha256 и раскладывает по местам. Архив остаётся в кэше на постоянном томе, поэтому следующий старт обходится без сети, а версия уезжает на портал вместе с наблюдением — вclient_metadataполеradio.sat_data.Между проходами — тот же bundle, без рестарта. Раз в
SCHEDULER__SAT_DATA_SYNC_INTERVAL_IN_HOURS(6 часов) клиент сверяет версию с порталом; новую скачивает и раскладывает, когда проход не идёт, и заново сообщает порталу список своих спутников.
Практический вывод: недавно добавленный спутник доезжает до работающей станции сам, в пределах интервала проверки; перезапуск контейнера ускорит, обновлять образ не нужно.
Примечание
До версии 2.3 определения тянулись клонированием gr-satellites и soniks-satyaml
из git при каждом старте. В сетях, где открыт только sonik.space, клон падал
и станция навсегда оставалась с определениями из образа, ничего об этом не
сообщая. Теперь источник один, тот же, что и у всего остального, — портал.
Примечание
Если портал недоступен, клиент напишет предупреждение в лог и продолжит работу с тем, что уже есть: с кэшем прошлого bundle либо с определениями из образа. Это не ошибка.
Список аппаратов soniks-satyaml¶
Ниже — то, что добавляет СОНИКС сверх штатной базы gr-satellites. Актуально на момент сборки документации; источник — soniks-satyaml/satyaml.
239Alferov
A-SEANSAT-PG1
ACS3
AL-MUNTHER
ALAINSAT-1
ARCTICSAT-1
ASRTU-1
Avion_Kaluga_650
BEE-1000
BELIEFSAT-0
BLUEBIRD-6
BLUEWALKER-3
BOTSAT-1
BRO-18
COLIBRI-S
CROCUBE
CSC-1
CSC-2
CTC-0
Challangeone
DCS-1
DIDO-2
DIDO-3
DJIBOUTI-1A
DJIBOUTI-1B
ERNST
FORESAIL-1P
GALAPAGOS-UTE
GEOSCAN-1
GEOSCAN-2
GEOSCAN-3
GEOSCAN-4
GEOSCAN-5
GEOSCAN-6
GHALIB
GRBBeta
HADES-ICM
HADES-R
HCT-SAT2
HERMES-H1
HERMES-H2
HERMES-H3
HERMES-H4
HERMES-H5
HERMES-H6
HORIZON
HORS-1
HORS-2
HORS-3
HORS-4
HUBBLE-4
HUNITY
HYDRA-T
HYPERVIEW-1G
HYTI
INNOCUBE
INNOSAT16
INNOSAT3
IRIS-F1
IRIS-F2
IRIS-F3
ISOI
JACK001
JINJUSAT-1B
KILLICK-1
LASARSAT
LOBACHEVSKY
LUCA-1
LUR-1
Lilium-1
MONITOR-2
MORDOVIA-IOT
MTUSI-1
NANOFF-A
NANOFF-B
NAPA-1
NAPA-2
NASBSAT-1
NASBSAT-2
NEPT-1
NOKHCHO
NUSHSAT1
PARUS-T1
PHASMA-DIRAC
PHASMA-LAMARR
PHI-1
QMR-KWT-2
QMSAT
ROBUSTA-3A
RTU-MIREA1
RUZAEVKA-390
SAKHACUBE-CHOLBON
SAMSAT-IONOSPHERE
SATORO-3
SATORO-T2
SATURN
SIT-2086
SIT-HSE
SITRO-AIS-10
SITRO-AIS-11
SITRO-AIS-12
SITRO-AIS-13
SITRO-AIS-14
SITRO-AIS-15
SITRO-AIS-16
SITRO-AIS-17
SITRO-AIS-18
SITRO-AIS-19
SITRO-AIS-20
SITRO-AIS-21
SITRO-AIS-22
SITRO-AIS-23
SITRO-AIS-24
SITRO-AIS-25
SITRO-AIS-26
SITRO-AIS-27
SITRO-AIS-28
SITRO-AIS-29
SITRO-AIS-30
SITRO-AIS-31
SITRO-AIS-32
SITRO-AIS-33
SITRO-AIS-34
SITRO-AIS-35
SITRO-AIS-36
SITRO-AIS-37
SITRO-AIS-38
SITRO-AIS-39
SITRO-AIS-40
SITRO-AIS-41
SITRO-AIS-42
SITRO-AIS-43
SITRO-AIS-44
SITRO-AIS-45
SITRO-AIS-46
SITRO-AIS-47
SITRO-AIS-48
SITRO-AIS-49
SITRO-AIS-5
SITRO-AIS-50
SITRO-AIS-51
SITRO-AIS-52
SITRO-AIS-53
SITRO-AIS-54
SITRO-AIS-55
SITRO-AIS-56
SITRO-AIS-57
SITRO-AIS-58
SITRO-AIS-59
SITRO-AIS-6
SITRO-AIS-60
SITRO-AIS-61
SITRO-AIS-62
SITRO-AIS-63
SITRO-AIS-64
SITRO-AIS-65
SITRO-AIS-7
SITRO-AIS-8
SITRO-AIS-9
SITRO-TD-3
SITRO-TD-4
SWSU-60
TEVEL2-1
TEVEL2-2
TEVEL2-3
TEVEL2-4
TEVEL2-5
TEVEL2-6
TEVEL2-7
TEVEL2-8
TEVEL2-9
TPA-1
TUBIN
TUSUR-GO
UHETSAT
UND-ROADS-1
UND-ROADS-2
UVSQ-SAT-NG
UmKA-1
VDNH-80
VIOLET
VIZARD-ION
ZIMSAT-2
ZORKIY-2M-5
ZORKIY-2M-7
ZORKIY-2M-VPE
Zorkiy-2m
Zorkiy-2m-2
Zorkiy-2m-4
Zorkiy-2m-6
Добавление нового спутника¶
Определения живут в отдельном репозитории, а не здесь. Порядок такой:
Подготовьте YAML по формату gr-satellites.
Отправьте merge request в soniks-satyaml. Туда же кладутся точечные правки
sat.cfg.После вливания CI репозитория соберёт новый bundle и опубликует его на портале — версией служит короткий SHA коммита.
Все станции подхватят его при ближайшем перезапуске.
Если аппарату нужен режим демодуляции, которого клиент ещё не знает, потребуется правка и в этом репозитории — см. Как добавить режим демодуляции.