VariFlight ADS-B – Flightradar по-китайски

«Flightradar», в некотором роде, стало именем нарицательным, фактически подменяя понятие «сайт, где можно за самолетами наблюдать в реальном времени». Хотя фактически таких крупных сайтов несколько, а небольших проектов еще больше, но нередко можно увидеть в СМИ новость о авиационном событии с фразой «по данным сайта Flightradar» и скриншот с другого ресурса.

На Хабре есть ряд публикаций о радарспорттинге, в которых или в комментариях к которым упоминаются не только Flightradar. В этой публикации я расскажу о китайском сервисе по отслеживанию авиатрафика и его таком же китайском ADSB-приемнике, который они рассылают бесплатно.

ye_h7atxvw-x1mhbzgc0dcj-0zm.jpeg


Радарспоттинг достаточно интересное занятие чтобы увлечь заметное число людей. Несколько статей на Хабре неплохо описывают суть занятия:
Приемник принимает, передаваемый самолетами, сигнал на частоте 1090 МГц, дешифрует и отдает в каком-то формате. Например так:

{"updatetime":1537902225,"UTC Time":"2018-09-25 19:03:45","anum":"TCETM","fnum":"KKK6944","position":{"long":30.66455078125,"lat":39.351677},"height":10005.06,"speed":888.96,"angle":130},

Это занятие не только интересное, но стало видом деятельности нескольких компаний:


Мало кто думает чем зарабатывают на жизнь и как работают сервисы подобные Flightradar. Пример этого можно увидеть в ru.википедии »публичный веб-сервис, позволяющий в реальном времени наблюдать за положением воздушных судов, находящихся в воздухе». Сама статья и заголовок дают ложное представление о Flightradar как о неком развлекательном сервисе.

В действительности возникнув в начале 2000-х как хобби, эти компании быстро вышли на окупаемость и с каждым годом увеличивают доход. Например, компания Flightaware, основанная в 2005 году, уже в 2006 году стала прибыльной, заработав больше $1M за первые 18 месяцев, и ежегодно показывая рост 40–75%. По данным некоторых ресурсов ежегодный доход Flightaware превышает $9M, а Flightradar — более $2M.

Если в Европе есть Flightradar, в США — Flightaware, то в Китае есть VariFlight. Точно так же сервис, торгует статусами авиарейсов, статистическими данными и архивами рейсов, выполняет анализ и прогнозирование для заказчиков — организаций и индивидуальных клиентов.

Собственными словами VariFlight:

    
    
    


Компании торгуют данными, как своими, так и полученными, например, от Федерального управления гражданской авиации США. Но наибольшую прибыль можно получить от собственных приёмников, эксплуатация которых компании ничего не стоит т.к. они установлены у энтузиастов радарспоттинга, необходимо потратиться только на изготовление и пересылку. Поэтому с какого-то момента компании стали продавать и бесплатно рассылать свои приемники. Бесплатно туда, где у компании нет еще покрытия своей сетью приемников и откуда нет данных.

Стоимость данных оправдывает «бесплатное» распространение приемников (обратите внимание на текст под таблицей — приемник остается в собственности компании Flightaware, формально безоплатно сдается в аренду).

xt_sfoqxfdfzr7yl8cex0omn2eu.png


К 2015 году в сети Flightradar было более 8000 активных приемников, у Flightaware — около 4500. Но Flightaware начал распространение приемников за два года до этого, а Flightradar к тому времени строил свою сеть уже почти десять лет. На данное время в сети Flightaware более 15 000 приемников. ПО приемников Flightaware постоянно совершенствуется и на данное и FMSDATA, FMSWX

Карта размещения приёмников в марте 2017 года:

image


Оранжевые — бесплатно распространяемые приемники Flightaware, белые — самодельные приемники, красные — платная программа PlanePlotter.
Это покрытие сети приемников Flightaware в декабре 2015 года:

ibrcmvzeioalsr24lc9rrqu9hmi.png


А в марте 2017 года сеть приемников Flightaware (современное состояние на офсайте) обеспечивала такое покрытие:

image


Не везде есть возможность установить приемники, поэтому в 2018 году данные наземных приемников дополняются данными со спутников Iridium NEXT — «Впервые станет возможно непрерывно отслеживать самолеты в любой точке мира».

e5kj4iu27uca4hwemcagg3mte4c.gif


Серо-голубой цвет — данные спутников Iridium NEXT. Зеленый и желтый (последний — это MLAT) — данные наземных приемников.

Радиус зоны, которую охватывает одна станция, ограничивается кривизной поверхности Земли и препятствиями закрывающими линию горизонта, и составляет не более 450 км в лучшем случае. А в «обычном случае» около 150 км. При редких тропосферных прохождениях для этой радиочастоты возможно заглянуть за горизонт. Пример зон максимального охвата станций, транслирующих на Planeradar.ru:

d6hgu2xf1c6ypsg6tn3knl-fc8c.png


Острые пики на диаграммах приема — это как раз единичные случаи приёма на очень больших расстояниях.

lnuxlyvtt9lgjwqh8s4drhq_wua.jpeg


Анимация ниже показывает с чем связана необходимость рассылать приёмники. За пределами ЕС/США это хобби мало популярно. Может быть причина в стоимости хобби и эта карта косвенно указывает на уровень благосостояния, на техническое образование, плотность населения в регионе. Возможно дело в практическом интересе — пользователи передающие данные своих приемников получают бесплатный корпоративный аккаунт Flightaware, стоимостью $90 в месяц.

rvpiiyuijvmsb-ewvntooqfzbn4.gif

И так в общих чертах обрисована ситуация. Рынок этой услуги растет, рынку необходимо больше данных и VariFlight тоже начал развертывать свою сеть. В апреле 2018 года компания VariFlight сообщила, что ищет добровольцев для размещения бесплатного оборудования. Пример такого сообщения в публикации на Instagram.

А в августе мне на глаза попалось это предложение бесплатно заказать приемник по ссылке http://flightadsb.feeyo.com/index/adsb? lang=en. Изучив сайт, я обратил внимание, что компания ищет добровольных участников сети в странах возле границ Китая. И заполнив анкету, особо не рассчитывал, что ЮФО входит в зону интересов компании.

jqtkgnxt7ufd9rbhiafof8wbl0e.png


В самой заявке требуется указать на карте место установки (Installation Location), этаж установки антенны на здании (Floor of Installation, например 7/9 — 7 этаж 9-этажного здания), код ближайшего аэропорта (Airport code — я указал код IATA) и загрузить фотографии горизонта с места установки (Installation Environment). В остальном почти совпадает с заказом на Aliexpress, кроме пунктов Title, Nationality, Occupation, Company. Заполняется на английском с ФИО.

Через пару недель проверив почту, обнаружил два email от ADSB展示系统 (Display system of ADS-B) о том, что заявка была почти сразу одобрена и что посылка давно мчится ко мне, на тот момент уже миновав таможню.

znqcjjlrquqas4qt8bliader-6q.png


Во втором письме были логин, пароль и трек-номер посылки. А еще инструкция, которую я не заметил и прочитал, когда… сами знаете, когда обычно читают инструкцию.

qktg3pugddffvb9lzbf0v4kcrka.png


Логин соответствовал ФИО в заявке, а пароль явно присылают один и тот же всем. Поэтому идем и меняем пароль сразу (и логин если требуется).

Вообще далее в голове всё чаще всплывала фраза «Это какая-то ерунда» из игры Sudden-strike, если кто помнит как немцы в игре с акцентом говорят на русском языке. Иногда тихо, иногда громко.

Кстати анкета была единственной страницей на английском языке, дальше всё будет на китайском. На Хабре wtigga опубликовал отличную статью о китайском интернете «Китайский интернет и софт: о наболевшем». Я прочувствовал всю боль только сейчас. Если вы не читали, то самое время подготовиться.

1koiayqeuae_alsvu_yxcqrheug.png


Браузер Google Chrome с функцией перевода поможет работать на сайте, но много страниц которые ему оказались не всегда посильны.

tqnmygwscpsyjyuskdb0iny0oyq.png


Местами будут забавные фразы.

5axw-2211tuxsg4zqbgh1hyhoyg.png


И так логинимся с данными из второго email.

nicbjd2losvkfsgprjxppsloyx8.png


И идем в пункт Личная информация. Как оказалось Google Chrome не всегда может перевести страницу либо ему это удается не с первого раза и в данном случае, после ряда попыток автоматического перевода, пришлось копировать текст в Google Translate. Поэтому размещаю подсказку для тех, кто столкнется с такой же проблемой.

На странице две вкладки, активная из которых отмечена красной чертой. На первой можно ничего не трогать.

-ssrxyi8w0fjdrs13rpzod_hgtg.png


  1. ФИО
  2. Ваш номер телефона
  3. Ваш email
  4. Код аэропорта
  5. Название вашего ADSB-приёмника


Пункт QQ — это китайский мессенджер Tencent QQ.

На второй вкладке смена пароля

gdnon-flkgykpprdisx-ghcztlu.png


  1. Старый пароль
  2. Новый пароль
  3. Повтор нового пароля


За исключением этого, автоматический перевод почти всегда срабатывает. Дизайн карты сайта очень близок к сайту Flightradar и «особенности» перевода не затрудняют его использование.

tirvzzf2wwbat2fvqm-xfgv0qxe.png


При детальном осмотре сервис отличается, например, интересный функционал, которого нет у Flightaware — тепловая карта, в переводе Google Chrome как «тепловой анализ».

tqxnoh__qsuaa1pzvnmra5husrs.png


Интересная особенность у некоторых рейсов:

jlkffukwq0xrwfd931hqwvuoyk0.png


Вероятно отсутствует информация о аэропортах вылета и посадки этого рейса.

Обзор посылки и приёмника


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

eanjyj4bgyexd-nasadkur7prvu.jpeg


Открытая коробка несколько удивила отсутствием упаковочных материалов.

fkq_xlageyzym4psi5huluhuo5o.jpeg


Для сравнение коробка у приемника Flightaware.

kojpvzknaatsndykd2qfmz77ng4.jpeg


К удивлению содержимое коробки внешне не пострадало. Только на антенне обнаружилась царапина — содрана пленка.

izj537mwxv512fiw6em5b3u0nks.jpeg


Сам приемник имеет надписи только двух разъемов — питания и HDMI. Кроме двух, все разъемы выведены на одну сторону. LAN, 2 порта USB, четырехконтактный разъем (предположение, что это последовательный интерфейс подтвердилось прозвонкой на BCM 14 (8 pin TXD / Transmit),
BCM 15 (10 pin RXD / Receive)), питание 5 вольт и SMA (female) разъем для антенны.

xoc9dnespvqq3r1f2frwjjs7zay.jpeg


На противоположной стороне, за двумя отверстиями в корпусе, находятся зеленый и красный светодиоды. И рядом наклейка с «серийным номером» приемника, записанным от руки. Также приемник имеет HDMI и microUSB.

e_8jzvvbk2_bp1nt46icd1uijke.jpeg


Крышка приемника имеет два уха для крепления на стену, что положительно отличает его от почти такого же корпуса приемника Flightaware, которому производитель предусмотрел только четыре силиконовые ножки на дне.

bqiwafgqodhiap_-hdd3ipizm3s.jpeg


Проверка возможности использовать эти два уха для монтажа приемника:

qw9fpg1gij5ndga6urbayxv2qle.jpeg


Flightaware Flightfeeder вверх днищем:

lf4swxpj43wvnjxbfsqu5rd2gom.jpeg


Для сравнения размеров приёмников:

nrbvzre_u9jhgkzusug0jqtgk1w.jpeg


Естественный вопрос «что же внутри?». Сняв крышку, закрепленную 4 винтами, видим такою компоновку.

40qqk99d-ac9ppuikahdjmic7oc.jpeg


Разъемы находятся на отдельной плате приёмника, выполненном в виде платы расширения для Raspberry Pi 3 Model B V1.2.

Для сравнения фотография Flightaware Flightfeeder (G6) без крышки. Это поколение приемников рассылали примерно до 2017 года. Построен на RPi 2 Model B v. 1.1 и упрощенном до одного канала приёмнике-декодере Mode-S Beast.

koya4exme2bh95occfbtkdb7wx8.jpeg


Обратная сторона этой конструкции скрывала неожиданный элемент. Сюрпризом оказывается массивный радиатор, расположенный с нижней стороны платы. Непонятна необходимость в нем (спустя неделю я думаю, что это «тропическое исполнение». В моих условиях радиатор слегка теплый).

t92ole4een-gqivnp2ksqweixqi.jpeg


Дополнительно плата расширения соединена с RPi четырехконтактным разъемом с тремя проводами, припаянными к тестовым точкам PP27 (USB VCC), PP44 (USB D-),
PP45 (USB D+).

hevcuirbhsyjqagyrtsie2n9kuy.jpeg


Т.е. в верхний правый разъем USB подключать ничего нельзя. Поэтому на фото корпуса, размещенной выше, видно, что из двух спаренных USB разъемов, прорезь в корпусе только напротив одного, ближнего к LAN.

8lvsxfznp3keyqhthe4cnq7lh4u.jpeg


Так же поступили в Flightaware, припаяв приемник к контактам одного из разъемов.

Большую часть платы расширения занимает металлический экран. Из видимых деталей разъемы на одной стороне, и на противоположной два индикатора и некая «катушка» с отводами. Напоминает шунт с переменным сопротивлением. Возможно 1div0, автор статьи «Зачем гнуть дорожки?» знает что это. При нормальной работе приемника горит зеленый светодиод. В каких случаях горит красный — мне неизвестно. Пока не наблюдал его включение.

k5nxuli9peb2vtru9ktvvlkqm44.jpeg


На стороне разъемов есть находятся разъемы питания и антенны, и четырехконтактный разъем неизвестного назначения.

Вся электроника скрыта под большой жестяной крышкой экрана. У Flightaware Flightfeeder плата приемника не экранирована. На форуме Flightaware разработчики на этот вопрос ответили, что для защиты от внешних помех достаточно металлического корпуса самого приёмника.

drsww9uvadqiqaagbhk99ibhatg.jpeg


Попытка заглянуть под экран удалась со второго подхода. Крышка отпаялась и оказалось…

wya_1qu4awvmsaop9eulebq8o7e.jpeg


… как оказалось всё было зря — маркировка с микросхем старательно спилена.

eghc38dwf3d24o6hqmzrznpchoi.jpeg


Забегая вперед, скажу, что это оказался почти обычный RTLSDR приёмник — RTL2832U DVB-T (0bda:2838), называемые «донглами», «свистками», и которым посвящено несколько статей на Хабре, которые дают представление об этих устройствах и том, как они упростили и удешевили реализацию приема и обработки радиосигналов на компьютерах. Например:
В последней хорошо описана история вопроса:

Выход в свет микросхемы RTL2832U для приемников цифрового телевидения в формате DVB-T не обещал никаких сенсаций, ведь фирма Realtek и так несколько запоздала с ее выпуском. В 2010 году уже начинал внедряться более прогрессивный стандарт DVB-T2 с более эффективным кодированием информации, поэтому первоначально новинка не привлекла особого внимания. В течение двух лет дешевые USB-тюнеры на ее базе использовались по своему прямому назначению, пока в начале 2012-го года не произошла утечка некоторой технической информации о режимах работы данного чипа. Выяснилось, что для приема аналогового (FM) и цифрового (DAB) радио в диапазоне УКВ, эта микросхема использует принцип программного декодирования предварительно оцифрованной из эфира полосы частот. Т.е. она, грубо говоря, оцифровывает высокочастотный сигнал из антенного входа, а фильтрация конкретной несущей и ее детектирование (выделение полезной информации) из полученного цифрового потока отдается на откуп центральному процессору. Очевидно, что сделано это было из соображений экономии, точно так же, как во времена заката Dial-UP массовое распространение получили экстремально дешевые «софт-модемы», которые тоже представляли собой лишь продвинутую пару ЦАП+АЦП, а весь сигнальный процессинг выполнялся CPU в потоке с наивысшим приоритетом.

В отличии от «обычных тюнеров», которые есть у меня, у данного экземляра usb id 0bda:2832 и есть 17-значный серийный номер.
Bus 001 Device 005: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Found Rafael Micro R820T tuner
Т.е. аналог «синему свистку», используемому при создании самодельных ADSB приемников. На фото приёмник на OrangePI.

8vh22xmude7pxxexaxkiqbupdjw.jpeg


Собирая приемник обратно, установил радиатор на всякий случай. Покупались специально для доработки роутеров и другой домашней аппаратуры.

i8r2rqvr2yriumcf8x_n8kk0gwg.jpeg


Блок питания 5В 2А. Выглядит солиднее, чем блок питания для Flightaware Flightfeeder. Но с китайской вилкой… Попытался вспомнить, где у меня переходник валяется.

ajlcl51jfqqhg0trs2xaykrva-u.jpeg


В коробке из белого картона оказался такой симпатичный бархатный мешочек.

diw7zywbjqf1oadipbx68qxsajq.jpeg


»… в сундуке — заяц, в зайце — утка, в утке — яйцо, в яйце — игла…»

bimhjbyxhtpskqn8qppiebop1t4.jpeg


Внутри оказалась головоломка из трех адаптеров, которая решила вопрос «где у меня переходник валяется».

jw2jbm8zmoxzdfkp2xh6l4giapk.jpeg


В коробке из коричневого картона оказался грозозащитный разрядник «CA-23RP 2.5GHZ 400W Made in Japan». Мне неизвестно о такой комплектации других ADS-B приемников. Очень разумно для защиты от несчастных случаев небольшой мощности.

xdvj3iho-lnma7j8xsdyxc6ltko.jpeg


Комнатная антенна, вероятно, для тестирования приемника без установки внешней антенны. Не годится для практического применения. Но продается на Aliexpress/Ebay как «ADS-B антенна», но её настоящее предназначение выдает надпись на магнитной подошве. У меня на эту антенну ловились самолеты не далее, чем в радиусе 30–40 км.

Рядом переходник N (female) — SMA (male). Возможно подарок на случай подключения фильтра или малошумящего усилителя.

aqlo6wt-ekzwdj5gi2lz1peqeyc.jpeg


Коаксиальный кабель для антенны 5 метров с разъемами N и SMA, и витая пара 10 метров (»100% бескислородная медь, блаблабла»).

ivwbfuae7vic79oosq7ycp5gyds.jpeg


Антенный кабель с маркировкой KOPA PLESS RG400-KF MIL-C-17. Гуглится M17/128-RG400 RG-400 Double Braid Flexible Coaxial Cable с другим цветом оболочки:

  • Максимальная рабочая частота 6 GHz
  • На частоте 1.20 GHz максимальное затухание 0.54 dB/m


Очень сомнительно, что это характеристики китайского кабеля. К слову у Flightaware в комплекте был паршивый антенный кабель, хоть и итальянский. Укорачивание кабеля от антенны до нескольких десятков сантиметров раза в три увеличило количество принятых пакетов приемником Flightaware.

dtaxiyp-0hsnbkxoyxvwxqppmpm.jpeg


Наружная антенна и её крепление к мачте.

odcduwhuzkas2_16eb-bvkonhgk.jpeg


Курьёз из группы FlightFeeder ADS-B VariFlight на Facebook:

in-vxt5ycgivunptwzqwlteg1ns.png


Антенна чуть меньше диаметром, чем у Flightaware

57og_cudvkojungdjrhx7nbvmmm.jpeg


Крепление к мачте у Flightaware из дюраля

-vrddfifb-tgjkc4chgcxonphki.jpeg


Подарок с символикой VariFlight. Судя по надписям на обороте — этот ярлык следует цеплять на багаж на случай утери в аэропорту, заполнив контактные данные владельца.

naay3txh_wtm7qlo9hpe1zbczji.jpeg


xhuysqq2i9mjm8r5kmsy8eo6md8.jpeg

Первое включение


Включение питания принципиально ничего не изменило во внешнем виде аппарата. Горели только индикаторы LAN, у роутера в списке выданных IP-адресов dhcp появилось новое имя хоста raspberrypi. На HDMI был обычный вывод загрузки RPi и запрос login.

u3jqlagqk0w2vni0vquhtllulk0.jpeg


И всё. Ожидаемый для таких устройств веб-интерфейс по адресу IP:8080 был недоступен. Сканирование портов устройства нашло только порт 22. На попытку войти дефолтным пользователем и паролем был далеко послан и в консоли и в ssh:

login as: pi
pi@raspberrypi's password:
Access denied

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

В это время я отправился на офсайт в поиске FAQ, техподдержки или еще чего-то, что могло бы рассказать, что это устройство делать должно и не должно. Впервые залогинился, но это принципиально ничего не поменяло — никаких контактных форм или форм обратной связи нет. Единственное, что нашлось — приемник был привязан к аккаунту и имел статус offline. Обратил внимание факт, что система в последний раз его видела в сети 2 сентября в 17.18 пекинского времени, за 4 дня до отправки почтой. Т.е. его проверили и подключили к аккаунту.

0b-0fsjl_qfuohrhfdanizpv9y8.png


Проведя пару дней в брожении по сайтам «китайского интернета», которые какими-то линками ссылались на оффсайт либо на которые вели линки с оффсайта, и устав от их оригинального дизайна, я осознал, что никакой техподдержки у этого изделия нет. И в этот момент я вспомнил о двух email от ADSB展示系统 (Display system of ADS-B).

«Это какая-то ерунда» — в очередной раз послышался в голове знакомый голос с акцентом. Мой email на этот адрес завернул обратно PostMaster feeyo.com

7qbhvwk-bzc6ljjz6rpqfusctgi.png


И тут глаз зацепился за вложение ко второму письму, ранее ускользавшее от взгляда (из-за непривычного нового дизайна GMail). Это оказалась инструкция об установке VariFlight ADS-B. Самое время узнать как это должно было работать.

Знакомимся с 飞常准 ADS-B 设备安装说明


Ниже перевод инструкции на 6 страницах и двух языках, большую часть которой занимают иллюстрации.

Инструкция по установке VariFlight ADS-B


egidqdatgtfzejqa91n4nfh-zn8.jpeg


Краткое описание


VariFlight ADS-B — это оборудование, предназначенное для энтузиастов гражданской авиации для отслеживания воздушных судов. Комплект состоит из ADS-B приёмника, блока питания, коммутационного шнура (патч-корд), антенны и кабеля для неё.

mogukz2z2_ohzy4un1bhz3pk6pa.jpeg


Место установки антенны


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

7_3aruxylxvhzffbg2xwormtdmk.jpeg


После установки антенны, Вам необходимо подключить ADS-B приёмник к интернету, выполнив следующие шаги:

  1. Подключите антенный кабель к приёмнику.
  2. Вставьте один конец патч-корда в роутер и другой конец ADS-B приемника.
  3. Подключите блок питания к приёмнику.


gimebv-tiw4td7c_m3evyd34tro.jpeg


Интернет должен подключиться автоматически, как только вы выполните эти три шага выше. Статический IP не поддерживается, только DHCP.

Комплект оборудования в сборе


acvjsruuug3lop68iq8xm-7act4.jpeg


Пример с использованием комнатной антенны


lg4uivsn2odmoktyc6pbuc63ze4.jpeg


Три способа узнать находится ли ваше ADS-B оборудование в состоянии онлайн или нет


Метод первый.
В настройках вашего роутера найдите IP адрес ADS-B приёмника и откройте http//XXX.XXX.XXX:8080 в веб браузере, где XXX.XXX.XXX внутренний IP адрес в вашей локальной сети.

wpdid3rucptn5hlql698q1murns.png


Метод второй
Откройте ссылку flightadsb.variflight.com в веб браузере, авторизуйтесь, и нажмите на пункт Airport

9ohsja9e_inbqrha1kivz6rzrsw.png


Метод третий, только для китайских добровольцев
Для китайских пользователей возможно использование WeChat.

На этом инструкция закончилась. В соответствии с этой инструкцией устройство работает частично — получает IP в локальной сети, но не отображает вебинтерфейс, в котором можно узнать dump1090 — декодер Mode S, созданный для RTLSDR донглов и используемый в подобных устройствах.

image


Без работающего dump1090 никаких данных на сервер не поступит. Странно, что устройство как-то работало при проверке перед отправкой. «Это какая-то ерунда». Раз китайцы никак не интересуются судьбой устройства, и никаких признаков техподдержки найти не удалось, то совесть моя совершенно чиста, если я попробую его отремонтировать самостоятельно.

Берем устройство под свой контроль


Разобрав приемник, сразу же при получении, я сделал образ microSD в состоянии до первого включения и немного изучил содержимое, сразу заподозрив как приемник отдает данные на сервер — в /root/ находились файлы и скрипты с адресами сервиса.

Сброс пароля пользователя PI


Инструкцию о смене «забытого пароля» с картинками можно найти по этой ссылке.

Разбираю еще раз приемник. Чтобы добраться до microSD надо открутить все винты и вытащить обе платы. В дальнейшем, работая с приёмником, я не собирал обратно в корпус т.к. приходилось сменять две microSD с разными системами.

Вытаскиваем microSD из Rpi, на компьютере делаем резервную копию, если еще не делали, и редактируем файл — cmdline.txt.

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait


В конец этой строки добавляем

init=/bin/sh


Возвращаем microSD обратно в RPi, подключаем монитор и клавиатуру. Подключаем питание. Когда по экрану перестают бежать строки, нажимаем Enter. Появляется приглашении консоли, в которой набираем

mount -rw -o remount /
passwd pi
sync
exec /sbin/init


Снова бегут строки и снова ждем, когда они перестанут бежать, после чего выключаем. Достаем microSD из RPi. На компьютере редактируем либо восстанавливаем резервную копию cmdline.txt — удаляем «init=/bin/sh».
В последний раз возвращаем microSD обратно в RPi. Включаем. Успешно логинимся с новым паролем. Включаем ssh введя raspi-config и выбрав в меню SSH.

Затем командой top хочу посмотреть, чем живет приёмник и неожиданно замечаю процессы wget и… dump-1090. Немая сцена. Проверяю в веб браузере http//XXX.XXX.XXX:8080 — есть интерфейс.

r_iot1vh1tljjqcj6gqdat3ufkq.png


Не сказать, что неожиданно, но точно непривычно. Из инструкции проверяю Метод второй — там тоже всё хорошо: значок приёмника позеленел, а ниже появился список самолетов, которые он услышал.

Можно было бы на этом бы и закончить, но во-первых использовать RPi3 только для этого было бы непростительно. А во-вторых, если бы это устройство стабильно работало. Например, пропало из списка IP адресов DHCP роутера, при этом было доступно при обращении по полученному ранее IP, и одновременно не было изображения на HDMI. Но самым важным оказалась нестабильность вещания. Согласно статистике на странице приемника, он работал несколько часов в сутки. Иногда полные сутки, иногда несколько часов, иногда ноль часов. Несколько дней ушло на изучение системы — не всякий софт устанавливался. Китайские репозитории… Немецкий голос окончательно убедил, что надо сделать ADS-B приёмник здорового человека, а для этого надо накатить на другую microSD образ PiAware. Оригинальная microSD еще пригодилась для выяснения как это работает. Как минимум сохраните файлы из /root. Желательно сделайте образ.

PiAware


PiAware — программное обеспечение Linux для передачи полетных данных на FlightAware. Содержит форк dump1090-mutability. Со слов разработчиков, одно из отличий, что не посылает на сервера FlightAware пакеты, если в них нет отличий от первого. Т.е. если самолет не изменил скорость, высоту, то эти данные обрабатывать не надо, и таким образом снижает нагрузку на сервера.

Примерно два года назад FlightAware начал перевод текстов на сайте на русский язык. И многое по созданию собственной станции PiAware можно найти офсайте. Суть создания станции на RPi с RTLSDR сводится к записи на microSD готового образа PiAware on Raspbian Linux с помощью программы Etcher. Далее, прежде чем вставить карту в RPi и дождаться загрузки, необходимо внести некоторые изменения. Для того чтобы включить доступ SSH создайте пустой файл без расширения с именем ssh в загрузочном разделе (/boot partition). А в файл piaware-config.txt можно внести необходимые настройки, например, указать статический IP или включить WiFi и указать SSID/пароль, при условии, что подключен поддерживаемый USB WiFi адаптер. Эти же настройки можно выполнить из консоли командой piaware-config Setting_name Possible_values.

Если у Вас уже есть аккаунт Flightaware, то через 5 минут станция привяжется к аккаунту, получив Unique Identifier. И у приемника появится собственная страница со статистикой.

По умолчанию пользователь PI имеет пароль flightaware. Хорошей идеей будет сразу же сменить пароль.

«Испытания»


Испытания именно в кавычках, просто впечатления. Имея два устройства с почти одинаковым ПО можно оценить их способности.

У меня есть бесплатный приемник Flightaware и первое, что я испытал, была комплектная VariFlight антенна. Я просто заменил на неё антенну Flightaware. И пока изучал VariFlight приёмник, на странице Flightaware собиралась статистика FlightFeeder. Вывод неутешительный. Хотя по максимальной дальности ничего не изменилось, как и FlightFeeder, в направлении прямой видимости, ловя некоторые на расстоянии 400 км, но статистика самолетов в час/сутки просела в 2–3 раза. Уверено принимает борта на 300+ километров, но видит немного меньше сообщений. Что внутри корпуса самой антенны не знаю — не разборная.

К приемнику VariFlight была подключена антенна Flightaware и он показал статистику того же порядка. А с родной антенной еще ниже.

edtq0z5qbkaioqmq8khv4q75nse.png


Расшифрую статистику. Статистика с 10–05 по 10–07 — это приемник VariFlight с антенной Flightaware. 10–08 была подключена комплектная антенна и с 10–09 по 10–11 статистика комплекта VariFlight. 10–12 изменен скрипт send_message.py на сбор данных с Flightaware Flightfeeder. После этого на VariFlight пошли данные с него и 10–13 — суточная статистика на основе данных Flightaware Flightfeeder. Далее больше, например, за 10–18 — 396 рейсов, 814176 пакетов, за 10–19 — 471 рейсов, 860415 пакетов.

Оценим насколько приемник VariFlight подвержен радиопомехам. Для этого просканируем диапазон 800МГц-1200МГц и сгенерируем тепловую карту.

sudo apt-get install python-imaging
sudo wget https://raw.githubusercontent.com/keenerd/rtl-sdr-misc/master/heatmap/heatmap.py
sudo chmod +x heatmap.py
sudo systemctl stop dump1090-fa
sudo rtl_power -f 800M:1200M:100k -i 30 -c 50% -e 30m -g 30 -F 9 >scan.csv


Через полчаса (-e 30m) сканирование прекращается и генерируем изображение.

./heatmap.py scan.csv scan.png


Перезагружаем устройство для восстановления работы dump1090.
И копируем полученное изображение на компьютер с помощью (win)scp.
Это фрагмент тепловой карты сканирования около частоты 1090 МГц. Полное изображение доступно по клику.
qsjlomhpqztfezcodd2c__ik-zy.png
Яркие желтые полосы — это мобильная связь. Ничего необычного — у него нет никаких префильтров как у Flightfeeder, и ему сильно мешают станции мобильной связи. В этом он абсолютно такой же как простой «синий свисток» упоминавшийся ранее. Возможно изготовление в виде специальной платы расширения имеет какой-то смысл, например, непонятна роль «гнутых дорожек» на этой плате. Изготавливая специализированную плату было бы не сложно установить и малошумящий усилитель и ПАВ-фильтр на 1090 МГц. Только посмотрев скрипты в устройстве, у меня появилась мысль зачем это сделано — один скрипт называется acars.py.

gjjec5drhpf-ummw90sui3ar5vw.jpeg


Насколько бы

© Habrahabr.ru