Приём

Как я собрала свой первый приёмник ADS-B, в воскресенье, в Брюсселе

Опубликовано

Raspberry Pi 5, USB-донгл SDR и антенна на магнитном основании на кухонном столе

Написано в мае 2026 года. Установщик фидера с тех пор изменился: актуальные шаги смотрите в практикуме на radar.dataero.eu.

Не очень техническое руководство от человека, который, строго говоря, не очень технический.


Итак.

В прошлую субботу я вернулась из короткого перелёта в Ле-Туке. Юго-западный, 12 узлов, та погода, при которой забываешь, что прогноз обещал хуже. По пути домой - где-то над Па-де-Кале, глядя в SkyDemon на тихую цепочку A320 на несколько тысяч футов выше меня, - мне пришла мысль, которая приходила уже как минимум четыре раза и ни разу не привела к действию.

Мне стоит собрать приёмник ADS-B.

На этот раз, в поезде из Гримбергена, я заказала детали.

К воскресному обеду я смотрела на самолёты над Брюсселем на собственном оборудовании. С подоконника. С чайником на плите. Всё заняло примерно два с половиной часа, две чашки кофе и один короткий момент замешательства, который разрешился сам, когда я прочитала строку документации, которую пропустила. По моим оценкам, девяносто минут из этого времени я читала внимательнее, чем было нужно.

Этот пост для всех, кто когда-либо открывал руководство по Raspberry Pi и тихо закрывал вкладку. Это та версия руководства, которую я хотела бы иметь в субботу утром.

Список покупок

У меня в ящике лежал Raspberry Pi 5. Внятного объяснения, почему, у меня нет; я купила его прошлой весной с намерением сделать что-нибудь интересное, а потом не сделала. Если у вас ещё нет Pi, возьмите Pi 5 (8 ГБ более чем достаточно) и блок питания. Старый Pi 4 тоже отлично подходит - Pi 5 просто был у меня под рукой.

К нему я добавила две вещи с Amazon.de:

  • USB-донгл SDR NooElec NESDR Smart - алюминиевый корпус, чип R820T2, размером с толстую USB-флешку с маленьким антенным разъёмом на конце. Около 30 евро. (Честно говоря, это самая красивая железка в моей квартире.)
  • Двухдиапазонная антенна Bingfu на магнитном основании - 978 / 1090 МГц, 7 dBi, три метра кабеля, разъём SMA. Около 25 евро. Выглядит как маленькая чёрная солонка на магнитной шайбе. В целом она нормальная. Подробнее об этом ниже.

Плюс карта microSD, которую пришлось откопать в ящике стола. (Она лежала там примерно с 2019 года. Её жизнь была интереснее, чем я ей приписывала.)

Итого, поскольку Pi уже был моим: около 55 евро и одно воскресное утро. Цены гуляют - предложения на Amazon меняются вместе с наличием и продавцами, так что проверяйте перед покупкой; считайте цифры здесь ориентиром по порядку величины, а не расценкой.

Миф и реальность

Миф в том, что настройка Pi - это та часть проекта, где вы обнаруживаете, что на самом деле не понимаете компьютеры, свой Wi-Fi и себя самого.

Реальность ближе к предполётной подготовке. Есть чек-лист; вы выполняете его по порядку; если пропустили шаг, узнаёте об этом в течение сорока секунд, потому что что-то не работает. Авиационных людей учат это любить. У любого, кто летал по кругу и выполнял проверку HASELL, подходящие мозги для этого хобби.

Итак - чек-лист.

Что на самом деле происходит на этом Pi

На этой маленькой коробочке в итоге поселяются две программы.

Первая - readsb, декодер с открытым исходным кодом, который поддерживает небольшая группа людей, понимающих радиотехнику лучше, чем полезно для здоровья одного человека. Он слушает слабые всплески на 1090 МГц, которые ваш донгл снимает с антенны, распутывает тысячи перекрывающихся транспондеров воздушных судов каждую секунду и раз в секунду записывает результат в аккуратный JSON-файл. Это, в общем, самая трудная часть всего проекта. Кто-то уже сделал её за вас.

Вторая - фидер Dataero, небольшой сервис на Python, который читает JSON-файл readsb и пересылает его в сеть Dataero на radar.dataero.eu. Это лёгкая половина задачи; это же и та половина, которая делает ваше оборудование полезным кому-то, кроме вас.

Сначала вы устанавливаете readsb, убеждаетесь, что он слышит воздушные суда, а затем ставите поверх фидер Dataero.

Вот и вся архитектура. Дальше это действительно просто чек-лист.

Шаг 1 - Запишите SD-карту

