5 заметок с тегом

SDR

Raspberry Pi и Flightradar24

20 апреля 2016, 22:52

Или как получить бесплатно премиум аккаунт на flightradar24.com.
Для этого нам потребуется любая плата Raspberry Pi и USB DVB-T приемник, о котором я уже неоднократно писал.

Принцип работы

Веб-сервис для слежения и получения информации о воздушных судах использует технологию ADS-B. Самолёт, оборудованный ADS-B-транспондером, во время всего полёта Mode [«S»], примерно каждую секунду генерирует и отправляет в эфир (на частоте 1090 МГц) широковещательное, открытое радиосообщение, в котором содержатся актуальные на момент отправления данные — свои точные координаты (определённые с помощью GPS), свою текущую скорость, высоту и другую информацию.
На данный момент ADS-B-транспондерами оборудуются все новые пассажирские и грузовые самолёты, а также частично устанавливаются на старые, и лишь малая часть установлена на военных и частных самолётах.
В конце 2015 года Flightradar24 использует около 9000 ADS-B приёмников, установленных по всему миру, которые получают информацию от самолётов и отправляют её на сервер Flightradar24.

Информация с сайта wikipedia.org.

Установка

Импортируем ключ:

$ gpg --keyserver pgp.mit.edu --recv-keys 40C430F5
$ gpg --armor --export 40C430F5 | sudo apt-key add -

Добавляем URL репозитория в /etc/apt/sources.list:

$ sudo nano /etc/apt/sources.list
deb http://repo.feed.flightradar24.com flightradar24 raspberrypi-stable

Обновляем кэш и устанавливаем fr24feed

$ sudo apt-get update
$ sudo apt-get install fr24feed

Запуск

После установки необходимо запустить fr24feed для ввода e-mail адреса, своих координат, высоты над уровнем моря, а так же выбрать тип приемника и т. д.

$ fr24feed --signup

После ответа на все вопросы на экране должен появиться ключ, на тот случай, если вы захотите переустановить fr24feed, его нужно будет ввести при настройке или добавить в файл /etc/fr24feed.ini.
Завершить этап настройки нужно перезапуском fr24feed:

$ sudo service fr24feed restart

После этого можно заходить в личный кабинет на сайте и наблюдать за статистикой о переданных данных.

Использование

После успешной настройки вы получите письме на e-mail указанный при регистрации с ключом и назначенным вам радар кодом.

Код радара можно увидеть в детальной информации при клике на самолет, на сайте flightradar24.com.
Если увидите код T-USPP15, знайте, кто предоставил информацию о самолете.

Читаем данные с беспроводного датчика от метеостанции

5 февраля 2016, 8:10

Многие беспроводные устройства для домашнего использования работают на частоте 433 МГц. Это могут быть пульты управления, охранные датчики, брелки автомобильных сигнализаций, беспроводные датчики от метеостанций и многое другое.
Если посмотреть эфир на этой частоте, то можно увидеть обилие передатчиков.

Сегодня поговорим, как с помощью usb радиоприемника на чипе RTL2832 получать данные от беспроводных датчиков метеостанций.

У меня есть метеостанция Ea2 BL508 с одним беспроводным датчиком, попробуем получить с него данные.

Для работы нам потребуется библиотека rtlsdr и приложение rtl_433.
Я пробовал запускать rtl_433 и на Mac OS X 10.11 и на Raspberry Pi с Raspbian GNU/Linux 8 (jessie), в обоих случаях все работало. Перед началом установки необходимо убедиться в наличии libusb1.0 и cmake в системе.

Установка rtl-sdr

git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Если все прошло успешно, переходим к следующему шагу.

Установка rtl_433

git clone https://github.com/merbanan/rtl_433.git
cd rtl_433/
mkdir build
cd build
cmake ../
make
sudo make install

Для Raspberry Pi еще потребовалось исключить модуль из ядра:

sudo modprobe -r dvb_usb_rtl28xxu

Использование rtl_433

Теперь, когда все установлено и вы знаете модель своего датчика, а модели датчиков поддерживаемые приложением rtl_433 можно посмотреть тут, можно запускать сканер:

rtl_433 -R 31

В ответ получим следующее:

Registering protocol "TFA-Twin-Plus-30.3049 and Ea2 BL999"
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Exact sample rate is: 250000.000414 Hz
[R82XX] PLL not locked!
Sample rate set to 250000.
Bit detection level set to 8000.
Tuner gain set to Auto.
Reading samples in async mode...
Tuned to 433920000 Hz.
2016-01-31 20:14:04 TFA-Twin-Plus-30.3049 Sensor 24: battery OK, channel 1, temperature -2.0 C / 28.4 F, humidity 80%
2016-01-31 20:14:36 TFA-Twin-Plus-30.3049 Sensor 24: battery OK, channel 1, temperature -2.0 C / 28.4 F, humidity 80%

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

