Добрый всем вечер, день или еще!
Недавно столкнулся с программой GNURadio, а конкретнее с его установкой и настройкой.
Конечно можно установить через «apt install ....» или как советует автор GNURadio через PyBOMBS, но в первом случае, нет гарантии, что это будет последняя версия, во втором возникали ошибки при установке. Но в любом случае, мне хотелось всегда последнюю версию (хотя последнее, не всегда значит лучше!).
И так я расскажу, как установить и собрать GNURadio и модули для DVB-T USB приемника (у меня обычный приемник с али за 500 руб.)
И так поехали!
Советы по установке:
1. Пишу по шагам, не пропускать ни одного шага, идем сверху вниз
2. Я скачивал всё в домашнюю папку! (cd ~)
3. Где нужен root, там я пишу sudo
4. Проверяйте, что пишется в консоли после каждого шага (вдруг у Вас ошибка)
5. Процесс не быстрый! Нужно терпения и машинку по быстрее. Где-то час у вас уйдет на всё.
Далее
Весь процесс я поделил на 6 частей (установок)
1. Инсталлируем GNURadio — процесс долгий, сборка идет долго. Так, что терпения вам
2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U) для приемника
3. Инсталлируем библиотеку LibRtlSdr (Software to turn the RTL2832U into an SDR)
4. Инсталлируем библиотеку GR-OsmoSdr
5. Инсталлируем библиотеку Liquid DSP
6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Часть 1. Инсталлируем GNURadio
Для начала устанавливаем необходимые пакеты (строка длинная)
sudo apt-get install git python-pip libboost-all-dev swig libcppunit-dev python-gtk2-dev libfftw3-dev libqwt-dev pyqt4-dev-tools python-wxgtk3.0 python-lxml alsa-utils doxygen cmake libusb-1.0-0-dev libgsl-dev osspd
и далее строчку за строчкой
cd ~
sudo pip install --upgrade pip
sudo pip install mako numpy Cheetah3
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git clone https://github.com/gnuradio/volk.git
mkdir build
cd build
cmake ../
make
make test
после make test посмотрите, чтобы не было ошибок!
если нет, то далее…
sudo make install
sudo ldconfig
на этом мы установили GNURadio. Его можно уже запустить, но нам надо еще собрать и подключить наш DVB-T приемник.
Часть 2. Инсталлируем библиотеку RTL-SDR (DVB-T RTL2832U)
cd ~
git clone https://github.com/osmocom/rtl-sdr.git
cd rtl-sdr/
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo ldconfig
Тут не должно быть проблем. И библиотека RTL-SDR установлена.
Часть 3. Инсталлируем библиотеку LibRtlSdr
sudo apt-get install libusb-1.0-0-dev
cd ~
git clone https://github.com/steve-m/librtlsdr.git
cd librtlsdr
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig
Сделано. Идем далее
Часть 4. Инсталлируем библиотеку GR-OsmoSdr
cd ~
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
mkdir build
cd build/
cmake ../
make
sudo make install
sudo ldconfig
Сделано. Идем далее
Часть 5. Инсталлируем библиотеку Liquid DSP
sudo apt-get install automake
cd ~
git clone https://github.com/jgaeddert/liquid-dsp.git
cd liquid-dsp
./bootstrap.sh
./configure
make
sudo make install
sudo ldconfig
Сделано. Идем далее
Часть 6. Заблокировать загрузку стандартных файлов для нашего DVB-T RTL2832U
Открываем (или создаем) файл "/etc/modprobe.d/blacklist-dvb.conf"
и туда вставляем строчки
blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
и ПЕРЕЗАПУСКАЕМ систему или проще говоря:
sudo reboot
Ну вот, вроде процесс закончен и мы можем запустить и проверить наш GNURadio
для этого набираем в консоли:
gnuradio-companion
Во время установки и проб, были ошибки связанных со звуковой картой (Проблема здесь в использовании программой старой звуковой подсистемы OSS) и второе прописать в блоке «osmosdr_source_0» строку «driver=rtlsdr,rtl=0». В остальном вроде проблем не было. Но у вас не должно быть проблем, т.к. я уже указал нужные вам пакеты в «sudo apt install...»
Я еще дополнительно устанавливал себе блоки-модули для LoRa, GSM и прочее.
Различных модулей под GNURadio много.
Полный список таких плагинов-блоков для GNURadio по ссылкам:
https://github.com/gnuradio/gr-recipes
https://github.com/gnuradio/gr-etcetera
Надеюсь кому-то это интересно, будут вопросы — спрашивайте.
Автор: Sergey Abaev