So-net無料ブログ作成

Orange Pi ZeroでSDRサーバ [アマチュア無線]

orangepizero.png

USBワンセグドングルと組み合わせて、SDRサーバーにしてみました。
クライアントはWindowsPC上のSDR Sharpで、家の中ならどこでも受信できます。

セットアップ方法。

1. ArmbianをダウンロードしてMicroSDカードに書き込む

ここから取得します。
https://www.armbian.com/orange-pi-zero/
Debian Jessieを選択。
取得したファイルは7zipで圧縮されているので、7zipを解凍してimgを取り出す。
Win32DiskImageでMicroSDカードに書き込む。
SDカードは4GB以上で大丈夫だが、8GBがおすすめ。

2. Orange Pi Zeroにさして起動。
HDMIが無いので、UART(3pinのピンヘッダ 115200bps)でコンソール接続する。
ID:root、PW:1234でログインしてrooのパスワードを設定。
続いて一般ユーザを作成。
済んだら再起動させる。

3. OSのUpdate
LANに繋いでOSをアップデートする。
# apt-get update
# apt-get upgrade
# apt-get dist-upgrade
# apt-get clean
済んだら再起動させる。
ここからは一般ユーザで作業する。
私はpiというユーザーを作った。

4. USBチューナを挿して認識しているか確認
$ lsusb
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 002: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

BUS 002で認識している。
この「TL2832U DVB-T」をメモしておく。

5. RTL SDRのインストール
$ sudo apt-get install rtl-sdr

6. テストを実行する。
$ sudo rtl_test
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700

Using device 0: Generic RTL2832U

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.

認識しているがエラーしているので、設定ファイルに追記する。
$ sudo vi /etc/modprobe.d/rtl-sdr-blacklist.conf

次の文字列を1行追加して保存
blacklist dvb_usb_rtl2832u

一度再起動します。

7. 再度 テストを実行する。
$ sudo rtl_test
$ rtl_test
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700

Using device 0: Generic RTL2832U
Found Fitipower FC0013 tuner
Supported gain values (23): -9.9 -7.3 -6.5 -6.3 -6.0 -5.8 -5.4 5.8 6.1 6.3 6.5 6.7 6.8 7.0 7.1 17.9 18.1 18.2 18.4 18.6 18.8 19.1 19.7
Sampling at 2048000 S/s.

Info: This tool will continuously read from the device, and report if
samples get lost. If you observe no further output, everything is fine.

Reading samples in async mode...
lost at least 216 bytes

エラー無く使えるようになりました。

8. RTL-SDRサーバーを起動する
$ rtl_tcp -a 0.0.0.0

9. WindowsPCのSDR Sharpから接続する
SourceをRTL-SDR(TCP)を指定する
歯車マークをクリックして、HostにOrange Pi ZeroのIPアドレス、Portに1234を指定。
Sample Rateをとりあえず2.048 MSPSにして、メイン画面の|>をクリック。
先ほど設定したRTL-TCP SettingのRF Gainをセンターにする。
あとはモードや周波数を合わせると受信できる。


Orange Pi ZeroのCPUはかなり発熱します。
小さなヒートシンクをつけていても、RTL-SDRで受信中は70度近くになりました。
ヒートシンクなしだとオーバーヒートしてフリーズします。
また、下手するとCPUの真下にあるMicroSDが熱で壊れるようです。


nice!(1)  コメント(0) 
共通テーマ:日記・雑感