The KerberosSDR — это наше четырехканальное когерентное по фазе RTL-SDR-устройство, которое мы ранее профинансировали на краудфандинге в 2018 году. С четырехканальным когерентным по фазе RTL-SDR становятся возможными такие интересные применения, как определение направления радиосигнала, пассивный радар и формирование луча. KerberosSDR в настоящее время доступен в магазине Othernet и Hacker Warehouse за 149,95 доллара США.
Хотя KerberosSDR в основном создан для помощи в реализации проектов, требующих фазовой когерентности, у нас был интерес со стороны множества пользователей, запрашивающих информацию о том, как использовать KerberosSDR в качестве инструмента для одновременного мониторинга нескольких независимых сигналов.
На самом деле это очень просто. Если игнорировать дополнительную электронику, чтобы сделать KerberosSDR фазово когерентным, то по сути KerberosSDR представляет собой четыре отдельных RTL-SDR-донгла, подключенных к качественному USB-хабу. Поэтому, если вы не используете наше когерентное демо-программное обеспечение, подключение KerberosSDR к ПК или одноплатному ПК приведет к четырем RTL-SDR-донглам, доступным по отдельности.
Ниже приведённый туториал можно выполнить и с использованием четырех отдельных RTL-SDR-донглов, но также потребуется надёжный USB-хаб с внешним питанием.
Пример авиационного радиомонитора
Ниже приведён пример руководства о том, как KerberosSDR может быть использован в качестве 4-канального авиационного монитора для одновременного мониторинга воздушного движения, ADS-B, ACARS и VDL2 на одном Raspberry Pi 3B+. Ниже приведено демонстрационное видео.
Первым шагом просто запишите на SD-карту последнюю версию Raspbian Buster и настройте ваш файл WiFi wpa_supplicant так, как вы делаете на любой стандартной установке Raspbian. Также добавьте пустой файл с именем “SSH” или “SSH.txt” в корень загрузки, чтобы включить SSH-соединение. В качестве альтернативы можно настроить это с подключённым монитором. Мы использовали Raspbian Buster Lite, так как не планируем использовать графический рабочий стол.
Далее используйте PuTTY или любое предпочитаемое терминальное ПО, чтобы подключиться к вашему Raspberry Pi через SSH. Возможно, потребуется использовать настройки маршрутизатора/страницу, чтобы найти IP-адрес Raspberry Pi. По умолчанию порт SSH — 22.
Наконец, обновите репозитории на вашей установке перед продолжением процесса установки ПО.
sudo apt update sudo apt install librtlsdr-dev rtl-sdr
Аппаратная настройка KerberosSDR
Здесь мы подключили одну четвертьволновую заземляющую антенну, настроенную на частоты воздушной полосы, к трём входам KerberosSDR через дешевый RF TV-сплиттер. Четвертый вход антенны был подключен к антенне RadarBox ADS-B.
KerberosSDR и Raspberry Pi запитываются двумя официальными блоками питания Raspberry Pi 5V, и KerberosSDR подключается к Pi через один короткий качественный USB-кабель.