Но что делать если у вас нет такого датчика, а вы живете в многоквартирном доме? Не беда, у кого нибудь из ваших соседей присутствует метеостанция с беспроводными датчиками. Попробуем поискать.
Для этого нужно запустить в режиме обнаружения всех известных датчиков:

rtl_433

И вы будете удивлены количеству таких датчиков:

2016-01-31 20:23:37 Prologue sensor 5 159: Channel 4, Battery OK, Button 1, Temperature -42.00 C, Humidity 0 %
2016-01-31 20:24:25 Digitech XC0348 weather station 162: Temperature -3.700000, Humidity 70, Wind direction N, Wind speed 4.400000
2016-01-31 20:25:16 TFA-Twin-Plus-30.3049 Sensor 24: battery OK, channel 1, temperature -2.1 C / 28.2 F, humidity 81%
Sensor        = Temperature and rain event
Device        = 164
Temp          = -2.100000
Rain          = 237
checksum      = 01==01
Received Data = A4 B0 FE ED 01
2016-01-31 20:37:05 Thermo Sensor THN132N: House Code 34, Channel 1, Battery OK, Temperature -2.50 C

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

SDR на Android

31 января 2016, 0:07

В продолжении статей SDR на Mac OS X и SDR на Raspberry Pi сегодня поговорим о SDR на Android.

У меня завалялось устройство iMito MX1 с Android 4.4 на борту. К нему я и буду подключать SDR приемник на чипе RTL2832U. Для этого в вашем устройстве должен быть USB-OTG порт и root доступ, если версия Android 3.1 и ниже.

Поискав в Google Play приложения для данной цели, было найдено всего одно, о котором и пойдет речь ниже. Приложение называется SDR Touch и драйвер к нему RTL2832U driver.

Первые впечатления

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

Главный экран приложения. Слева скрыто меню с сохраненными радиостанциями, справа скрыто меню с основными функциями:

Выбор типа сигнала | Поддержка RDS | Шумоподавитель | Ввод частоты | Смещение | Усиление:

Главное окно настроек | Ширина спектра | Квадратурная оцифровка | Шаг настройки (100 Гц — 1 МГц) | Ширина фильтра:

Если у вас слабое устройство, то можно отключить спектр:

Так же есть возможность записывать эфир в файл. Ниже можно прослушать качество записи.

Приложение на 100% справляется со своими функциями, к тому же я не нашел альтернатив. Если вы пользуетесь чем то другим, то пишите название в комментариях.
Скоро опубликую еще одну интересную статью по использованию SDR приемника, подписывайтесь, чтобы не пропустить.

Android   RTL2832   SDR

SDR на Raspberry Pi

15 апреля 2015, 21:34

Несколько статей назад я рассказывал как подключить 2.8″ PiTFT дисплей к Raspberry Pi.
В прошлой статье я рассказал с помощью какого софта можно принимать радио в Mac OS.
Сегодня мы рассмотрим как это легко сделать с Raspberry Pi.
Для этого нам понадобится сама плата Raspberry Pi, 2.8″ PiTFT дисплей с разрешением 320х240 px и usb RTL-SDR приемник.
Для работы PiTFT в качестве автономного дисплея требуется поддержка ядра, в первой части будет рассказано, как установить дисплей, во второй части будут установлены необходимые утилиты для работы приемника.

Установка PiTFT

Есть 2 способа установить дисплей. Первый и самый простой, скачать готовый образ и распаковать его на SD карту. Этот способ может не подойти, если у вас уже есть рабочая система и требуется только добавить поддержку дисплея.
Рассмотрим второй вариант, с установкой вручную.
Добавим репозиторий apt.adafruit.com в список локальных репозиториев и установим необходимый софт.

curl -SLs https://apt.adafruit.com/add | sudo bash
sudo apt-get install -y adafruit-pitft-helper

Укажем тип нашего дисплея: 2.8″ и резистивный тачскрин

sudo adafruit-pitft-helper -t 28r

И перезагрузимся:

sudo reboot

В момент загрузки можно видеть текстовую консоль на экране, для работы X требуется отредактировать файл ~/.profile:

sudo nano ~/.profile

Добавив в него строчку:

export FRAMEBUFFER=/dev/fb1

И после этого добавим автозагрузку X, нужно добавить в файл:

sudo nano /usr/share/X11/xorg.conf.d/99-pitft.conf

Следующее содержимое и сохранить:

Section "Device"
  Identifier "Adafruit PiTFT"
  Driver "fbdev"
  Option "fbdev" "/dev/fb1"
EndSection

