市販されているUSBワンセグチューナーをラズパイにつないで、FM電波を受信してみます。
SDR (Software Defined Radio)
SDR(Software Defined Radio)、ソフトウエアラジオとかで検索するといろいろ情報出てきます。
通常ラジカセとかについているラジオは電子回路とかアナログな仕組みを使って、受信電波を復調して出力してますが、これをデジタルで行うのがSDRです。
USBワンセグチューナーは、VHF~UHF帯(30MHz~3GHz)の電波をとれるらしくかなり広域です。
・航空無線 (VOR)
・FM放送
・地上波テレビジョン放送
・アマチュア無線
ここら辺の電波がとれるらしい。
環境
・Raspberry Pi 3
・Raspbian
・FM専用アンテナ
・RTL-SDR専用カスタムチューナー
↑
めちゃくちゃ発熱する。
温度で受信周波数がずれちゃうらしく、この商品はその対策が施されたカスタム製品。
それでもレビューに「ハンダが溶けた!」とか書いてあるし、24時間運用したいのでヒートシンクベタ付け。
そんなとこつけても意味ないよ!って部分がある気がするけど、とにかくあったかい部分にベタ付けする。
親指が深爪気味である。
さぁ、やってみよう!
1. SDRアプリケーション rtl-sdr を使えるようにする。
必要なパッケージのインストール
$ sudo apt-get install autoconf libtool libusb-1.0-0-dev
$ git clone git://git.osmocom.org/rtl-sdr.git
ビルドする
$ cd rtl-sdr
$ autoreconf -i
$ ./configure
$ make
インストール
$ sudo make install
$ sudo make install-udev-rules
$ sudo ldconfig
再起動
$ sudo reboot
これで使えると思いきやエラー出る
$ rtl_test
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.
デバイスがうんたらかんたらと。。。
他のUSBデバイスがいるとrtlsdrがエラーになっちゃう件
↑で解決しました。ありがとうございます。
2. 聴いてみる
# 80.0MHz TOKYO FM を聴いてみる
rtl_fm -f 80M -M fm -s 200000 -r 44100 | aplay -D plughw:0,0 -t raw -r 44100 -f S16_LE