HackRF OneはオープンソースのSDRプラットフォームで、ハード・ソフトの全ての設計情報がGitHub上に公開されている。
元々はGreat Scott Gadgetsというベンチャーがクラウドファンディングを募って始めた物らしい。
今回はこのHacRF Oneをセットアップして使えるようにしてみたので、記事にまとめる。
中国製の格安品をAliExpressで購入
HackRF One本体は日本では本家Great Scott Gadgets製の物が3〜4万円で売っているけれど、中国製なら格安で手に入る。そもそもハードもオープンソースなんだから格安品ってだけでニセモノとは言えないでしょう、という事でお約束のAliExpressにてケース付きで約1万円の物を購入。(この写真のセットは2020年秋頃は買えたけれど、現在はもう売っていないようだ)
外付けの高精度クロックのオプションも追加。
ケースに収めて付属のロッドアンテナをセット。手のひらサイズで見た目も悪くない。
ファームウエアの更新
ファームウエアの更新方法は、GitHub上のページに解説がある。
ファームウエアが古いとPCで正常に認識出来ない場合があるので、まずはファームウエアのインストールを行う。
ファームウエア書き込みツールのインストール
GitHubではファームウエア書き込みなどのツール類は基本的にソース提供でバイナリ配布しておらず、Windows環境だと少々面倒。Ubuntuであれば、一発インストール可能。
sudo apt install hackrf
本体へのファームウエア書き込み
ファームウエアのバイナリはGitHubで配布されているリリースパッケージに含まれている。
パッケージをダウンロードして展開しfirmware-bin/に置いてあるバイナリを焼けばOK。
cd firmware-bin/
hackrf_spiflash -w hackrf_one_usb.bin
書き込みは一瞬で終わってしまう。hackrf_infoを実行して、Firmware Versionの欄に焼いたファームウエアと同じバージョンが表示されれば成功だ。
$ hackrf_info
hackrf_info version: unknown
libhackrf version: unknown (0.5)
Found HackRF
Index: 0
Serial number: 00000000000000000888XXdc24a77XXX
Board ID Number: 2 (HackRF One)
Firmware Version: 2021.03.1 (API:1.04)
Part ID Number: 0xa000cb3c 0x0058475d
GNURadio用入出力ブロックのインストール
OsmoSDRはHacRF Oneとは別のSDRだが、GNURadio用入出力ブロックgr-osmosdrはRTL-SDRやHackRF Oneにも対応している。
こちらもソース配布が基本なのだが、Ubuntuであればバイナリインストール可能だ。
sudo apt install gr-osmosdr
…と簡単な筈が、自分のUbuntu18.04環境ではバイナリインストールだとうまく動作しなかったので、ソースからビルドを実行した。
まずはHackRF Oneの開発用ライブラリのインストール。
sudo apt install hackrf libhackrf-dev
osmosdrのリポジトリを持ってくる。
git clone git://git.osmocom.org/gr-osmosdr
cd gr-osmosdr/
インストール済みのGNURadioが現時点で最新のバージョン3.9の場合は上のコマンドだけでOK。手元のバージョンは3.8なので、以下のコマンドでバージョン3.8対応のソースを持ってくる。(3.7の場合はgit checkout gr3.7を実行する)
git checkout gr3.8
あとはビルド&インストールすればOK。
mkdir build
cd build/
cmake ../
make
sudo make install
FMラジオを動かしてみる
以前RTL-SDR(USBワンセグチューナ)で試した時と同様、FMラジオのフローグラフを動かしてみた。
設定はRTL-SDR Sourceのブロックをダブルクリックしてプロパティ画面を開き、”Device Arguments”に”hackrf=0″を指定する。他は基本的に以前の記事で作ったFMラジオのフローグラフと同じでOKだ。
まとめ
オープンソースSDRのHacRF Oneをセットアップして動かしてみた。今回はFMラジオを動かしただけだったけど、RTL-SDRより対応周波数が広く(1MHz〜6GHz)用途が広がりそうだ。
コメント