Быстрый старт¶
Запуск наблюдения вручную, без soniks-client-new. Полезно для проверки станции
после установки и для отладки декодера.
Подготовка¶
1. Каталог для результатов. Подписчики открывают файлы на запись и не создают каталоги сами:
mkdir -p /tmp/.satnogs/data
2. rigctld. Флоуграфы получают доплеровский сдвиг от rigctld по сети
(модель NETRIGCTL). Без него блок доплер-компенсации не запустится. Для
проверки без реального трансивера подойдёт фиктивная модель:
rigctld -m 1 -T 127.0.0.1 -t 4532 &
Проверить, что отвечает:
echo "f" | nc 127.0.0.1 4532
3. Приёмник. Узнать строку устройства для SoapySDR:
SoapySDRUtil --find
Обычно это driver=rtlsdr, driver=airspy, driver=hackrf и т. п.
Приём в режиме FM¶
Самый простой режим: без декодера кадров, только аудио, водопад и IQ.
flowgraph_dispatcher \
--mode FM \
--soapy-rx-device=driver=rtlsdr \
--samp-rate-rx=2.048e6 \
--rx-freq=145800000 \
--gain=40.0 \
--antenna=RX \
--ppm=0 \
--rigctl-host=127.0.0.1 \
--rigctl-port=4532 \
--file-path=/tmp/.satnogs/data/audio.ogg \
--waterfall-file-path=/tmp/.satnogs/data/waterfall.dat \
--decoded-data-file-path=/tmp/.satnogs/data/data
Остановка — Ctrl+C. Диспетчер гасит флоуграф и подписчиков сам.
Появится:
/tmp/.satnogs/data/audio.ogg— демодулированное аудио, OGG Vorbis, 48 кГц моно;/tmp/.satnogs/data/waterfall.dat— данные водопада.
Кадров не будет: у режима FM нет декодера (outputs_frames: False).
Приём телеметрии Geoscan¶
Режим с декодером кадров: добавляется --baud, и диспетчер поднимает подписчика
кадров на порту 16887 (--zmq-base-port).
flowgraph_dispatcher \
--mode GFSK_GEOSCAN \
--baud 9600 \
--soapy-rx-device=driver=rtlsdr \
--samp-rate-rx=2.048e6 \
--rx-freq=436500000 \
--gain=40.0 \
--rigctl-host=127.0.0.1 \
--rigctl-port=4532 \
--file-path=/tmp/.satnogs/data/audio.ogg \
--waterfall-file-path=/tmp/.satnogs/data/waterfall.dat \
--decoded-data-file-path=/tmp/.satnogs/data/data
Каждый декодированный кадр — отдельный JSON-файл
/tmp/.satnogs/data/data_<UTC-метка>:
ls -1 /tmp/.satnogs/data/data_*
cat /tmp/.satnogs/data/data_2026-08-22T14-31-07
{
"pdu": "SGVsbG8sIEdlb3NjYW4h"
}
Полезная нагрузка кадра лежит в pdu в base64. Набор остальных полей зависит от
декодера — Выходные данные.
Для USP (Спутникс) всё то же самое, только --mode "GMSK USP" (кавычки
обязательны — в названии режима пробел).
Запись IQ¶
По умолчанию IQ не пишется. Включается отдельным флагом:
flowgraph_dispatcher --mode FM --enable-iq-dump=1 \
--iq-file-path=/tmp/.satnogs/data/iq …
Получится /tmp/.satnogs/data/iq_cs16_<UTC>.raw — чередующиеся комплексные
int16. Частота дискретизации в имени файла не сохраняется, её нужно помнить
самому; для FM это 48 кГц, для режимов с бодрейтом — baudrate × decimation
(см. Соглашения в .grc).
Живой поток IQ по UDP¶
Параллельно записи флоуграф всегда шлёт доплер-скорректированный поток по UDP:
flowgraph_dispatcher --mode FM --udp-dump-host=127.0.0.1 --udp-dump-port=57356 …
Формат — комплексные 16-битные целые, полезная нагрузка пакета 1472 байта.
Удобно смотреть в реальном времени в gqrx, inspectrum или собственном
флоуграфе GNU Radio.
Что дальше¶
Все режимы и какой флоуграф каждый запускает: Справочник режимов
Все аргументы командной строки: flowgraph_dispatcher
Если ничего не декодируется: Диагностика неисправностей