skyrail (skyrail) wrote,
skyrail
skyrail

Categories:

Отслеживание самолетов используя Raspberry PI и USB TV-тюнера RTL2832U+R820T - все за 60$!

По следам поста ADS-B радар + SDR приемник 24MHZ-1850MHz (RTL2832U+R820T) за 10 баксов (FM+DAB USB DVB-T RTL2832U+R820T),
в котором рассказывалось как отслеживать самолеты с помощью обыкновенного ТВ тюнера за 10$ на компьютере,
продолжаю тему и рассказываю как проделывать тоже самое, только используя микрокомпьютер размером с кредитку Raspberry PI за 50$ (цена с корпусом! без - 35$) вместо обычного ПК, который с собой не потащишь.

УРОВЕНЬ СЛОЖНОСТИ: НИЗКИЙ (все по инструкции)

20130629-IMG_0369

Задача встала из-за желания отображать данные о пролетающих самолетах на телевизоре в автомобиле во время споттинга.

Чтобы не вслушиваться в радиопереговоры с целью мониторинга обстановки, а видеть.
Пусть в табличном виде - на маленьком ТВ в машине это больше подходит, чем отображение самолетов на карте, хотя и это программа может.

И конечно можно использовать PI и дома, в качестве постоянно работающего компьютера-обработчика данных с донгла и передающего данные по сети в программу Planeplotter. Информация как это сделать в конце поста.

Вот как выглядит реализация этого на домашнем ТВ:
20130629-IMG_0371

Реализация данного плана состоит из пунктов:

  1. Покупка FM+DAB USB DVB-T RTL2832U+R820T на ebay

  2. Покупка Raspberry PI + карта памяти (покупайте хорошую карту памяти, например 8GB 6-ой класс), говорят продается уже в DNS-е, но я брал с корпусом на ebay.

  3. Установка ПО и настройка Raspberry PI

  4. Изготовление/покупка блока питания microUSB для автомобиля с током не менее 1-2A

  5. Подключение Raspberry PI к автомагнитоле через композитный видео-вход (тюльпан)



Поскольку PI идет без блока питания (БП) и без шнура microUSB, то отправился в магазин и купил этот шнурок.
Блок питания должен выдавать ток не менее 700ma, я взял от айфона, у него заявлено 1A и подключил через купленный шнурок к PI. Однако 1A говорят мало, нужно 1.5-2A! Решу потом... а пока клава и донгл работают исправно.

Далее идет инструкция, пункты обозначены буквами A,B,C,D,...
Подпункты цифрами.
PI - это микрокомпьютер Raspberry PI, а донгл - это USB TV-тюнера RTL2832U+R820T.

А. Выполняем действия по загрузке ОС на карту памяти:
[Spoiler (click to open)]

  1. Качаем Raspbian “wheezy” с Downloads | Raspberry Pi

  2. Пишем на SD карту образ .img с помощью Win32 Disk Imager | Free Development software downloads at SourceForge.net



B. ! затем подключаем USB клавиатуру, подключаем Ethernet, вставляем карту в PI и включаем питание.
поскольку Raspberry PI до этого в глаза не видел то у меня возникли проблемы:
- система не запускалась

Подключив к телевизору увидел, что PI зависает на каком то этапе загрузки, после недолгих исследований выяснилось, что виновата карта памяти на 2GB microSD - заменил на SD 8GB - все заработало!
ПОЭТОМУ еще раз: покупайте хорошую карту памяти, например 8GB 6-ой класс, цена такой 260 рэ. всего.

После того как все загрузилось в 1-ый раз, появилось окно конфигурации, можно поиграться расширив дисковое пространство на всю карту - expand_rootfs, а можно ничего не трогать и выбрать FINISH.

Перезагрузка...
Вход в систему происходит по логину pi и паролю raspberry:
[Spoiler (click to open)]login as: pi

pi@192.168.1.48's password:
Linux raspberrypi 3.6.11+ #474 PREEMPT Thu Jun 13 17:14:42 BST 2013 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Jun 29 12:16:10 2013 from 192.168.1.154


C. Теперь НЕОБХОДИМО настроить IP адрес и DNS для PI, чтобы она могла грузить программы с Интернета:
1. Настройка статического IP адреса
[Spoiler (click to open)]Для настройки сетевого подключения в Raspberry нужно изменить файл конфигурации /etc/network/interfaces

Набираем:

$ sudo nano /etc/network/interfaces

Дописываем в конец:

iface eth0 inet static

address 192.168.1.48
netmask 255.255.255.0
gateway 192.168.1.1

auto eth0


2. Отключаем DHCP чтобы не тормозил загрузку:
ставим решетку на всех строках где есть dhcp:
#iface eth0 inet dhcp

на этом все,
Ctrl+O и затем Enter - сохраняем
Ctrl+X - выходим

Расшифровка:
iface eth0 inet static - указывает, что интерфейс (iface eth0) находится в диапазоне адресов IPv4 (inet) со статическим ip;
address 192.168.1.48 - указывает IP адрес (address) нашей сетевой карты, ставьте какой надо если 48 занят;
netmask 255.255.255.0 - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;
gateway 192.168.1.1 - адрес шлюза (gateway), в моем случае это адрес роутера.
auto eth0 - указывет системе что интерфейс eth0 необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.


3. Настройка DNS
[Spoiler (click to open)]набираем

$ sudo nano /etc/resolv.conf

Убираем что там есть и пишем:
nameserver 192.168.1.1