Установка RTL-Airband
RTLSDR-Airband — эффективная командная программа-сканер для RTL-SDR. Она быстро сканирует заданный диапазон частот, ищет активные сигналы и проигрывает активную передачу AM или FM. При обнаружении активного сигнала можно настроить передачу аудио на Icecast-сервер, запись в файл или воспроизведение на ваши колонки. Кроме того, можно настроить передачу сразу нескольких каналов. Если настроить поток на Icecast-сервер, вы сможете слушать отсканированное аудио с любого устройства в вашей сети через интернет-браузер.
Здесь мы будем использовать RTLSDR-Airband для сканирования голосовых диапазонов диспетчерской службы воздушного движения, которые используются диспетчерами и пилотами для голосовой связи. Передачи работают в AM и находятся в диапазоне 118–136,975 МГц.
Сначала установите необходимые зависимости, а затем RTL-Airband.
sudo apt-get install -y build-essential libmp3lame-dev libshout3-dev libconfig++-dev libraspberrypi-dev librtlsdr-dev cd wget -O RTLSDR-Airband-3.0.1.tar.gz https://github.com/szpajder/RTLSDR-Airband/archive/v3.0.1.tar.gz tar xvfz RTLSDR-Airband-3.0.1.tar.gz cd RTLSDR-Airband-3.0.1 make PLATFORM=rpiv2 sudo make install
Далее установите Icecast-сервер на ваш Raspberry Pi. Это позволит нам подключаться к Pi через веб-браузер и прослушивать аудио.
sudo apt-get install icecast2 -y
При выполнении установки будет запрошено задать административные пароли по вашему выбору; убедитесь, что вы запомнили их или записали.
Теперь отредактируйте файл rtl_airband.conf следующим образом:
sudo nano /usr/local/etc/rtl_airband.conf
Вставьте приведённую ниже конфигурацию, обязательно указав реальные частоты, используемые диспетчерской службой воздушного движения и авиакомпаниями в вашем регионе, добавляя или удаляя частоты в строке “freqs”.
Также убедитесь, что значение индекс равно тому входу антенны, который вы использовали (0–3) на вашем KerberosSDR для вашей антенны VHF воздушной полосы. Возможно, стоит поэкспериментировать с коэффициентом усиления; пока оставьте значение по умолчанию.
Если вы используете другой шаблон конфигурационного файла, убедитесь, что значение “correction” установлено в 0, так как KerberosSDR использует TCXO и не требует коррекции по PPM.
И наконец, не забудьте также задать пароль Icecast-сервера, который вы задали на предыдущем шаге, оставив имя пользователя как “source”.
devices: ({ type = "rtlsdr"; index = 2; gain = 32; correction = 0; mode = "scan"; channels: ( { freqs = ( 118.1, 118.7, 119.5 ); labels = ( "Tower A", "Tower B", "Tower Control"); outputs: ( { type = "icecast"; server = "127.0.0.1"; port = 8000; mountpoint = "stream.mp3"; name = "Airband Voice"; genre = "ATC"; description = "My local airport - aggregated feed"; username = "source"; password = "kerberos"; send_scan_freq_tags = false; } ); } ); } );
Далее настройте Icecast-сервер, если это нужно, используя инструкции здесь. Если порт по умолчанию и количество источников подходят, можно оставить всё как есть.
Теперь запустите RTL-Airband командой:
sudo rtl_airband -f
Чтобы прослушать отсканированное аудио, перейдите на http://RASPI_IP_ADDRESS:8000/stream.mp3 на любом устройстве, подключённом к той же сети
Установка dump1090
Оставьте окно RTL-Airband PuTTy открытым, откройте новое окно PuTTy и снова подключитесь к Raspberry Pi в новой сессии. Мы установим ветку dump1090 FlightAware, так как она является самой актуальной версией. dump1090 позволяет отслеживать самолёты, передающие ADS-B.
sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev git clone https://github.com/flightaware/dump1090 cd dump1090 dpkg-buildpackage -b
Теперь можно запустить dump1090 следующей командой. Убедитесь, что флаг –device 3 соответствует входу антенны, к которому подключена ваша ADS-B антенна. В нашем случае мы подключили к последнему SMA-входу, который является входом 3.
./dump1090 --device 3 --interactive --net
Теперь, чтобы просмотреть данные на карте, можно установить Virtual Radar Server на любой Windows ПК в той же сети. После установки добавьте приемник “AVR или Beast Raw Feed” с IP-адресом вашего Raspberry Pi и портом 30002.
Установка ACARSDeco2
Опять же оставьте оба окна PuTTy открытыми, откройте новый SSH-терминал PuTTy и подключитесь снова. Здесь мы установим ACARSDeco2, который является мультидиапазонным декодером ACARS. ACARS — это аббревиатура Aircraft Communications Addressing and Reporting System, цифровой системе обмена короткими сообщениями между самолётами и наземными станциями. Большинство сообщений представляет собой нечитаемую телеметрию, предназначенную для компьютеров, но часто вы увидите сообщения о погоде, ветре, предупреждениях о опасном грузе, информации о загрузке топлива и многое другое.
ACARSDeco2 не является открытым ПО, поэтому вам нужно сначала скачать сжатый файл с http://xdeco.org/?page_id=30 на ПК. Убедитесь, что вы взяли версию ACARSdeco2 для Raspberry Pi 2/3 для Stretch.
Далее используйте программу вроде WinSCP для переноса файла .tgz на Raspberry Pi. В WinSCP выберите SCP как протокол передачи файлов, войдите с именем “pi/raspberry” и перетащите файл в домашнюю папку Pi.
Затем вернитесь к Raspberry Pi, просто переместите файл в собственную папку и распакуйте файлы.
mkdir acarsdeco2 mv acarsdeco2_rpi2-3_debian9_20181201.tgz acarsdeco2 cd acarsdeco2 tar -xvzf acarsdeco.tgz
Теперь вы можете запустить программу следующей командой. Убедитесь, что указали частоты ACARS, используемые в вашем регионе, если они отличаются. Здесь мы использовали вход антенны 1 для антенны ACARS и указали это с помощью “–device-index 1”. Если вы запускаете Virtual Radar Server на вашем Windows PC, как объяснялось в установке dump1090, вы можете ввести IP-адрес VRS сервера Windows, чтобы данные о местоположении отправлялись обратно на сервер ACARSdeco2.
./acarsdeco2 --device-index 1 --freq 131550000 --freq 131450000 --gain 34 --http-port 8081 --vrs-url http://192.168.86.36:8081
Теперь на вашем Windows PC откройте браузер и перейдите на PI_IP_ADDR:8081, чтобы просмотреть входящие сообщения ACARS.
Установка dumpvdl2
Опять же оставьте оба окна PuTTy открытыми, откройте новый SSH-терминал PuTTy и подключитесь снова. Здесь мы установим dumpvdl2 — декодер VDL2. VDL2 замена для устаревшей системы ACARS, которая в некоторых регионах уже уступает место. В некоторых регионах VDL2 сейчас более распространён, чем ACARS, а в некоторых наоборот.
Сначала установите предзависимости.
sudo apt-get install build-essential cmake git libglib2.0-dev pkg-config librtlsdr-dev
Dumpvdl2 требует libacars для работы, поэтому сначала установите libacars:
cd git clone https://github.com/szpajder/libacars cd libacars mkdir build cd build cmake ../ make sudo make install sudo ldconfig
Наконец, установите dumpvdl2
cd git clone https://github.com/szpajder/dumpvdl2.git cd dumpvdl2 mkdir build cd build cmake ../ make sudo make install
Теперь запустить dumpvdl2:
dumpvdl2 --rtlsdr 2 --gain 35
dumpvdl2 не имеет веб-сервера, поэтому смотреть можно только в окне терминала.
Альтернативные инструменты
Станции в США могут заменить одну программу на dump978, который декодирует UAT-позиционные данные меньших самолётов. Если вы находитесь рядом с районом планеров, можно использовать декодер FLARM. Также можно запустить AIS-приёмник, если вы живёте рядом с водным путём.
Дальнейшие шаги
Если вы настраиваете это как постоянную станцию, можно создать скрипт автозагрузки, чтобы запускать эти программы при загрузке. Тогда вам не придётся открывать PuTTy-терминалы для запуска всех программ. Самый простой способ — использовать код @reboot в crontab для запуска вашего скрипта. Обязательно используйте sudo crontab -e для запуска RTL-Airband, так как требуется права суперпользователя.
Источник:
