В данном посте я расскажу как я сделал "авиарадар" дома из соплей и палок будучи в опе мира.
Точнее - как сделал свой маленький независимый филиал ада аналог сервиса FlightRadar24
Думаю, первым делом следует сказать как вообще это работает.
Прежде всего - это не радар, от слова совсем.
Самолеты сами сообщают в радиоэфир свои текущие координаты, скорость, направление, высоту, а также свой позывной, по которому в интернете можно найти некоторую другую информацию, например тип самолета. Причем это информация открытая и не шифруется. Это называется ADS-B (автоматическое зависимое наблюдение-вещание, https://ru.wikipedia.org/wiki/ADS-B ).
Для начала нужен радиоприемник. Поскольку у меня не было особого желания тратить не маленькие деньги на игрушку которую я могу забросить через месяц (а такие игрушки есть на любой кошелек, есть модели которые могут не только принимать, но и передавать сигнал, со списком устройств можно ознакомиться по ссылке https://en.wikipedia.org/wiki/List_of_software-defined_radio...), то подойдет и самый простой и дешевый вариант:
RTL-SDR донгл RTL2832U (желательно с обозначением R820T2, у него чувствительность немного лучше). У этой модели немного плавает настройка на частоту при изменении температуры (а греется он весьма ощутимо), есть модели подороже с гораздо меньшим люфтом, у них в названии добавляется слово "TCXO", но для моего случая это не существенно. Да, это устройство продают как DVB-T тюнер, но умельцы заметили, что его можно использовать как радиоприемник, если заменить драйвера на самопальные от сообщества радиолюбителей.
RTL2832U я брал на Ebay. К слову, за бОльшую цену с тем же названием (если не добавилось TCXO) вы получите точно такой же по качеству, просто продавцы хотят нажиться на неосмотрительных покупателях, данный приемник стал популярен из-за своей низкой цены и наличия альтернативных драйверов для использования не только как DVB-T тюнера.
(Впрочем, как DVB-T мне его настроить так и не удалось, может потому что в РФ после аналогового ТВ решили запускать сразу DVB-T2 ?)
Далее, когда вы получите ваш приемник
можно приступать к установке программ и драйверов
(Не устанавливайте родные драйвера с диска купленного приемника!)
Качаем SDR# http://airspy.com/download/ (хорошая программа для прослушивания эфира)
Распаковываем, запускаем install-rtlsdr.bat (скачивает необходимое для это приемника)
Устанавливаем драйвера в винду через программу zadig.exe которая скачалась на предыдущем шаге.
После установки драйвера перезапустить компьютер.
Альтернативную инструкцию по пройденному этапу можно посмотреть тут http://www.rtl-sdr.ru/page/instrukcija-po-ustanovke-sdrsharp
Теперь нужны программы которые будут использовать радиоприемник и показывать нам самолетики и наводить на них ракеты.
Сначала - чтение данных из радиоэфира.
Для этого нужна программа RTL1090, взять последнюю (сейчас это Build 151 - 11 JAN 14) версию здесь http://rtl1090.com/
Распаковать, в папку с программой скопировать файлы rtlsdr.dll и libusb-1.0.dll из папки ранее скачанной SDR#
Открыть программу, нажать START, программа может зависнуть на некоторое время пока стартует
Запомнили что порт "31001" (написан в самом низу окна).
(В качестве альтернативы данной программы можно использовать ADSB плагин для SDR#).
Теперь нужна программа которая будет показывать информацию о самолетах и рисовать их на карте. С этим хорошо справляется бесплатная и не очень сложная программа Virtual Radar Server http://www.virtualradarserver.co.uk/Download.aspx
Устанавливаем, запускаем, лезем в настройки Tools > Options
Выключаем все старые источники данных (у меня не получилось увидеть информацию с предустановленного в настройках сайта, только с своего приемника) и добавляем RTL1090.
Не забываем запустить сервер и щелкнуть по ссылке.
Откроется браузер с гугло-картой где будут показываться обнаруженные возле вас самолеты (картинка из интернета).
И еще, чтобы все это заработало вам также понадобится антенна, которая рассчитана на частоту 1090 MHz и ловит сигнал со всех направлений.
Есть не мало типов антенн, можно купить, можно попробовать сделать самостоятельно.
Качество антенны - один из основных факторов влияющих на дальность обнаружения.
Более подробно с темой антенн можно ознакомиться погуглив "ADS-B antenna"
Поскольку я планировал просто попробовать "как оно там работает" и потратить на данный вопрос минут 5, то с антенной не стал заморачиваться, нашел простой вариант - антенна Франклина, и согнул кое-как из подвернувшейся проволоки ориентируясь на следующую картинку.
В итоге я смог обнаруживать пролетающие гражданские самолеты в радиусе до 100 км (согласно последнему тесту) при этом имея весьма неблагоприятные условия:
- расположен в низине
- кривая антенна (фото внизу), без усилителя, установлена внутри помещения, в 2-х метрах от земли
- витая пара без экранизации в качестве кабеля
- самый дешевый приемник из возможных
Поэтому, если вы хотите чтобы у вас был хороший радиус охвата, то:
- отнесись к делу ответственно, не будь как wingblack
Экран рукожопа
P.S.
Данный способ не может определить самолеты на которых ADS-B отсутствует или выключен (обычно это самолеты с менее чем 100 пассажиров, большинство вертолетов и военных самолетов, старьё, или просто владельцы посчитали что устанавливать ADS-B не нужно)
Вот здесь можно посмотреть на то, что получилось у других с помощью программы Virtual Radar Server и кто решил что этим нужно поделиться с интернетом http://www.virtualradarserver.co.uk/Directory.aspx
Сервис https://www.flightradar24.com/ работает (в том числе) за счет волонтеров у которых стоит оборудование от этого сервиса (или кто-то настроил свой приемник и решил поделиться). Можно попытаться получить их оборудование бесплатно, если пообещаете что у вас хорошее расположение и вы можете обеспечить работу точки 24/7, и если рядом с вами нет других волонтеров. Впрочем, если я не ошибаюсь то это оборудование заточено под их сервис и больше ничего кроме слежения за самолетами толком не умеет (но, думаю, кулхацкеры не спят). Страничка для заявок на бесплатное оборудование https://www.flightradar24.com/apply-for-receiver
Если где ошибся, прошу понять и простить .