Скачайте Raspberry Pi Imager на ноутбук. Он есть для Windows, Mac и Linux и, без лишнего шума, один из лучших установщиков, какими я пользовалась. Вставьте SD-карту в ноутбук. Выберите Raspberry Pi OS Lite (64-bit) - Lite, потому что рабочий стол не нужен устройству, которое будет жить на подоконнике и никогда не увидит монитора.

Прежде чем нажать Write, откройте настройки по значку шестерёнки. Задайте имя хоста (у меня radar-etterbeek, потому что я не отличаюсь тонкостью), задайте имя пользователя и пароль, вставьте данные своего Wi-Fi и отметьте Enable SSH. Так всё нужное будет подготовлено заранее; подключать экран к Pi вам не придётся ни разу.

Нажмите Write. Сделайте кофе. Вернитесь через пять минут.

Шаг 2 - Загрузите Pi

Извлеките SD-карту из ноутбука. Вставьте её в слот на нижней стороне Pi. Подключите блок питания.

Есть особая тишина, которая опускается на кухню, когда Raspberry Pi загружается в первый раз. У меня она длилась около девяноста секунд. Под Brothers in Arms, что казалось вполне уместным.

Когда Pi закончит думать, найдите его в своей сети. Проще всего через страницу администрирования роутера - ищите radar-etterbeek (или как вы его назвали) и запишите IP-адрес.

Шаг 3 - Подключитесь по SSH и обновите

Из терминала ноутбука:

ssh sandy@192.168.1.42

(Используйте своё имя пользователя и IP своего Pi.) В первый раз он спросит, доверяете ли вы хосту. Доверяете. Затем:

sudo apt update && sudo apt upgrade -y

Это займёт несколько минут. Сделайте второй кофе.

Шаг 4 - Подключите донгл и антенну

Выключите Pi (sudo shutdown now). Вставьте донгл NooElec в один из портов USB-A на Pi. Прикрутите SMA-кабель антенны к концу донгла - от руки, затем ещё на четверть оборота двумя пальцами; не геройствуйте с плоскогубцами.

Поставьте антенну туда, откуда видно небо. Я поставила свою на внутреннюю сторону окна в гостиной, на магнитной шайбе, прилепленной к стальной коробке из-под печенья, потому что подоконник деревянный. Как получится.

Включите Pi обратно. Снова подключитесь по SSH.

Шаг 5 - Создайте учётную запись Dataero и получите ключ API

Два коротких шага в браузере, которые происходят не на Pi.

  1. Откройте radar.dataero.eu в браузере ноутбука. Нажмите Register, заполните форму, подтвердите электронную почту, если попросят.
  2. Войдя, нажмите на своё имя пользователя в правом верхнем углу, перейдите в Profile, найдите раздел API Key и нажмите Request API Key. Скопируйте ключ туда, где сможете найти его в ближайшие тридцать секунд.

Вот и всё. Обращайтесь с ключом как с паролем - не вставляйте его в Discord, не коммитьте в публичный репозиторий, не зачитывайте вслух за ужином.

Шаг 6 - Установите фидер Dataero

Возвращаемся в SSH-сессию на Pi. Вы всё ещё должны быть в папке dataero-adsb-feeder из шага 5; если вы ушли в сторону:

cd ~/dataero-adsb-feeder

Затем запустите установщик фидера:

sudo bash installer.sh

Он задаст пару вежливых вопросов - главное, попросит вставить ключ API, который вы только что скопировали из профиля Dataero. Установщик создаёт виртуальное окружение Python в /usr/local/dataero-adsb-feeder, кладёт ваш ключ в файл .env там же и регистрирует фидер как сервис systemd, который запускается при загрузке.

Когда он закончит, проверьте, что всё живо:

sudo systemctl status dataero-feeder.service

Та же история: active (running), зелёным. Если нет, самая частая причина - опечатка в ключе API, о которой journalctl -u dataero-feeder.service -e сообщит с примечательной прямотой.

Шаг 7 - Первый контакт

Снова откройте radar.dataero.eu, войдите и найдите свою станцию на карте. Через минуту-две после запуска фидера маркер вашей станции должен стать зелёным, а вокруг него должно раскрыться небольшое созвездие воздушных судов.

Первым самолётом, который я увидела, был A320 Lufthansa в наборе из Франкфурта на FL340, курсом на запад. Вторым - Boeing C-17 высоко над Нидерландами, на восток на FL310, надо полагать, длинным путём куда-то в Персидский залив. Третьим был тот, от которого я по-настоящему заулыбалась: Cirrus SR22 - не мой, но достаточно близкий, - бродящий вдоль бельгийского побережья.

Вот этот момент. Как только вы увидели первые три-четыре следа на собственном экране, пойманные собственным оборудованием, техническая часть проекта закончена и начинается часть для увлечённых.

