HackRF и GNU Radio, быстрый старт Печать
Добавил(а) microsin   

Знакомство с Software Defined Radio (SDR) и HackRF лучше начать с просмотра серий видео Software Defined Radio with HackRF [2] (на русском языке есть хороший перевод [3]). В этих видео Вас познакомят с приемником HackRF One, необходимым программным обеспечением, включая GNU Radio, и обучат базовым понятиям цифровой обработки сигналов (Digital Signal Processing, DSP) - все, что нужно для получения доступа к широким возможностям SDR. Ниже приведена дополнительная полезная информация (перевод статьи [1]). Непонятные термины и сокращения см. в разделе "Словарик" статьи [17].

[Попробуйте запустить HackRF с Pentoo Linux]

Самый простой способ начать работу с приемником HackRF, и убедиться, что все работает - использование операционной системы Pentoo. Это дистрибутив Linux с полной поддержкой HackRF и GNU Radio. Загрузите последний ISO-образ Pentoo с одного из зеркал, ссылки на них можно найти на сайте pentoo.ch [4]. После этого запишите образ .iso на DVD, или используйте утилиту UNetbootin для установки .iso на флешку USB. Загрузите свой компьютер с помощью DVD или флешки USB для запуска Pentoo. Сделайте это традиционно, без виртуальной машины (к сожалению, высокая скорость шины USB недоступна, кода люди пытаются запустить HackRF на виртуальной машине).

Как только Pentoo запустится, Вы немедленно сможете обновить firmware своего приемника HackRF, или использовать утилиты командной строки HackRF. Пошаговую демонстрацию см. в SDR with HackRF, Lesson 5: HackRF One [6].

Чтобы проверить, обнаружено ли Ваше устройство HackRF, введите hackrf_info в командной строке. Результат выполнения этой команды должен вывести несколько строк, где должен быть текст "Found HackRF board". Должны зажечься все разноцветные светодиоды 3V3, 1V8, RF и USB.

HackRF One Left view

Вы можете ввести в командной строке startx, чтобы запустить графический рабочий стол Pentoo. В первом диалоговом окне примите "default config" (конфигурация по умолчанию). Рабочий стол полезен для программы GNU Radio Companion и других графических приложений, однако это не требуется для базовых операций, таких как обновление firmware.

Теперь Вы можете использовать такие программы, как gnuradio-companion или gqrx, чтобы начать экспериментировать с HackRF. Попробуйте примеры, описанные ниже. Если Вы новичок с GNU Radio, то лучше всего начать с просмотра обучающих видео [1] (в русском переводе [2]).

Альтернатива: GNU Radio Live SDR Environment. Это другой прекрасный загружаемый Linux .iso [7] с поддержкой HackRF и, конечно, GNU Radio.

[Установка и настройка ПО]

Как уже упоминалось, самый лучший метод быстрого старта - использование Pentoo Linux. Но иногда Вы можете захотеть установить ПО для HackRF в своей любимой операционной системе (здесь пойдет речь о других вариантах Linux).

Если Ваш менеджер пакетов включает самый последний релиз libhackrf и gr-osmosdr, то используйте их для установки пакетов в дополнение к GNU Radio. Еще один рекомендованный способ - проделать установку этого инструментария с помощью PyBOMBS [8]. Также см. страничку подсказок по установке [9] ПО HackRF на определенных операционных системах и дистрибутивах Linux.

Если что-то пошло не так, то убедитесь, что Ваша система работает, с помощью загрузки в Pentoo. Это позволит быстро определить источник проблем - в аппаратуре или в ПО, и покажет, как должно работать ПО вместе с аппаратурой.

[Тестирование HackRF]

1. Подключите HackRF к порту USB.

2. Запустите команду hackrf_info:

$ hackrf_info

Если все в порядке, то на экране консоли появится примерно такой текст:

hackrf_info version: 2017.02.1
libhackrf version: 2017.02.1 (0.5)
Found HackRF
Index: 0
Serial number: 0000000000000000################
Board ID Number: 2 (HackRF One)
Firmware Version: 2017.02.1 (API:1.02)
Part ID Number: 0x######## 0x########

[Радиоприем станций FM]

Этот пример получен на основе следующих рабочих источников:

Создание приемника FM на RTL-SDR с помощью GNU Radio Companion (перевод инструкции с сайта instructables.com).
• How To Build an FM Receiver with the USRP in Less Than 10 Minutes site:youtube.com.

1. Загрузите скрипт FM Radio Receiver на языке Python.

2. Запустите этот скрипт:

$ python ./fm_radio_rx.py

3. Соответствующий исходный GRC-файл с аналогичным функционалом для GNU Radio Companion. 

[Где получить помощь?]

Сначала попробуйте найти решение своей проблемы в списке FAQ [10], или ответ на вопрос есть в архивах списков рассылки [11].

Помощь в процессе обычного использования HackRF или при разработке ПО ищите на страничке решения проблем HackRF [12]. Это самое лучшее место, где можно задать вопрос, и где другие пользователи могут воспользоваться Вашим решением вопроса в будущем.

Если Вам больше нравится электронная почта, то вместо этого можете использовать список рассылки HackRF-dev [13]. Можете просмотреть старые архивы [11] для прошлых обсуждений.

Множество пользователей проводит время в IRC-канале #hackrf на freenode [14]. Канал IRC является великолепным местом для совместного обучения, но это не самое лучшее место для запроса поддержки.

[Ссылки]

1. Getting Started with HackRF and GNU Radio site:github.com.
2. Software Defined Radio with HackRF site:greatscottgadgets.com.
3. SDR с HackRF. Урок 1 - Добро пожаловать. Майкл Осман site:youtube.com.
4. Pentoo DOWNLOADS site:pentoo.ch.
5. UNetbootin site:unetbootin.github.io.
6. Software Defined Radio with HackRF, Lesson 5 site:greatscottgadgets.com.
7. GNU Radio Live SDR Environment site:wiki.gnuradio.org.
8. Python Build Overlay Managed Bundle System site:github.com.
9. HackRF Operating System Tips site:github.com.
10. HackRF FAQ site:github.com.
11. The HackRF-dev Archives site:pairlist9.pair.net.
12. HackRF Issues site:github.com.
13. HackRF-dev mailing list site:pairlist9.pair.net.
14. Connect to freenode IRC site:webchat.freenode.net.
15. Блог GNUradio site:my-gnuradio.org.
16GNU Radio Companion.
17GNU Radio, краткий справочник.