Flightradar24 — как это работает?
Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени.
Как показал опрос знакомых, очень мало кто знает, что этот сервис поддерживается лишь энтузиастами, отправляющими на сервер данные. Еще меньше знают, что присоединиться к проекту может любой желающий.
Железо
Самый первый вопрос — откуда берутся данные.
Каждый гражданский борт оснащен специальным передатчиком, так называемым ADS-B transponder:
Это устройство посылает на частоте 1090МГц специальные посылки, содержащие основные параметры полета, тип воздушного судна, его координаты, пункт назначения и пр.
Сигнал на спектре выглядит примерно так:
И что для нас самое важное, декодировать эти данные несложно, достаточно RTL-SDR приемника, ценой порядка 8$, подключенного к компьютеру. Собственно, идея уже наверно ясна — если собрать данные с множества приемников, то получим картинку, примерно такую:
Но и это еще не все. Часть самолетов передают пакеты данных, но в них отсутствуют GPS-координаты. Если принимать данные одновременно со множества приемников, координаты которых известны, то, анализируя задержки на разных приемниках, можно узнать местоположение воздушного судна. Такая технология называется multilateration (MLAT), подробнее о ней можно прочитать на сайте.
И, наконец, последний вопрос — как принимаются данные. Ответ прост, разместить у себя приемник может любой желающий, цена вопроса составляет от 0 до 50$. Для примера, так выглядит карта приемников сервиса Flightaware:
Как можно видеть, покрытие российской части оставляет желать лучшего, так что у некоторых вполне есть шанс быть первым.
Для приема данных необходимы:
— Raspberry Pi2/3 с подключенным интернетом (цена от 20$)
— RTL-SDR-донгл (цена от 10$)
— хотя бы простейшая антенна их 2х кусков провода длиной 6.8см каждый (1/4 диполь на 1090МГц)
Также желательно место с более-менее открытым обзором хотя бы части неба, т.к. сигналы гигагерцевой частоты поглощаются препятствиями вроде домов или деревьев.
У меня и Raspberry Pi, и RTL-SDR уже были, так что ничего покупать не пришлось. Но попробовать бесплатно получить готовый приемник может любой — и Flightradar и Flightaware рассылают комплекты бесплатно пользователям из тех районов, где покрытие на данный момент недостаточно. Отправить запрос можно по ссылке (Flightradar или Flightaware), разумеется, пробовать целесообразно тем, кто живет в достаточно отдаленной местности.
Кстати, как второй бонус, всем, отправляющим данные на сервер, и Flightradar24 и Flightaware предоставляют неограниченный доступ к premium-аккаунту и всем функциям сервера (отдельно такой доступ стоит порядка 50$/месяц). Так что если кто-то интересуется авиацией и хочет иметь расширенный доступ к такому аккаунту, установка RTLSDR-приемника является вполне дешевой альтернативой.
Я живу на 6-м этаже относительно недалеко от аэропорта, так что количество наблюдаемых самолетов за день составило больше 1000, даже на простую антенну на подоконнике. Интересно, что даже с такой антенной максимальная дальность до принятого борта составила 215 миль. Разные варианты антенн можно найти на ebay, набрав в поиске ads-b antenna.
Зачем это может быть надо? Во-первых, просто из интереса, во-вторых, Flightradar24, к сожалению, фильтрует часть данных и показывает не все самолеты (например, могут не показываться военные, правительственные, или бизнес-джеты). Запустив собственный локальный сервис, мы видим все «как есть», безо всякой цензуры. Зато, конечно, объем данных ограничен нашим локальным местоположением и качеством антенны, также не будет доступна технология MLAT. Dump1090 доступен в исходниках, так что желающие могут даже создать свою версию Flightradar, c блекджеком и прочими bells and whistles.
Выводы
Как можно видеть, все не так сложно, при этом вполне интересно и недорого. Для понимания порядка цен: еще 10 лет назад приемник Airnav RadarBox стоил порядка 1000$, сейчас RTL-SDR, который делает то же самое, можно взять за 10$.
В моем случае приемник был запущен только для тестирования, практического смысла держать его постоянно включенным нет, плотность покрытия европейской части уже и так достигает 100%. Для жителей российской глубинки, наоборот, это может быть вполне интересным — появляется возможность как сделать полезное дело для авиапутешественников всего мира, расширив зону покрытия, так и получить доступ к Premium-аккаунту вышеупомянутых сайтов.