exponenta event banner

Отслеживание самолета по сигналам ADS-B с Raspberry Pi и RTL-SDR

В этом примере показано, как создать станцию дистанционного зондирования, которая отслеживает самолеты с помощью радиомодуля Raspberry Pi™ и RTL-SDR. Вы узнаете, как развернуть модель Simulink ®, которая обрабатывает сигналы ADS-B и отправляет демодулированные данные на хост-компьютер с использованием пакетов UDP для визуализации.

Необходимое оборудование и программное обеспечение

Для выполнения этого примера необходимо следующее оборудование:

  • Радиоблок RTL-SDR

  • Малиновый Пи

и следующее программное обеспечение

Полный список платформ SDR, поддерживаемых Communications Toolbox, см. в разделе Поддерживаемые аппаратные средства на странице обнаружения Software Defined Radio (SDR).

Введение

Описание реализации приемника ADS-B в Simulink см. в примере «Отслеживание самолетов с использованием сигналов ADS-B в Simulink», приведенном ниже. Мы также рекомендуем завершить работу с пакетом поддержки MATLAB для оборудования Raspberry Pi (пакет поддержки MATLAB для оборудования Raspberry Pi).

modelName = 'ADSBSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

Удаленный приемник ADS-B с Raspberry Pi

Можно настроить станцию дистанционного зондирования для слежения за самолетами с помощью аппаратных средств Raspberry Pi с подключенным к ней радиоприемником RTL-SDR. Можно запустить блок PHY уровня приемника ADS-B на Raspberry Pi и отправить полученные данные через Интернет с помощью пакетов UDP. Эти пакеты UDP можно получить на локальном компьютере и запустить анализатор сообщений и блоки просмотра данных для визуализации результатов. Ниже приведена модифицированная модель удаленного приемника ADS-B, которая работает на Raspberry Pi.

close_system(modelName)
modelName = 'ADSBRaspberryPiSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

Запуск модели приемника ADS-B на аппаратном обеспечении Raspberry Pi

Выполните следующие действия для запуска модели приемника ADS-B на аппаратном обеспечении Raspberry Pi.

1. Подключите радиомодуль RTL-SDR к одному из портов USB аппаратных средств Raspberry Pi

2. Открытие следящих самолетов с использованием сигналов ADS-B с моделью Raspberry Pi - сенсор

3. Дважды щелкните по блоку UDP Send. Откройте маску блока и введите IP address of your host computer в поле редактирования удаленного IP-адреса. Например, если IP-адрес компьютера - 10.10.10.1, введите «10.10.10.1» в маске блока. Не изменяйте параметр удаленного IP-порта. Нажмите кнопку ОК, чтобы сохранить и закрыть маску блока.

4. В модели Simulink нажмите кнопку «Развернуть на оборудование» на панели инструментов.

5. Модель, работающая на аппаратном обеспечении Raspberry Pi, начнет посылать пакеты UDP на порт 25000 главного компьютера.

Запуск модели агрегатора ADS-B на хост-компьютере

Выполните следующие действия для запуска модели хоста, которая принимает пакеты UDP, отправленные моделью, работающей на аппаратном обеспечении Raspberry Pi.

1. Откройте окно Отслеживание самолетов с помощью сигналов ADS-B - Агрегатор. Эта модель имеет блок приема UDP, который настроен на прием пакетов UDP, отправленных моделью, работающей на аппаратном обеспечении Raspberry Pi. Дважды щелкните маску блока приема UDP. Обратите внимание, что локальный IP-порт имеет значение 25000, а тип выходных данных - «uint8».

2. Нажмите кнопку Воспроизведение (Play), чтобы запустить модель.

close_system(modelName)
modelName = 'ADSBAggregatorSimulinkExample';
open_system(modelName);
set_param(modelName, 'SimulationCommand', 'update');

На следующих рисунках показано, как приложение отслеживает и перечисляет детали рейса и отображает их на карте.

Остановка работы модели на аппаратном обеспечении Raspberry Pi

Если требуется остановить работу модели на Raspberry Pi, выполните следующие действия в командной строке MATLAB ®.

rPi = raspberrypi;
stop(rPi,'ADSBRaspberryPiSimulinkExample');

Поиск неисправностей

Если вы не можете получить какие-либо данные о модели хоста, убедитесь, что Raspberry Pi и ваш хост-компьютер находятся в одной локальной сети. Другими словами, убедитесь, что первые три номера IP-адресов совпадают.

Кроме того, убедитесь, что программное обеспечение безопасности Интернета позволяет передавать и принимать пакеты UDP через порт 25000.

close_system(modelName)