Июля
2018 года
10
ADS-B & AFEDRI SDR-Net & dump1090
2018 года
Тематикой ADS-B я заинтересовался практически случайно. Исследуя тему компактных серверов переодически натыкался на "малинки" и прочие "одороиды", а так же способы их применения. Однажды и вовсе наткнулся на тему в которой радостная школота довольные пользователи малинки рассказывали о том, как воспользовались предложением от flightradar24.com (далее FR) и получили от них "халявный" комплект из антенны на 1090 Mhz, коробки с приемником и корпус с "raspberry pi" ака "малинка". С "малиной" я еще не ковырялся, не было времени, желания и было много сомнений в целесообразности - производительность все же оставляет желать лучшего.
Не так давно прочитал сообщение от Александара 4Z5LV, который сообщил что в последнюю версию (на данный момент) sdr-split v.1.19 , добавлена возможность 8-битного семплирования сигнала, что в свою очередь дает возможность совместной работы с утилитой dump1090. Которая позволяет декодировать сигналы ADS-B, а значит теперь прием возможен не только на "старом китайском свитке" RTL, но и на любимом Afedri SDR :)
Само-собой, мне захотелось такую возможность воплотить.
Первое с чего все начинается - антенна. За воскресенье, загуглив тематику сделал 8 элементный коллинеар на 1.1 Ггц.
Результат, учитывая адские потери в кабеле, посредственную точность изготовления элементов и самой конструкции в целом - весьма впечатляющий.
Если на NAGOYA UT-102UV стояющую на карнизе небыло слышно совсем ничего, то самодельный коллинеар уровни сигналов если и не шкалят, то слышны весьма громко.
Ок, далее качаем dump1090, а лучше её форк от Мальколма Роба или еще кого-нить, кто занимается ее развитием и украшательством.
git clone https://github.com/MalcolmRobb/dump1090
cd dump1090
make
После получения бинарника я столкнулся с проблемой. Запустить я его запустил, но результат отсутствовал . Что ж, если ничего не помогает - прочтите инструкцию(с)
Обратившись к описанию утилиты sdr_split на сайте мною был найден "секретный ключ" -cE0 :
1. Added conversion from 16-bit sample size to RTL-SDR like 8 bit sample size, output of converted data stream to stdout. (option -cE0) for use with dump1090 utility.
Это был шаг в верном направлении, но все еще чего-то не хватало. Я слышал сигналы и видел их на водопаде, но в консоли было пусто.
В конце долгих многочасовых поисков я наконец понял в чем у меня проблема и почему ничего не работает. Вот, что навело меня на правильную, но почему-то неочевидную для меня мысль.
The binary file should be created using
rtl_sdr
like this (or with any other program that is able to output 8-bit unsigned IQ samples at 2Mhz sample rate
Ну конечно же, sample rate должен быть 2 Mhz!!!
И стоило мне исправиль жту ошибку как я тут же увидел заветные самолеты в консоли...
А если зайти на порт 8080 сервера, то dump1090 поднимает там вебсервер и отдает более визуальную статистику и информацию.
Общий механизм работы софт-харда точно такой же, как мной уже был реализован ранее при работе с WEBSDR от PA3FW.
При помощи sdr_split подклчаемся к сетевому приемнику Афедри, получаем поток, пишем этот поток в файл FIFO на диске.
При помощи dump1090 читаем этот файл, получаем результат в виде хэшей и остальных данных с ADS-B.
Как обычно я использую файлик afedri-start.sh для запуска этой связки.Вот его содержимое.
#!/bin/bash
FREQUENCY=1090000000
SAMPLE_RATE=2048000
GAIN=35./sdr_commander -t192.168.0.245 -al1 -am1 -E4 -A0 -sn$SAMPLE_RATE -g$GAIN -q0 -f$FREQUENCY
./sdr_split -s$SAMPLE_RATE -O -c1 -u50000 -i192.168.0.245 -cE0 > /home/websdr/band20/fifo/afedri-ch-1 &
sleep 1
./dump1090 --raw --quiet --aggressive --net --ifile /home/websdr/band20/fifo/afedri-ch-1 &
Далее, подключаемся к агрегатору. Регистрируемся на сайте FR. Идем на страницу "Share your ADS-B data", выбираем свою ОС и качаем их софт. Инструкций по подключению в интернетах полно , приведу коротко.
wget
https://repo-feed.flightradar24.com/linux_x86_binaries/fr24feed_1.0.18-5_i386.tgz
tar -zxvf
fr24feed_1.0.18-5_i386.tgzРаскладываем файлы по директориям (см ссылку на хабр)
./fr24feed --signup
отвечаем на вопросы, получаем новый ключ, делаем "демона" для
fr24feed, идем на ФР убеждаемся что мы законекчены и сбор статистики пошел.
Где-то через сутки можно будет увидеть статистику, с каких азимутов сигнал самолетов приходит, а с каких нет. У меня все не очень хорошо, если честно то все плохо. Со всех сторон дома, а антенна всего на окне третьего этажа. Просветов до неба между домами всего два, в них максимальная дальность составляла до 200 nm, что неплохо, но конечно хотелось бы кгруговой диаграммы. А она достижима только на крыше.. Ну, что есть, то есть...
TODO:
1)отдельный приемник для ads-b (уже едет :D )
2)band pass filter 1090
2)нормальный кабель с нормальными коннекторами
3)радача получаемой информации большему числу агрегаторов: flightaware, opensky-network etc
На данный момент, до приезда ADS-B приемника WEBSDR@AfedriSDR будет работать в ADS-B режиме. Посмотреть на самолетИки по ссылке...