2017年12月9日土曜日

Raspberry Pi + SDRで流星雨の電波観測を試してみる

RTL-SDRをRaspberry Piと組み合わせてスペアナ表示など機能をフルに使用するとCPU稼働率が100%を超え音切れが発生したりアプリが異常終了してしまう現象がありました。

Raspberry Pi3では発生しない(しにくい)のですが、初期モデルであるRaspberry Pi model B,B+
では、顕著に発生します。

B,B+にRTL-SDRは不向きかと思い始めましたが良い方法を思いつきました。

それはRaspberry PiにUSB接続と、Wifi管理処理だけを行わせ、Qt(GUI)環境下でスペアナ表示のFFTや復調処理など重い処理をPCか、別のRaspberry Piにお任せすることのできるSDRサーバーともいえる構成でデータ転送には有線LANか無線LANを使用したTCP接続で行う方法です。

以下にその手順を示します。
ここでは、有線LAN、無線LANの接続の方法には触れませんがお持ちの環境下でRaspberry PiのLAN接続は済ませておいてください。
また、Port5900(UDP/TCP VNC)と Port 1234 (UDP/TCP VLC data stream)を使用します。ルータやファイアウォールなどこのポートをあけておいてください。

使い方を確認するためにヘルプを表示します。

pi@SDRPI0:~/gqrx-2.6-rpi2-2 $ rtl_tcp --help
rtl_tcp: invalid option -- '-'
rtl_tcp, an I/Q spectrum server for RTL2832 based DVB-T receivers

Usage:  [-a listen address]
        [-p listen port (default: 1234)]
        [-f frequency to tune to [Hz]]
        [-g gain (default: 0 for auto)]
        [-s samplerate in Hz (default: 2048000 Hz)]
        [-b number of buffers (default: 15, set by library)]
        [-n max number of linked list buffers to keep (default: 500)]
        [-d device index (default: 0)]
        [-P ppm_error (default: 0)]
pi@SDRPI0:~/gqrx-2.6-rpi2-2 $


ここで Raspberry Pi B+ で実行可能なサンプリング周波数は2.048MHzか1.4MHzで、defalt値の2048MHzだと判りました。
ということで2.048MHzを指定します。

gain は 0:自動
最大は29です。
ここでは 28を指定しています。


pi@SDRPI0:~/gqrx-2.6-rpi2-2 $rtl_tcp -a 0.0.0.0 -s 1024000 -g 28
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Tuned to 100000000 Hz.
listening...
Use the device argument 'rtl_tcp=0.0.0.0:1234' in OsmoSDR (gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency, gain, ...).
client accepted!
set sample rate 2048000
set freq correction 0
set freq 100005982
set agc mode 0
set gain mode 1
set tuner gain by index 0
set freq 743262
[R82XX] PLL not locked!
set freq 10743262
[R82XX] PLL not locked!
set freq 20743262
set freq 30743262
set freq 40743262
set freq 50743262
set freq 60743262
set freq 70743262
set freq 71743262
set freq 72743262
set freq 73743262
set freq 74743262
set freq 75743262
set freq 76743262
set freq 77743262
set freq 78743262
set freq 78843262

set tuner gain by index 28
set tuner gain by index 29


CPU 負荷は90と余裕がないですが何とか動いているといった感じになります。
地元コミュニティFMを受信してみました。






pi@SDRPI0:~ $ nano wakeupSDRPI.sh
pi@SDRPI0:~ $


cd /home/pi/
rtl_tcp -a 0.0.0.0 -s 1024000 -g 28

パーミッションを実行可能なファイルに変更します。
pi@SDRPI0:~ $chmod 744 wakeupSDRPI.sh





pi@SDRPI0:~ $ ls -l .
合計 9448
-rw-r--r-- 1 pi pi 1510065 12月 8 21:19 2017-12-08-211944_1824x984_scrot.png
-rw-r--r-- 1 pi pi 2067113 12月 9 19:26 2017-12-09-192602_1824x984_scrot.png
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Desktop
drwxr-xr-x 5 pi pi 4096 9月 8 00:45 Documents
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Downloads
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Music
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Pictures
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Public
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Templates
drwxr-xr-x 2 pi pi 4096 9月 8 01:13 Videos
drwxr-xr-x 5 pi pi 4096 12月 9 10:25 gqrx-2.6-rpi2-2
-rw-r--r-- 1 pi pi 6048888 5月 25 2017 gqrx-2.6-rpi2-2.tar.xz
drwxr-xr-x 2 pi pi 4096 9月 8 00:45 python_games
-rwxr--r-- 1 pi pi 50 12月 9 20:01 wakeupSDRPI.sh
pi@SDRPI0:~ $


wakeupSDRPI.sh

autostartファイルを編集します

pi@SDRPI0:~ $ nano ~/.config/lxsession/LXDE-pi/autostart
pi@SDRPI0:~ $



@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi

@/home/pi/wakeupSDRPI.sh



これで wakeupSDRPI.shがログイン起動時に自動実行されGQRXが自動起動することになります。






0 件のコメント:

コメントを投稿

気象計測センサーその12 汎用ソーラー充電式電源 ポール 

センサーとノードコントローラが完成したのですが、実際に野外/屋外に設置するとなると 風雨に耐える電装ボックスと電源を確保しなくてはなりません。 今回ご紹介するのは 屋外設置の容易な汎用のソーラーバッテリ付きポールで、固い地面には向きませんが耕作地など地面の柔らかい場所な...