Приемник сигналов самолета с использованием RTL-SDR и DUMP1090
Приемник сигналов самолета с использованием RTL-SDR и DUMP1090
ADS-B, или автоматическое зависимое наблюдение – широковещательное, используется коммерческими самолетами для передачи авиадиспетчеру своей широты и долготы, а также другой информации. Эта информация передается на частоте 1090 МГц. Сигналы ADS-B можно принимать с помощью ключа RTL-SDR и декодировать с помощью программного обеспечения. В этом проекте мы используем программу dump1090 или командную строку для декодирования сигналов ADS-B на машине Linux и создания приемника сигналов самолета. Помимо декодирования сигналов ADS-B, программа dump1090 также создает веб-сервер Google Maps, на котором отображаются местоположения самолетов, сигналы которых принимаются ADS-B.
Рис. 1: Ключ RTL-SDR с антенной и пультом дистанционного управления
Инструменты, необходимые для установки
Необходимыми инструментами являются ноутбук или компьютер под управлением Linux/Ubuntu (предпочтительно Ubuntu 14.04 и выше), ключ RTL-SDR, антенна и программа dump1090, установленная в операционной системе Ubuntu (OS).
Установка дампа1090
Загрузите dump1090, используя ссылку ниже. https://github.com/MalcolmRobb/dump1090
Откройте терминал и перейдите в папку, где сохранен dump1090. Чтобы установить его, введите make и нажмите Enter, чтобы установить dump1090 на компьютер.
Затем установите библиотеку rtl-sdr, используя следующую команду: $ sudo apt-get install librtlsdr-dev
Начало работы
Чтобы протестировать оборудование, подключите ключ RTL-SDR к компьютеру с Linux и выполните на терминале следующую команду:
$ ./rtl_test -t
Если все работает нормально, вы получите примерно следующий результат:
Использование устройства 0: универсальный OEM RTL2832U Нашёл тюнер Rafael Micro R820T Поддерживаемые значения усиления (29): 0,0 0,9 1,4 2,7 3,7 7,7 8,7 12,5 14,4 15,7 16,6 19,7 20,7 22,9 25,4 28,0 29,7 32,8 33,8 36,4 37,2 38,6 40,2 42,1 43,4 43,9 44,5 48,0 49,6 [R82XX] PLL не заблокирован! Выборка данных на частоте 2048000 выборок в секунду. Тюнер E4000 не найден, прерывание.
Чтобы использовать dump1090, обратитесь к его руководству по различным командам и функциям. Для этого выполните команду, указанную ниже.
$ ./dump1090 –help
Краткое руководство dump1090 приведено ниже.
——————————————————————————– | Приемник dump1090 ModeS, версия: 1.07.1908.13 | ——————————————————————————– –device-index Выберите устройство RTL (default: 0) –gain Установите усиление (default: максимальное усиление. Используйте -100 для автоматического усиления) –enable-agc Включить автоматическое управление Gain (default: выключено) –freq Установить частоту (default: 1090 МГц) –ifile Чтение данных из файла (используйте «-» для стандартного ввода) –интерактивный Интерактивный режим обновления данных на экране –interactive-rows Максимальное количество строк в интерактивном режиме (default: 15) –interactive-ttl Удалить из списка if бездействующий в течение (default: 60) –interactive-rtl1090 Отображение таблицы полетов в формате RTL1090 –raw Показывать только шестнадцатеричные значения сообщений –net Включить сеть –modeac Включить декодирование режимов SSR 3/A & 3/C –net-beast TCP необработанный вывод в двоичном формате Beast –net-only Включить только сеть, без использования RTL-устройств или файлов –net-http-port HTTP порт сервера (default: 8080) –net-ri-port TCP порт прослушивания необработанного ввода (default: 30001) –net-ro-port TCP порт прослушивания необработанного вывода (default: 30002) –net-sbs-port TCP Выходной порт прослушивания BaseStation (default: 30003) –net-bi-port TCP Порт прослушивания ввода Beast (default: 30004) –net-bo-port TCP Порт прослушивания вывода Beast (default: 30005) –net-ro-size TCP минимальный размер необработанных выходных данных (default: 0) –net-ro-rate TCP скорость очистки памяти необработанных выходных данных (default: 0) –широта опорной точки/приемника широта для поверхности posn (опция) —lon Долгота опорного/приемника для поверхности posn (opt) –исправлено Включить исправление однобитовых ошибок с помощью CRC –no-fix Отключить исправление однобитовых ошибок с помощью CRC –no-crc-check Отключить сообщения с неработающим CRC (не рекомендуется) –phase-enhance Включить фазовое улучшение –агрессивный Дополнительно CPU для большего количества сообщений (двухбитные исправления, …) –mlat отображает необработанные сообщения в режиме Beast ascii –stats С помощью –ifile вывести статистику при выходе. Других результатов нет –onlyaddr Показывать только адреса ИКАО (в целях тестирования) –metric Использовать метрические единицы измерения (метры, км/ч, …) – обрезать файл Strip IQ, удаляя образцы < уровень –debug Режим отладки (подробный), подробности см. в README –quiet Отключить вывод на стандартный вывод. Использовать для приложений-демонов –ppm Установить погрешность приемника в частях на миллион (default 0) –help Показать эту справку
Флаги режима отладки: d = кадры журнала декодированы с ошибками D = кадры журнала декодированы без ошибок c = Логические рамки с плохим CRC C = Логические структуры с хорошим CRC p = Логические рамки с плохой преамбулой n = Записывать информацию об отладке сети j = Записывать кадры в framework.js, загружаемый с помощью debug.html
С помощью данного руководства можно провести интерактивный сеанс для просмотра входящих декодированных сигналов ADS-B с самолетов в табличном формате. Для этого введите «–interactive» в качестве одной из команд терминала.
Помимо получения декодированной информации из сигналов ADS-B, наносите ее на карту и просматривайте ее графически. Для этого введите аргумент «-net» на терминале. Это создаст веб-сервер Google Maps, на котором можно будет нанести точки, в которых расположены самолеты, с использованием данных из дампа1090.
Рис. 2: Три самолета, запечатленные на Картах Google во время испытаний, с сигналами ADS-B справа
Введите следующую команду:
$ ./dump1090 –interactive –net
На терминале появится следующее:
Шестнадцатеричный режим Sqwk Flight Alt Spd Hdg Lat Long Sig Msgs Ti| ————————————————————————–
В браузере перейдите по адресу http://localhost:8080. Все ближайшие самолеты появятся на Картах Google вместе с другими соответствующими данными, такими как широта, долгота и высота.
Скриншот Google Maps, сделанный во время тестирования, показан на рис. 2.
Варун Кумар — любитель электроники и схемотехник. В сферу его интересов входит беспроводная связь и компьютерное программирование
Чтобы прочитать другие интересные проекты: нажмите здесь
Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов!
Подробно тут! Жалоба