Отслеживание самолета Используя сигналы ADS-B с Raspberry Pi и RTL-SDR

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

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

Чтобы запустить этот пример, вам нужно следующее оборудование:

  • Радио RTL-SDR

  • Raspberry Pi

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

Для полного списка Communications Toolbox поддерживаемые платформы SDR обратитесь к разделу Supported Hardware страницы открытия Программно определяемого радио (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 Layer приемника 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 - Sensor

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

4. В вашей модели Simulink нажмите кнопку Deploy To Hardware на панели инструментов.

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

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

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

1. Откройте Самолеты Отслеживания Используя Сигналы ADS-B - Агрегатор. Эта модель имеет блок UDP Receive, который сконфигурирован, чтобы получить пакеты UDP, отправленные моделью, работающей на оборудовании Raspberry Pi. Дважды кликните на маске блока UDP Receive. Обратите внимание на то, что порт Local IP установлен в 25 000, и тип выходных данных установлен в "uint8".

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

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)