Полезные команды, которые понадобятся позже

Короткая шпаргалка на случай, когда вы вернётесь в следующие выходные и всё забудете:

# Status
sudo systemctl status readsb
sudo systemctl status dataero-feeder.service
# Live logs
sudo journalctl -u readsb -f
sudo journalctl -u dataero-feeder.service -f
# Restart after editing config
sudo systemctl restart dataero-feeder.service
# Edit the feeder's config (API key, paths, debug)
sudo nano /usr/local/dataero-adsb-feeder/.env

Установить DEBUG=TRUE в .env и перезапустить сервис - правильный первый шаг, когда что-то не в порядке, а причина неочевидна. Верните FALSE, когда разберётесь; так логи тише.

Что на самом деле даёт комнатная антенна

Честно? Больше, чем я ожидала, и меньше, чем хотелось бы.

Из своего окна в Эттербеке я вижу, при удачной геометрии, почти всё выше 5000 футов в радиусе около 100 морских миль. Это покрывает основные прилёты в Завентем, высотный европейский трафик, пересекающий Бельгию, и большую часть авиации общего назначения из Гримбергена и Шарлеруа, как только она поднимается над зданиями.

Чего я не вижу - низкого и близкого: полётов по кругу на малых аэродромах, вертолётов ниже 1500 футов, ночных санитарных рейсов, идущих низко. Bingfu делает ту работу, для которой создана: быть маленькой, комнатной и приемлемой. Она не создана быть лучшим, что возможно.

Так что я сделала то, что делал до меня каждый фидер ADS-B. Я уже присматриваюсь к наружной антенне. Auratrove 1090 SMA outdoor, около 60 евро, - реалистичный следующий шаг: лучше усиление, рассчитана на непогоду, крепится к перилам балкона. Скачок в приёме от комнатной к наружной, по всем отзывам, далеко не тонкий. Я расскажу.

Небольшой поклон в сторону readsb

Было бы неправильно закончить, не сказав прямо: по-настоящему умная часть этого проекта - не Pi и не фидер Dataero. Это readsb. Сторона Dataero - включая всю эту статью - лёгкая половина.

Именно readsb слушает слабые радиовсплески на 1090 МГц от воздушных судов на расстоянии до 200 морских миль, распутывает тысячи перекрывающихся сообщений транспондеров Mode S каждую секунду и превращает всё это в чистый JSON-файл на маленьком компьютере, который стоит меньше приличного ужина. Он происходит от dump1090, был продолжен Mictronics и сейчас поддерживается wiedehopf и сообществом участников. Никто из нас в Dataero не написал ни строчки из этого. Мы передаём байты дальше.

Если бы это программное обеспечение было группой, readsb был бы вокалистом, соло-гитаристом, барабанщиком, басистом, продюсером, звукорежиссёром и автором всех песен. Фидер Dataero - тот, кто раздаёт листовки у входа.

Итак - небольшой поклон, искренне.

Заметка о Dataero

Я направила свой поток в Dataero - европейскую сеть ADS-B, построенную сообществом, которой мы управляем, - отчасти потому, что я там работаю, а отчасти потому, что включить свой приёмник в сеть, принадлежащую людям, которые её ведут, мне нравится больше, чем отдавать данные компании, с которой я никогда не заговорю. Установка ничем не отличается от любой другой; отличается то, что происходит с данными потом.

Если вы уже передаёте данные куда-то, переключаться не нужно. Dataero работает параллельно.

Что я сказала бы себе субботним утром

Что Raspberry Pi - это, в общем, просто маленький компьютер на Linux, который делает одну вещь очень хорошо, если попросить вежливо. Что донгл SDR размером с USB-флешку. Что антенна размером с кухонный прибор. Что обе нужные программы ставятся скриптами; что одна из них - магия с открытым исходным кодом, а другая - ретранслятор на шестьдесят строк; что ничего здесь нельзя сломать безвозвратно. Если шаг не работает, вы перечитываете строку над ним и пробуете снова.

Что удовольствие от того, чтобы открыть вкладку браузера и смотреть на настоящие самолёты, пойманные собственным оборудованием, стоящим на вашем подоконнике, в вашей квартире, - тихо, но совершенно несоразмерно вложенному труду.

В общем. Чашка чая - и за дело.


Если вы хотите добавить свой узел в Dataero, репозиторий фидера находится на github.com/dataero-adsb/dataero-adsb-feeder, а сеть, к которой он присоединяется, - на radar.dataero.eu. Я буду там сегодня вечером.

Посмотрите на своих данных

Расскажите о своём аэропорте, ведомстве или парке, и мы покажем, что сеть уже видит там.