Далее необходимо утилитой raspi-config разрешить загрузку рабочего стола или Scratch.
После перезагрузки на экране должен появится привычный рабочий стол Raspbian.

Установка RTL-SDR

Для работы нам потребуются следующие пакеты:

sudo apt-get install cmake build-essential python-pip libusb-1.0-0-dev python-numpy git

А также нужно скачать и установить RTL-SDR библиотеку:

cd ~
git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig

И еще потребуется установить обертку библиотеки RTL-SDR для Python:

sudo pip install pyrtlsdr

Весь необходимый софт установили, перейдем к установке утилиты FreqShow (утилита с открытым исходным кодом, написанная на Python) в которой и будем наблюдать за эфиром:

cd ~
git clone https://github.com/adafruit/FreqShow.git
cd FreqShow

Запускается утилита командой:

sudo python freqshow.py

Посмотреть возможности можно на видео.
Единственный и жирный минус всего, это невозможность услышать сам эфир.
Но и из этой ситуации есть выход. С помощью маленькой утилиты rtl_fm из проекта RTL-SDR можно слушать радио, например:

rtl_fm -f 104.7М -M wbfm -s 200000 -r 48000 - | aplay -r 48k -f S16_LE

Подробнее о утилите rtl_fm можно узнать на сайте.
Осталось приобрести аккумулятор большой емкости и можно отправляться подслушивать врага.

SDR на Mac OS X

12 апреля 2015, 3:23

В этой статье расскажу, как за $10 получить радиоприемник, способный принимать в диапазоне 24-1700 МГц и покажу какой софт установить в Mac OSX.
Для этого нам понадобится usb радиоприемник на чипе RTL2832. На ebay таких приемников огромное количество на любой вкус и цвет.
Возможность приема в таком широком диапазоне заключается в SDR Software-defined Radio.
Рассмотрим установку двух утилит для работы с приемником.

Gqrx

Распространенное приложение для Linux и Mac с большими возможностями. Имеет богатые настройки и поддерживает многочисленные приемники.

Установка MacPorts

Создаем директорию и загружаем исходники MacPorts:

mkdir -p /opt/mports
cd /opt/mports
svn checkout https://svn.macports.org/repository/macports/trunk

Собираем и устанавливаем MacPorts:

cd /opt/mports/trunk/base
./configure --enable-readline
make
sudo make install
make distclean

Установка Gqrx

Обновим локальный список последних доступных версий программных пакетов:

sudo port selfupdate

Установим Gqrx:

sudo port install gqrx

CubicSDR

Приложение более простое в плане настроек, но с основной задачей вполне справляется, хотя и находится в статусе беты. Из минусов, поддерживает только RTL-SDR приемники, но в нашем случае это не проблема.

Установка CubicSDR

Нам потребуется собрать wxWidgets:

mkdir ~/Dev
cd ~/Dev
wget http://sourceforge.net/projects/wxwindows/files/3.0.2/wxWidgets-3.0.2.tar.bz2/download -O wxWidgets-3.0.2.tar.bz2
tar -xvjpf wxWidgets-3.0.2.tar.bz2
cd wxWidgets-3.0.2
./configure --with-opengl --disable-shared --enable-monolithic \
--with-libjpeg --with-libtiff --with-libpng --with-zlib --with-mac \
--disable-sdltest --enable-unicode --enable-display --enable-debug \
--disable-webkit --disable-webview --disable-webviewwebkit \
--with-macosx-version-min=10.9 --with-libiconv=/usr \
--prefix=~/Dev/wxWidgets-staticlib CXXFLAGS="-std=c++0x"
make && make install

Также потребуются несколько пакетов:

sudo port install rtl-sdr fftw-3-single liquid-dsp

И непосредственная сборка CubicSDR:

cd ~/Dev
git clone https://github.com/cjcliffe/CubicSDR.git
cd CubicSDR/cmake
cmake ../ -DwxWidgets_CONFIG_EXECUTABLE=~/Dev/wxWidgets-3.0.2/wx-config -DCMAKE_BUILD_TYPE=Release -DBUNDLE_APP=1 -DCPACK_BINARY_DRAGNDROP=1
sudo cpack
cd ~/Dev/CubicSDR/cmake/_CPack_Packages/Darwin/DragNDrop/CubicSDR-0.1.2-Darwin
cp -R CubicSDR.app /Applications

Скачать готовый билд CubicSDR 0.1.2

Что слушать?

62—74 МГц, 88—108 МГц банальное радио
118—135 МГц общение самолетов и диспетчеров
433 МГц, 446 МГц портативные радиостанции
144—145 МГц, 435 МГц радиолюбители
Полный список частот принимаемых на RTL-SDR.

CubicSDR   Gqrx   Mac OS   RTL2832   SDR