Ctrl+O и затем Enter - сохраняем
Ctrl+X - выходим
Где 192.168.1.1 - адрес DNS сервера, в моем случае это роутер, ставьте свой если у вас другой.
Если нужно добавить больше адресов - каждый адрес нужно начинать с новой строки и с фразы nameserver


4. На этом настройка доступа к Интернету закончена.


ПОСЛЕ того как Интернет настроен

D. Для начала обновляем систему:
[Spoiler (click to open)]набираем

sudo apt-get update

после того как загрузились пакеты набираем
sudo apt-get upgrade

и устанавливаем их

затем набираем
sudo apt-get install git-core


E. Подготавливаемся к подключению донгла по USB
[Spoiler (click to open)]
набираем:

  1. sudo apt-get install git

  2. sudo apt-get install cmake

  3. sudo apt-get install libusb-1.0-0-dev

  4. sudo apt-get install build-essential



F. Теперь устанавливаем драйвер RTL-2832U USB
[Spoiler (click to open)]
набираем:

  1. git clone git://git.osmocom.org/rtl-sdr.git

  2. cd rtl-sdr

  3. mkdir build

  4. cd build

  5. cmake ../ -DINSTALL_UDEV_RULES=ON

  6. make

  7. sudo make install

  8. sudo ldconfig


*учтите - ldconfig - первая буква L

после последней команды ничего не произойдет
вырубаем PI и подключаем донгл RTL-2832U USB
20130629-IMG_0374

G. Включаем PI, загружаемся, логинимся и
[Spoiler (click to open)]

набираем снова:
sudo ldconfig

*учтите - ldconfig - первая буква L

далее проделайте команды, чтобы сказать системе о новом устройстве и перегрузиться:

  1. cd /home/pi/

  2. sudo cp ./rtl-sdr/rtl-sdr.rules /etc/udev/rules.d/

  3. sudo reboot



H. После перезагрузки логинимся и набираем для проверки:
rtl_test -t

должна отобразиться информация о вашем донгле RTL-2832U USB типа этой:
[Spoiler (click to open)]pi@raspberrypi ~ $ rtl_test -t

Found 1 device(s):
0: ezcap USB 2.0 DVB-T/DAB/FM dongle

Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
No E4000 tuner found, aborting.
pi@raspberrypi ~ $


если возникает ошибка:
[Spoiler (click to open)]pi@pi32 ~ $ rtl_test -t
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM

Kernel driver is active, or device is claimed by second instance of librtlsdr.
In the first case, please either detach or blacklist the kernel module
(dvb_usb_rtl28xxu), or enable automatic detaching at compile time.

usb_claim_interface error -6
Failed to open rtlsdr device #0.


то проделайте все теже операции что выше, только в пункте 5 нужно набирать:
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON


I. Напоследок - отключение режима скринсейвера PI, иначе будет через минут 30 работы пустой экран пока не нажмешь клавишу.
набираем
:
[Spoiler (click to open)]

sudo nano /etc/kbd/config

ищем строку BLANK_TIME= и меняем на BLANK_TIME=0

Ctrl+O и затем Enter - сохраняем
Ctrl+X - выходим


изменения будут после перезагрузки системы.



J. Ну и осталось поставить саму программу dump1090!
[Spoiler (click to open)]набираем

  1. cd /home/pi/

  2. git clone git://github.com/antirez/dump1090.git

  3. cd dump1090

  4. make


если возникают ошибки с pkg-config - ставим его:

  1. sudo apt-get install pkg-config

  2. make



НА ЭТОМ УСТАНОВКА Программ ЗАВЕРШЕНА!

Запускаем саму программу dump1090
набираем:
./dump1090 --interactive --metric (для метрической системы)

вы должны увидеть таблицу, и если будут какие либо самолеты в зоне приема, то и их данные
dump1090-table


Если же вы не планируете ставить PI в автомобиле, то его можно использовать и дома, для обработки и выдачи данных по сети на Planeplotter к примеру:


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

./dump1090 --quiet --net --net-beast --net-ro-port 31001 &
./dump1090 --quiet --net --net-beast --net-ro-port 31001 --net-ro-size 500 --net-ro-rate 5 &

и далее logout

Настраиваем PP (Planeplotter):
[Spoiler (click to open)]

  1. Запустите PP

  2. В меню Options => Mode-S Receiver => RTL dongle RPi dump1090 => Setup TCP/IP client.

  3. Введите IP адрес RPi, добавляя в конец ":31001".  Пример: "192.168.0.19:31001". Жмем OK.

  4. В меню Options => I/O settings.

  5. Выберите "RTL > RPi+Dump1090" в списке справа. OK.

  6. Теперь в главном окне программы жмем зеленый кружок - коннект и все должно заработать.


обо всем этом рассказано здесь: http://www.satsignal.eu/Radio/dump1090.html


для установки в атомобиле, осталось сделать блок питания от 12В, а также чтобы программа dump1090 запускалась автоматически при включении питания и загрузке PI.

необходимо будет доработать и отображение таблицы чтобы увеличить размеры символов для маленького экрана.

Об этом в последующих постах...

adsbradar-banner-ul

Tags: ads-b, dump1090, pi, r820t, raspberry, rtl2832u, sdr
Subscribe
promo skyrail january 26, 2014 21:57 11
Buy for 30 tokens
время не стоит на месте, и даже этот прогрессивный материал ( ADS-B радар + SDR приемник 24MHZ-1850MHz (RTL2832U+R820T) за 10 баксов) тоже успел устареть :) делаю обновление Раньше такое было уделом избранных, теперь в это могут играть школьники. FM+DAB USB DVB-T RTL2832U+R820T with MCX…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 15 comments