SlideShare a Scribd company logo
©SIProp Project, 2006-2017 1
完全自立型Raspberry Pi地上局
今村謙之(JI1SZP)
noritsuna@siprop.org
©SIProp Project, 2006-2018 2
参考資料
下記の資料を事前にお読みください
この資料はその拡張版となります。
5000円の予算で衛星無線の受信設備を整える
CWによる衛星のビーコンの受信
衛星の状態を取得できる
衛星の太陽光電圧の値
衛星のバッテリー電圧の値
衛星の加速度センサーの値
衛星の温度の値
https://www.slideshare.net/noritsuna/5000-
77691748
©SIProp Project, 2006-2018 3
ラズパイ+PCによるリモート受信
Raspberry Pi
RTL-SDR
(ソフトウェア
無線機)
窓サッシ用
ケーブル
Wi-Fi接続
SDR
ソフトウェア
防雨ケース
©SIProp Project, 2006-2018 4
参考資料で解説した機材
©SIProp Project, 2006-2018 5
基本機材
SDR
RTL-SDR
http://www.rtl-
sdr.com/buy-rtl-sdr-dvb-
t-dongles/
アンテナ
Empire アンテナ
144/430MHz
http://amzn.asia/5QqaVSN
プリアンプ(LNA)
HiLetgo 0.1-2000MHz RF
広帯域アンプ
http://amzn.asia/cv99WM
W
メインPC
Raspberry Pi 3
http://amzn.asia/iQhJ
12f
防雨ケース
ウォルボックスシリー
ズ:WB-11DHM
http://amzn.asia/i0i96
NC
©SIProp Project, 2006-2018 6
太陽光発電機材
12W太陽電池
太陽電池モジュール
12W SY-M12W
-12
http://akizukidenshi.com/
catalog/g/gM-08233/
12V/6Ah鉛蓄電池
完全密封型鉛蓄電池
12V7.2Ah LONG
製 WP7.2-12
http://akizukidenshi.com/
catalog/g/gB-04961/
太陽電池充放電コン
トローラ
太陽電池充放電コント
ローラ SolarAmp
B (12V10A)
http://akizukidenshi.com/
catalog/g/gM-06606/
12V->5V /3A出力
DCDCコンバータ
OKL-T/6-W12
N-C使用 小型高効
率DCDCコンバーター
可変電源キット(降圧)
http://akizukidenshi.com/
catalog/g/gK-07728/
©SIProp Project, 2006-2018 7
WAN通信機材
3G/LTEドングル
docomo L-03D
https://www.nttdocomo.co.jp/support/trouble/data/l03d/
データSIM
So-net 0SIM
http://mobile.nuro.jp/0sim/
©SIProp Project, 2006-2018 8
目次
完全自立型Raspberry Pi地上局
構成
電源スペック計算
セットアップ
Raspberry Pi
GNU Radio
Gqrx
OSイメージの使い方
©SIProp Project, 2006-2018 9
完全自立型Raspberry Pi地上局とは?
Raspberry Piに衛星地上局に必要な機能と発電
機、WAN通信機能までを一式搭載し、単体で動
作可能な地上局
特徴
ベランダなどにも設置できる省スペースサイズ
防雨ケースに入れれば、屋外にも対応可能
通信を無線化できるため、リモートでの操作が可能
3G/LTEドングルを使えば、遠隔地からも操作可能
省電力であるため、太陽電池のみで動作し、ケーブルレスで
設置可能
太陽光さえ当たれば、どこにでも設置可能
SDR+GNU Radioなどの構成により、プログラマブルな衛星受
信が可能
全自動での衛星受信が可能
送信も理論的に可能であるが、電波法的にいろいろと制限があ
るため、きちんと調査の上ご利用ください
©SIProp Project, 2006-2018 10
構成内容
メインPC
Raspberry Pi 3
小型で省電力
無線機
RTL-SDR
小型で安価
GNU Radio
Pythonによるプログラ
ミングが可能
電源
太陽電池+鉛蓄電池
本システムであれば十
分に電力供給が可能
外部電源不要!
通信
Wi-Fi
庭やベランダであれば
十分
3G/LTE回線
遠隔地に設置する場
合は必須
通信料&消費電力が
高いのが問題点
操作
VNC
リモート操作可能
©SIProp Project, 2006-2018 11
完成図(太陽電池&3G/LTEあり)
18W太陽電池
ロッドアンテナ
DCDC
コンバータ
太陽電池充
放電コント
ローラ
鉛蓄電池RTL-SDR
LNA
防雨ケース
(鉛蓄電池を収納
するなら大型利用)
Raspberry Pi 3
3G/LTEドングル
©SIProp Project, 2006-2018 12
GNU Radioベースの受信アプリ
指定された衛星の電波を、指定時刻に、指定さ
れた周波数+ドップラーシフトでSDRを起動して、
受信するアプリ
スペック
SDRにより周波数はなど自在に設定できる
ネットから衛星の軌道リストを取得する
起動時刻を設定する
受信したIQデータを保存する
これらにより、自動での受信が可能となる
©SIProp Project, 2006-2018 13
必要な電源スペック
©SIProp Project, 2006-2018 14
ソフトウェアでできる省電力化
USB OFF = 0.5W減 (「0」→「1」で電源ON)
HDMI OFF = 0.1W減
POWER SAVE = 0.02W減
1. sudo apt install libusb-dev
2. wget http://www.gniibe.org/oitoite/ac-power-control-by-
USB-hub/hub-ctrl.c
3. gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static
4. sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl
5. sudo hub-ctrl -h 0 -P 2 -p 0
1. /opt/vc/bin/tvservice --off
1. echo "powersave"| sudo tee
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
©SIProp Project, 2006-2018 15
電源スペック
消費電力
待機時:2.0W
GNU Radio使用時:5.0W
Gqrx使用時:5.2W
WiFi接続時:4.5W
3G/LTE接続時:+2.5W
ファン:+0.2~0.5W
1日に必要なバッテリ
待機:22h、利用:2h
=44Wh + 11Wh =55Wh/d
充電・DCDCロス=20%
=66Wh
一日の充電可能時間
必要十分条件の機材
12W太陽電池
http://akizukidenshi.com/
catalog/g/gM-08233/
12V/6Ah鉛蓄電池
http://akizukidenshi.com/
catalog/g/gB-04961/
太陽電池充放電コント
ローラ
http://akizukidenshi.com/
catalog/g/gM-06606/
12V->5V /3A出力
DCDCコンバータ
http://akizukidenshi.com/
catalog/g/gK-07728/
©SIProp Project, 2006-2018 16
Raspberry Piのセットアップ
©SIProp Project, 2006-2018 17
Raspbianのセットアップ
セットアップ対象のLinux
「RASPBIAN xxx」
Debianをベースに作られたRaspberry Pi用Linuxディストリ
ビューション
Linuxディストリビューションとは、Linux KernelにモダンなOSとし
て必要なソフトウェアをパッケージングしたもの
OSイメージとして、公開されている
https://www.raspberrypi.org/downloads/raspbian/
「xxx」は、メジャーバージョンの名称。2年ごとに改訂
2012年版・・・Squeeze
2015年版・・・Jessie
2017年版・・・Stretch
©SIProp Project, 2006-2018 18
OSイメージをSDカードに焼く 1/2
「焼く」とは?
OSイメージのセクター情報などをそのままにSDカード
にコピーする操作のこと
Linuxではdd(disk dump)というツールで行う
Windows用焼きこみツール
DD for windows
http://www.si-
linux.co.jp/techinfo/index.php?DD%20for%20Windows
ダウンロードしたOSイメージ
[日付]-raspbian-xxx.img
©SIProp Project, 2006-2018 19
OSイメージをSDカードに焼く 2/2
DD for Windowsの使い方
1. 「DDwin.exe」を「管理者として実
行」する
2. 「ディスク選択」でSDカードを選
択する
3. 「ファイル選択」でOSイメージファ
イルを選択する
4. 「<<書込<<」を実行する
©SIProp Project, 2006-2018 20
Raspbianを起動する
1. OSイメージを焼いたSDカードを、Raspberry Pi
に刺す
2. LANケーブルを接続する
3. USBキーボード&マウスを接続する
4. HDMIケーブルでHDMIディスプレイと接続する
5. USBコネクタタイプのACアダプタを接続する
• 電源スイッチなどはなく接続すると電源がOnになる
• 起動したら、ログインする
• ユーザ名:pi
• パスワード:raspberry
©SIProp Project, 2006-2018 21
raspi-configでRaspbianの設定をする
「raspi-config」
Raspbian特有のハードウェアやソフトウェア用の設定
ツール
設定項目
©SIProp Project, 2006-2018 22
raspi-configでRaspbianの設定をする
「raspi-config」を実行する
読み方
pi@host
ログインしているユーザ名@ホスト名
:~
セパレータ
$
ユーザの状態
$・・・一般ユーザ
#・・・スーパーユーザ(root)
これ以降
実際に入力するコマンド
1. sudo raspi-config
©SIProp Project, 2006-2018 23
raspi-configでRaspbianの設定をする
ユーザのパスワードを変更する
初期状態
ユーザ名:pi
パスワード:raspberry
設定方法
「1 Change User Password」
©SIProp Project, 2006-2018 24
raspi-configでRaspbianの設定をする
ホスト名(PC名)を変更する
初期状態
ホスト名:raspberrypi
設定方法
「2 Hostname」
©SIProp Project, 2006-2018 25
raspi-configでRaspbianの設定をする
言語設定を変更する
初期状態
us_GB.UTF-8
設定方法
「4 Localisation Options」 -> 「I1 Change Locale」 ->
「ja_JP.UTF-8」
©SIProp Project, 2006-2018 26
raspi-configでRaspbianの設定をする
時刻設定を変更する
初期状態
GMT(グリニッジ標準時間)
設定方法
「4 Localisation Options」 -> 「I2 Change Timezone」 -
> 「Asia」 -> 「Tokyo」(JST:日本標準時間)
©SIProp Project, 2006-2018 27
raspi-configでRaspbianの設定をする
SDカードの拡張を行う
初期状態では、2GBしかディスクが使用できない
全てのディスク領域を使用可能にする
設定方法
「7 Advanced Options」 -> 「A1 Expand Filesystem」
©SIProp Project, 2006-2018 28
NTP
©SIProp Project, 2006-2018 29
NTP(Network Time Protocol)を設定する
Raspberry Piは、RTC(Real Time Clock)を持って
いないため、電源が切れると時計がリセットされ
る
ネットワークによる時刻同期を行う
NTPが一般的に使われる
NTPクライアントをインストールする
1. sudo apt install ntpdate
©SIProp Project, 2006-2018 30
NTP(Network Time Protocol)を設定する
毎時5分に定期実行する
最後の行に追加する
起動時に実行する
最後の行に追加する
1. 05 * * * * /usr/sbin/ntpdate ntp.nict.jp
1. /usr/sbin/ntpdate ntp.nict.jp
1. sudo crontab -e
1. sudo nano /etc/rc.local
©SIProp Project, 2006-2018 31
自動アップデート
©SIProp Project, 2006-2018 32
自動セキュリティーアップデート
世界的には毎日ようにセキュリティーホールが発
見され、毎週のようにセキュリティーパッチが公
開されている
サーバ管理者は、公開されたセキュリティーパッチを
当てないといけない
これらを自動で当てるようにする
インストール
1. sudo apt install unattended-upgrades
©SIProp Project, 2006-2018 33
自動セキュリティーアップデート
設定
/etc/apt/apt.conf.d/50unattended-upgrades
セキュリティーパッチのみを当てる
リブートが必要な場合、夜中の2時にリブートする
1. Unattended-Upgrade::Origins-Pattern {
2. "origin=Debian,codename=${distro_codename},label=Debian-Security";
3. };
4. Unattended-Upgrade::Automatic-Reboot "true";
5. Unattended-Upgrade::Automatic-Reboot-Time "02:00";
1. sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
©SIProp Project, 2006-2018 34
ログのRAMディスク化
©SIProp Project, 2006-2018 35
ログのRAMディスク化
SDカードは書き換え上限が低い。そこで余計な
書き込みをしないように設定を変更する
1. ログをRAMディスクに書き込むようにする
2. ext4のジャーナルログを無効にする
ログのRAMディスク化
/etc/fstab に下記を追加する
現在のログを削除する
1. tmpfs /tmp tmpfs defaults,size=8m,noatime,mode=1777 0 0
2. Tmpfs /var/tmp tmpfs defaults,size=4m,noatime,mode=1777 0 0
3. tmpfs /var/log tmpfs defaults,size=8m,noatime,mode=0755 0 0
1. sudo rm -fr /tmp
2. sudo rm -fr /var/tmp
©SIProp Project, 2006-2018 36
ログのRAMディスク化
起動時に必要なディレクトリを作成する
/etc/rc.local
1. mkdir -p /var/log/apt
2. mkdir -p /var/log/fsck
3. mkdir -p /var/log/ntpstats
4. mkdir -p /var/log/samba
5. chmod 750 /var/log/samba
6. chown ntp:ntp /var/log/ntpstats
7. chown root:adm /var/log/samba
8. touch /var/log/btmp
9. touch /var/log/lastlog
10. touch /var/log/wtmp
11. chmod 600 /var/log/btmp
12. chmod 664 /var/log/lastlog
13. chmod 664 /var/log/wtmp
14. chown root:utmp /var/log/btmp
15. chown root:utmp /var/log/lastlog
16. chown root:utmp /var/log/wtmp
©SIProp Project, 2006-2018 37
ext4のジャーナルログを無効化
システムでマウント済みの場合は、umountできな
いため、別システム上で行うこと
or
1. sudo umount /dev/mmcblk0p2
2. sudo tune2fs -O ^has_journal /dev/mmcblk0p2
1. sudo umount /dev/sda2
2. sudo tune2fs -O ^has_journal /dev/sda2
©SIProp Project, 2006-2018 38
省電力化
©SIProp Project, 2006-2018 39
ソフトウェアでできる省電力化
USB OFF = 0.5W減 (「0」→「1」で電源ON)
HDMI OFF = 0.1W減
POWER SAVE = 0.02W減
1. sudo apt install libusb-dev
2. wget http://www.gniibe.org/oitoite/ac-power-control-by-
USB-hub/hub-ctrl.c
3. gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static
4. sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl
5. sudo hub-ctrl -h 0 -P 2 -p 0
1. /opt/vc/bin/tvservice --off
1. echo "powersave"| sudo tee
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
©SIProp Project, 2006-2018 40
起動時に省電力モードにする
起動時の設定
内容
省電力モードをOffにする
1. @reboot /home/pi/savepower_on.sh
1. sudo crontab -e
1. sudo /home/pi/savepower_off.sh
©SIProp Project, 2006-2018 41
GNU Radio
©SIProp Project, 2006-2018 42
GNU Radioのセットアップ
1. 利用するSDRのドライバをセットアップする
2. GNU Radioをセットアップする
3. HDMIケーブルを接続する場合、音声がHDMI側
に出力される
1. イヤホンジャックから出力したい場合は下記のように
する。最後の数字、0=auto, 1=jack, 2=HDMI
1. sudo apt install rtl-sdr gr-osmosdr
1. sudo apt install gnuradio
1. amixer cset numid=3 1
©SIProp Project, 2006-2018 43
GNU Radioベースの受信アプリ
指定された衛星の電波を、指定時刻に、指定さ
れた周波数+ドップラーシフトでSDRを起動して、
受信するアプリ
現在、鋭意製作中
スペック
RTL-SDRを利用する
ネットから衛星の軌道リストを取得する
起動時刻を設定する
受信したIQデータを保存する
©SIProp Project, 2006-2018 44
使用例:FM受信をするレシピ
SDRブロック
Osmocom Source
を利用すること
audio.sinkブロック
device
plughw:0,1
©SIProp Project, 2006-2018 45
Gqrx
©SIProp Project, 2006-2018 46
Gqrx SDR for the Raspberry Pi
ウォーターフォール表示などができるソフト
http://gqrx.dk/download/gqrx-sdr-for-the-
raspberry-pi
©SIProp Project, 2006-2018 47
Gqrxのサポートデバイス
フルスペックにはRaspberry Pi 3が必須
©SIProp Project, 2006-2018 48
Gqrxのセットアップ
1. Gqrxをダウンロードする
1. http://gqrx.dk/download/gqrx-sdr-for-the-
raspberry-pi
2. 解凍して、必要なライブラリをインストールする
下記の操作はRaspberry Piで行う
1. tar Jxfv gqrx-2.9-linux-armv6.tar.xz
2. cd gqrx-2.9-linux-armv6
3. sudo apt install gnuradio libvolk1-bin libusb-1.0-0 gr-iqbal
4. sudo apt install qt5-default libqt5svg5 libportaudio2
5. sudo cp udev/rtl-sdr.rules /etc/udev/rules.d/
©SIProp Project, 2006-2018 49
3G/LTE接続
©SIProp Project, 2006-2018 50
3G/LTE接続
利用方法の想定
1. 受信したデータをサーバにアップロードするだけ
通常のデータSIMで必要な時だけ通信する設定でよい
2. リモートからメンテナンスなどの操作も行いたい
常時接続では消費電力が高すぎるので、ある時間帯のみ接
続を行うなどの運用が必要
例:毎日0時に10分間や毎時0分に5分間など
外部からの接続方法
1. グローバルIPによる直接接続
グローバルIPが割り振られるデータSIMが必要
• 固定IPではない場合、Dynamic DNSの設定が必要
2. VPNなどによる三角ルーティング接続
外部にVPNサーバなどを用意して、トンネルを張る
3. TeamViewerによる接続
個人利用であれば無料で利用可能
• https://www.teamviewer.com/
©SIProp Project, 2006-2018 51
設定内容
通信条件
TeamViewerによる外部接続
毎日0時に10分間のみ
データ転送はGNU Radio(python上のプログラム)で
都度ppp接続することにより行う
通信用デバイス:docomo L-03D
一番格安で情報量が多いドングル
問題点
BAND1にしか対応していない
USBポートの供給電力不足により接続が安定しない場合
1. 2017年以前のシステム場合、「max_usb_current=1」を
「/boot/config.txt」に書き込む
2. セルフパワーのUSBハブを導入
©SIProp Project, 2006-2018 52
CD-ROM機能の無効化
この手のドングルはたいていドライバなどが入っ
たCD-ROM機能を持っているので無効化する
最新Debianではいろいろなドングルが登録済み
Raspbianではまだだが近いうちに登録されると期待される
設定
/etc/udev/rules.d/40-usb_modeswitch.rules
/etc/usb_modeswitch.d/1004:6327
1. ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6327", MODE:="0666",
RUN+="usb_modeswitch '%b/%k'"
1. DefaultVendor= 0x1004
2. DefaultProduct=0x6327
3. TargetVendor= 0x1004
4. TargetProductList="6326"
5. MessageContent="55534243123456780000000000000aff554d534348470000000
00000000000"
©SIProp Project, 2006-2018 53
USBモデムとして認識させる
設定
/etc/udev/rules.d/50-l03d.rules
1. ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6326", MODE:="0666",
RUN+="/sbin/modprobe usbserial vendor=0x1004 product=0x6326"
©SIProp Project, 2006-2018 54
PPP接続の設定
一般的なwvdialを利用
1. sudo apt install usb-modeswitch wvdial
©SIProp Project, 2006-2018 55
設定例:So-net社 0SIM
設定
/etc/wvdial.conf
1. [Dialer Defaults]
2. Init1 = ATZ
3. Init2 = ATH
4. Init3 = AT+CGDCONT=2,"IP","so-net.jp"
5. Dial Attempts = 3
6. Stupid Mode = yes
7. Modem Type = Analog Modem
8. Dial Command = ATD
9. New PPPD = yes
10. APN = so-net.jp
11. Modem = /dev/ttyUSB2
12. Baud = 460800
13. ISDN = 0
14. Phone = *99***2#
15. Auto Reconnect = yes
16. Username = nuro
17. Password = nuro
18. Carrier Check = no
©SIProp Project, 2006-2018 56
pppネットワークインターフェースを追加
pppネットワークインターフェースを追加
/etc/network/interfaces.d/0sim
接続
切断
これらをcronで定時起動したり、プログラムから起動すること
により、任意のタイミングで通信が可能となる
ただし、コネクションが切れるわけではないので注意
切りたい場合はhub-ctrlで電源制御するとよい
省電力モードはoffにすること
1. sudo ifdown 0sim
1. sudo ifup 0sim
1. allow-hotplug 0sim
2. iface 0sim inet wvdial
©SIProp Project, 2006-2018 57
外部からの接続:TeamViewer
Raspberry Pi用「TeamViewer」
https://download.teamviewer.com/download/linux/te
amviewer-host_armhf.deb
設定
事前にTeamViewerアカウントを作成しておくこと
1. wget
https://download.teamviewer.com/download/linux/teamvie
wer-host_armhf.deb
2. sudo apt install ./teamviewer-host_armhf.deb
3. sudo teamviewer setup
©SIProp Project, 2006-2018 58
自動起動の設定をする 1/2
毎日0時0分に接続し、毎日0時10分に切断する
内容
3行目は、起動時に接続して、ntpで時刻を合わせるため
1. 0 0 * * * /home/pi/globalcon_on.sh
2. 10 0 * * * /home/pi/globalcon_off.sh
3. @reboot /home/pi/globalcon_init.sh
1. sudo crontab -e
©SIProp Project, 2006-2018 59
自動起動の設定をする 2/2
スクリプト
自動接続スクリプト(省電力モード制御込み)
/home/pi/globalcon_on.sh
/home/pi/globalcon_off.sh
1. #!/bin/sh
2. /home/pi/savepower_off.sh
3. sleep 20s
4. /sbin/ifup 0sim
5. sleep 10s
6. /sbin/route add default dev ppp0
7. /usr/sbin/ntpdate ntp.nict.jp
1. #!/bin/sh
2. /sbin/route del default dev ppp0
3. /sbin/ifdown 0sim
4. /home/pi/savepower_on.sh
5. sleep 1s
6. /home/pi/savepower_on.sh
©SIProp Project, 2006-2018 60
自動再起動の設定をする
状況により接続が切れてしまうため再接続する
再接続用スクリプト
/home/pi/globalcon_recon.sh
接続中は一分ごとに接続をチェックする
1. #!/bin/sh
2. isAlive=`ps -ef | grep " wvdial " | 
3. grep -v grep | wc -l`
4. if [ $isAlive = 1 ]; then
5. echo alive
6. else
7. echo die
8. /home/pi/globalcon_off.sh
9. /home/pi/globalcon_on.sh
10.fi
1. sudo crontab -e
1. 1,2,3,4,5,6,7,8,9 0 * * * /home/pi/globalcon_recon.sh
©SIProp Project, 2006-2018 61
セットアップ済みイメージについて
©SIProp Project, 2006-2018 62
セットアップ済みのイメージ
紹介したSDR系ソフトセットアップ済みのイメージ
1. http://www.noritsuna.jp/download/raspi-sdr_GS.zip
1. イメージ
1. 8GB以上microSDカード
2. IP(Wi-FiはSSIDを別途設定する必要がある)
1. DHCPによる自動取得
3. リモート操作
1. ローカルネットワーク用:VNC
2. グローバルネットワーク用:TeamViewer
1. アカウント未設定。「teamviewer setup」を実行すること
4. ログイン
1. User: pi , Password: raspberry
5. 省電力モード
1. /home/pi/savepower_[on|off].sh で制御
2. 起動時の設定(sudo crontab -e)はコメントアウト
1. USBマウスやHDMIが利用できなくなるため
©SIProp Project, 2006-2018 63
VNCでアクセスしてGNU Radioを使う例

More Related Content

What's hot (20)

PDF
Lagopus Router v19.07.1
Tomoya Hibi
 
PDF
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
 
PDF
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
 
PDF
Lagopusで試すFirewall
Tomoya Hibi
 
PPTX
ネットワークプログラマビリティ勉強会
Tomoya Hibi
 
PDF
Lagopus Project (Open Source Conference)
Tomoya Hibi
 
PDF
クラウドの組み立て方事始め H/W利用者としての事業者
Naoto MATSUMOTO
 
PPTX
自作仮想化基盤 「n0stack」の紹介
Takeshi Take
 
PPTX
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
 
PDF
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
 
PPTX
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
PPTX
2016-ShowNetステージ-モニタリング
Interop Tokyo ShowNet NOC Team
 
PDF
Shownet2017 report
Interop Tokyo ShowNet NOC Team
 
PPTX
FD.io VPP事始め
tetsusat
 
PDF
Getting Started with Jetson Nano
NVIDIA Japan
 
PPTX
2015-ShowNet-RPKI/PTP
Interop Tokyo ShowNet NOC Team
 
PPTX
Contrail overview open stack days tokyo-feb2015
Nachi Ueno
 
PDF
RabbitMQ can scale out!!(jp ops-workshop-3)
NTT Communications Technology Development
 
PPTX
2015-ShowNet-報告資料
Interop Tokyo ShowNet NOC Team
 
PDF
TPAC 2015 WebRTC WG 最新レポート
NTT Communications Technology Development
 
Lagopus Router v19.07.1
Tomoya Hibi
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Tomoya Hibi
 
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
 
Lagopusで試すFirewall
Tomoya Hibi
 
ネットワークプログラマビリティ勉強会
Tomoya Hibi
 
Lagopus Project (Open Source Conference)
Tomoya Hibi
 
クラウドの組み立て方事始め H/W利用者としての事業者
Naoto MATSUMOTO
 
自作仮想化基盤 「n0stack」の紹介
Takeshi Take
 
Lagopus workshop@Internet weekのそば
Yoshihiro Nakajima
 
Lagopus & NFV with Vhost (Tremaday#9)
Tomoya Hibi
 
Project calico introduction - OpenStack最新情報セミナー 2017年7月
VirtualTech Japan Inc.
 
2016-ShowNetステージ-モニタリング
Interop Tokyo ShowNet NOC Team
 
Shownet2017 report
Interop Tokyo ShowNet NOC Team
 
FD.io VPP事始め
tetsusat
 
Getting Started with Jetson Nano
NVIDIA Japan
 
2015-ShowNet-RPKI/PTP
Interop Tokyo ShowNet NOC Team
 
Contrail overview open stack days tokyo-feb2015
Nachi Ueno
 
RabbitMQ can scale out!!(jp ops-workshop-3)
NTT Communications Technology Development
 
2015-ShowNet-報告資料
Interop Tokyo ShowNet NOC Team
 
TPAC 2015 WebRTC WG 最新レポート
NTT Communications Technology Development
 

Similar to Self‐Contained SDR Grand Station with Raspberry Pi 3 (20)

PDF
僕とヤフーと時々Teradata #prestodb
Yahoo!デベロッパーネットワーク
 
PDF
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
アシアル株式会社
 
PDF
osoljp 2011.08
@ otsuka752
 
PDF
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
 
PDF
20171206 d3 health_tech発表資料
dcubeio
 
PDF
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Yahoo!デベロッパーネットワーク
 
PDF
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
 
PPTX
Openstack neutron vtjseminar_20160302
Takehiro Kudou
 
PDF
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
Kenichiro MATOHARA
 
PDF
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Yahoo!デベロッパーネットワーク
 
PDF
161027 net opscoding-junos-automation
Hiromi Tsukamoto
 
PDF
Participation report of data stax accelerate 2019
MKT-INTHEFOREST
 
PDF
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
catmoney
 
PDF
楽しく始めるRaspberry Pi、および最新動向(OSC 2014 Tokyo/Spring)
Hideki Aoshima
 
PDF
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
PDF
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
NetApp Japan
 
PPTX
Container Networking Deep Dive
Hirofumi Ichihara
 
PDF
Bird in show_net
Tomoya Hibi
 
PDF
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
PPTX
Raspberry PiとWatsonで 音リモコンを開発
nodered_ug_jp
 
僕とヤフーと時々Teradata #prestodb
Yahoo!デベロッパーネットワーク
 
【アシアル塾】Linux超入門編・第二回 仮想サーバー上にLAMP環境を構築してみよう
アシアル株式会社
 
osoljp 2011.08
@ otsuka752
 
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
 
20171206 d3 health_tech発表資料
dcubeio
 
Hadoop-3.2.0の新機能の紹介とJava9+対応のコミュニティ動向
Yahoo!デベロッパーネットワーク
 
Big Raspberry JAM TOKYO 2013 Hardware
Hideki Aoshima
 
Openstack neutron vtjseminar_20160302
Takehiro Kudou
 
技適なBluetooth GNSS/GPSレシーバーをRaspberryPiで作りたい
Kenichiro MATOHARA
 
Apache Hadoop HDFSの最新機能の紹介(2018)#dbts2018
Yahoo!デベロッパーネットワーク
 
161027 net opscoding-junos-automation
Hiromi Tsukamoto
 
Participation report of data stax accelerate 2019
MKT-INTHEFOREST
 
SIerによるSIerのためのRaspberry Pi 入門4 (タイムラプス、Lチカ)
catmoney
 
楽しく始めるRaspberry Pi、および最新動向(OSC 2014 Tokyo/Spring)
Hideki Aoshima
 
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
Yahoo!デベロッパーネットワーク
 
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
NetApp Japan
 
Container Networking Deep Dive
Hirofumi Ichihara
 
Bird in show_net
Tomoya Hibi
 
知っているようで知らないNeutron -仮想ルータの冗長と分散- - OpenStack最新情報セミナー 2016年3月
VirtualTech Japan Inc.
 
Raspberry PiとWatsonで 音リモコンを開発
nodered_ug_jp
 
Ad

More from Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院) (20)

PPTX
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
The world of open source semiconductors has arrived
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
半導体製造(TinyTapeout)に挑戦しよう!
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
Kernel/VMレイヤーを自分色に染める!By ISHI会
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
Principle Representation of The 8 Qubits Quantum Computer by RaspberryPi
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
衛星追尾用パラボラアンテナ建設記
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
PPTX
All list of the measuring machines for microwave
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
オープンソース界隈の利用者や技術者から見たオープンソースEDAとは? What is open source EDA from the perspecti...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
ラズパイを使って作品を作ったらラズパイコンテストでKSY賞を貰って、さらに、文化庁メディア芸術祭で審査員推薦作品に選ばれてしまった件〜自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
What is the world where you can make your own semiconductors?
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
Kernel/VMレイヤーを自分色に染める!By ISHI会
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
Principle Representation of The 8 Qubits Quantum Computer by RaspberryPi
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
The Self-Contained SDR Satellite Grand Station with Raspberry Pi 3
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
 
Ad

Recently uploaded (9)

PPTX
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
PDF
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
PPTX
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
PDF
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
PDF
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
PDF
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
PDF
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
PDF
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
PDF
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 
2025_7_25_吉祥寺_設計ナイト_ADR運用におけるデータ利活用の考え方.pptx
ssuserfcafd1
 
第三世代 ウェザーステーションキット v3 ー WSC3-L 日本語カタログ
CRI Japan, Inc.
 
baserCMS『カスタムコンテンツ』徹底活用術〜あなただけの管理画面を自由自在に〜
Ryuji Egashira
 
【学会聴講報告】CVPR2025からみるVision最先端トレンド / CVPR2025 report
Sony - Neural Network Libraries
 
TaketoFujikawa_ComicComputing12th_inKumamoto
Matsushita Laboratory
 
MahiroYoshida_セリフに着目したキャラクタロール推定に関する基礎検討_sigcc12th2025
Matsushita Laboratory
 
VMUG Japan book vsan 20250515 CPU/Memory vSAN
Kazuhiro Sota
 
LoRaWAN ウェザーステーションキット v3 -WSC3-L 日本語ユーザーマニュアル
CRI Japan, Inc.
 
20250726_Devinで変えるエンプラシステム開発の未来
Masaki Yamakawa
 

Self‐Contained SDR Grand Station with Raspberry Pi 3

  • 1. ©SIProp Project, 2006-2017 1 完全自立型Raspberry Pi地上局 今村謙之(JI1SZP) [email protected]
  • 2. ©SIProp Project, 2006-2018 2 参考資料 下記の資料を事前にお読みください この資料はその拡張版となります。 5000円の予算で衛星無線の受信設備を整える CWによる衛星のビーコンの受信 衛星の状態を取得できる 衛星の太陽光電圧の値 衛星のバッテリー電圧の値 衛星の加速度センサーの値 衛星の温度の値 https://www.slideshare.net/noritsuna/5000- 77691748
  • 3. ©SIProp Project, 2006-2018 3 ラズパイ+PCによるリモート受信 Raspberry Pi RTL-SDR (ソフトウェア 無線機) 窓サッシ用 ケーブル Wi-Fi接続 SDR ソフトウェア 防雨ケース
  • 4. ©SIProp Project, 2006-2018 4 参考資料で解説した機材
  • 5. ©SIProp Project, 2006-2018 5 基本機材 SDR RTL-SDR http://www.rtl- sdr.com/buy-rtl-sdr-dvb- t-dongles/ アンテナ Empire アンテナ 144/430MHz http://amzn.asia/5QqaVSN プリアンプ(LNA) HiLetgo 0.1-2000MHz RF 広帯域アンプ http://amzn.asia/cv99WM W メインPC Raspberry Pi 3 http://amzn.asia/iQhJ 12f 防雨ケース ウォルボックスシリー ズ:WB-11DHM http://amzn.asia/i0i96 NC
  • 6. ©SIProp Project, 2006-2018 6 太陽光発電機材 12W太陽電池 太陽電池モジュール 12W SY-M12W -12 http://akizukidenshi.com/ catalog/g/gM-08233/ 12V/6Ah鉛蓄電池 完全密封型鉛蓄電池 12V7.2Ah LONG 製 WP7.2-12 http://akizukidenshi.com/ catalog/g/gB-04961/ 太陽電池充放電コン トローラ 太陽電池充放電コント ローラ SolarAmp B (12V10A) http://akizukidenshi.com/ catalog/g/gM-06606/ 12V->5V /3A出力 DCDCコンバータ OKL-T/6-W12 N-C使用 小型高効 率DCDCコンバーター 可変電源キット(降圧) http://akizukidenshi.com/ catalog/g/gK-07728/
  • 7. ©SIProp Project, 2006-2018 7 WAN通信機材 3G/LTEドングル docomo L-03D https://www.nttdocomo.co.jp/support/trouble/data/l03d/ データSIM So-net 0SIM http://mobile.nuro.jp/0sim/
  • 8. ©SIProp Project, 2006-2018 8 目次 完全自立型Raspberry Pi地上局 構成 電源スペック計算 セットアップ Raspberry Pi GNU Radio Gqrx OSイメージの使い方
  • 9. ©SIProp Project, 2006-2018 9 完全自立型Raspberry Pi地上局とは? Raspberry Piに衛星地上局に必要な機能と発電 機、WAN通信機能までを一式搭載し、単体で動 作可能な地上局 特徴 ベランダなどにも設置できる省スペースサイズ 防雨ケースに入れれば、屋外にも対応可能 通信を無線化できるため、リモートでの操作が可能 3G/LTEドングルを使えば、遠隔地からも操作可能 省電力であるため、太陽電池のみで動作し、ケーブルレスで 設置可能 太陽光さえ当たれば、どこにでも設置可能 SDR+GNU Radioなどの構成により、プログラマブルな衛星受 信が可能 全自動での衛星受信が可能 送信も理論的に可能であるが、電波法的にいろいろと制限があ るため、きちんと調査の上ご利用ください
  • 10. ©SIProp Project, 2006-2018 10 構成内容 メインPC Raspberry Pi 3 小型で省電力 無線機 RTL-SDR 小型で安価 GNU Radio Pythonによるプログラ ミングが可能 電源 太陽電池+鉛蓄電池 本システムであれば十 分に電力供給が可能 外部電源不要! 通信 Wi-Fi 庭やベランダであれば 十分 3G/LTE回線 遠隔地に設置する場 合は必須 通信料&消費電力が 高いのが問題点 操作 VNC リモート操作可能
  • 11. ©SIProp Project, 2006-2018 11 完成図(太陽電池&3G/LTEあり) 18W太陽電池 ロッドアンテナ DCDC コンバータ 太陽電池充 放電コント ローラ 鉛蓄電池RTL-SDR LNA 防雨ケース (鉛蓄電池を収納 するなら大型利用) Raspberry Pi 3 3G/LTEドングル
  • 12. ©SIProp Project, 2006-2018 12 GNU Radioベースの受信アプリ 指定された衛星の電波を、指定時刻に、指定さ れた周波数+ドップラーシフトでSDRを起動して、 受信するアプリ スペック SDRにより周波数はなど自在に設定できる ネットから衛星の軌道リストを取得する 起動時刻を設定する 受信したIQデータを保存する これらにより、自動での受信が可能となる
  • 13. ©SIProp Project, 2006-2018 13 必要な電源スペック
  • 14. ©SIProp Project, 2006-2018 14 ソフトウェアでできる省電力化 USB OFF = 0.5W減 (「0」→「1」で電源ON) HDMI OFF = 0.1W減 POWER SAVE = 0.02W減 1. sudo apt install libusb-dev 2. wget http://www.gniibe.org/oitoite/ac-power-control-by- USB-hub/hub-ctrl.c 3. gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static 4. sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl 5. sudo hub-ctrl -h 0 -P 2 -p 0 1. /opt/vc/bin/tvservice --off 1. echo "powersave"| sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  • 15. ©SIProp Project, 2006-2018 15 電源スペック 消費電力 待機時:2.0W GNU Radio使用時:5.0W Gqrx使用時:5.2W WiFi接続時:4.5W 3G/LTE接続時:+2.5W ファン:+0.2~0.5W 1日に必要なバッテリ 待機:22h、利用:2h =44Wh + 11Wh =55Wh/d 充電・DCDCロス=20% =66Wh 一日の充電可能時間 必要十分条件の機材 12W太陽電池 http://akizukidenshi.com/ catalog/g/gM-08233/ 12V/6Ah鉛蓄電池 http://akizukidenshi.com/ catalog/g/gB-04961/ 太陽電池充放電コント ローラ http://akizukidenshi.com/ catalog/g/gM-06606/ 12V->5V /3A出力 DCDCコンバータ http://akizukidenshi.com/ catalog/g/gK-07728/
  • 16. ©SIProp Project, 2006-2018 16 Raspberry Piのセットアップ
  • 17. ©SIProp Project, 2006-2018 17 Raspbianのセットアップ セットアップ対象のLinux 「RASPBIAN xxx」 Debianをベースに作られたRaspberry Pi用Linuxディストリ ビューション Linuxディストリビューションとは、Linux KernelにモダンなOSとし て必要なソフトウェアをパッケージングしたもの OSイメージとして、公開されている https://www.raspberrypi.org/downloads/raspbian/ 「xxx」は、メジャーバージョンの名称。2年ごとに改訂 2012年版・・・Squeeze 2015年版・・・Jessie 2017年版・・・Stretch
  • 18. ©SIProp Project, 2006-2018 18 OSイメージをSDカードに焼く 1/2 「焼く」とは? OSイメージのセクター情報などをそのままにSDカード にコピーする操作のこと Linuxではdd(disk dump)というツールで行う Windows用焼きこみツール DD for windows http://www.si- linux.co.jp/techinfo/index.php?DD%20for%20Windows ダウンロードしたOSイメージ [日付]-raspbian-xxx.img
  • 19. ©SIProp Project, 2006-2018 19 OSイメージをSDカードに焼く 2/2 DD for Windowsの使い方 1. 「DDwin.exe」を「管理者として実 行」する 2. 「ディスク選択」でSDカードを選 択する 3. 「ファイル選択」でOSイメージファ イルを選択する 4. 「<<書込<<」を実行する
  • 20. ©SIProp Project, 2006-2018 20 Raspbianを起動する 1. OSイメージを焼いたSDカードを、Raspberry Pi に刺す 2. LANケーブルを接続する 3. USBキーボード&マウスを接続する 4. HDMIケーブルでHDMIディスプレイと接続する 5. USBコネクタタイプのACアダプタを接続する • 電源スイッチなどはなく接続すると電源がOnになる • 起動したら、ログインする • ユーザ名:pi • パスワード:raspberry
  • 21. ©SIProp Project, 2006-2018 21 raspi-configでRaspbianの設定をする 「raspi-config」 Raspbian特有のハードウェアやソフトウェア用の設定 ツール 設定項目
  • 22. ©SIProp Project, 2006-2018 22 raspi-configでRaspbianの設定をする 「raspi-config」を実行する 読み方 pi@host ログインしているユーザ名@ホスト名 :~ セパレータ $ ユーザの状態 $・・・一般ユーザ #・・・スーパーユーザ(root) これ以降 実際に入力するコマンド 1. sudo raspi-config
  • 23. ©SIProp Project, 2006-2018 23 raspi-configでRaspbianの設定をする ユーザのパスワードを変更する 初期状態 ユーザ名:pi パスワード:raspberry 設定方法 「1 Change User Password」
  • 24. ©SIProp Project, 2006-2018 24 raspi-configでRaspbianの設定をする ホスト名(PC名)を変更する 初期状態 ホスト名:raspberrypi 設定方法 「2 Hostname」
  • 25. ©SIProp Project, 2006-2018 25 raspi-configでRaspbianの設定をする 言語設定を変更する 初期状態 us_GB.UTF-8 設定方法 「4 Localisation Options」 -> 「I1 Change Locale」 -> 「ja_JP.UTF-8」
  • 26. ©SIProp Project, 2006-2018 26 raspi-configでRaspbianの設定をする 時刻設定を変更する 初期状態 GMT(グリニッジ標準時間) 設定方法 「4 Localisation Options」 -> 「I2 Change Timezone」 - > 「Asia」 -> 「Tokyo」(JST:日本標準時間)
  • 27. ©SIProp Project, 2006-2018 27 raspi-configでRaspbianの設定をする SDカードの拡張を行う 初期状態では、2GBしかディスクが使用できない 全てのディスク領域を使用可能にする 設定方法 「7 Advanced Options」 -> 「A1 Expand Filesystem」
  • 29. ©SIProp Project, 2006-2018 29 NTP(Network Time Protocol)を設定する Raspberry Piは、RTC(Real Time Clock)を持って いないため、電源が切れると時計がリセットされ る ネットワークによる時刻同期を行う NTPが一般的に使われる NTPクライアントをインストールする 1. sudo apt install ntpdate
  • 30. ©SIProp Project, 2006-2018 30 NTP(Network Time Protocol)を設定する 毎時5分に定期実行する 最後の行に追加する 起動時に実行する 最後の行に追加する 1. 05 * * * * /usr/sbin/ntpdate ntp.nict.jp 1. /usr/sbin/ntpdate ntp.nict.jp 1. sudo crontab -e 1. sudo nano /etc/rc.local
  • 31. ©SIProp Project, 2006-2018 31 自動アップデート
  • 32. ©SIProp Project, 2006-2018 32 自動セキュリティーアップデート 世界的には毎日ようにセキュリティーホールが発 見され、毎週のようにセキュリティーパッチが公 開されている サーバ管理者は、公開されたセキュリティーパッチを 当てないといけない これらを自動で当てるようにする インストール 1. sudo apt install unattended-upgrades
  • 33. ©SIProp Project, 2006-2018 33 自動セキュリティーアップデート 設定 /etc/apt/apt.conf.d/50unattended-upgrades セキュリティーパッチのみを当てる リブートが必要な場合、夜中の2時にリブートする 1. Unattended-Upgrade::Origins-Pattern { 2. "origin=Debian,codename=${distro_codename},label=Debian-Security"; 3. }; 4. Unattended-Upgrade::Automatic-Reboot "true"; 5. Unattended-Upgrade::Automatic-Reboot-Time "02:00"; 1. sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
  • 34. ©SIProp Project, 2006-2018 34 ログのRAMディスク化
  • 35. ©SIProp Project, 2006-2018 35 ログのRAMディスク化 SDカードは書き換え上限が低い。そこで余計な 書き込みをしないように設定を変更する 1. ログをRAMディスクに書き込むようにする 2. ext4のジャーナルログを無効にする ログのRAMディスク化 /etc/fstab に下記を追加する 現在のログを削除する 1. tmpfs /tmp tmpfs defaults,size=8m,noatime,mode=1777 0 0 2. Tmpfs /var/tmp tmpfs defaults,size=4m,noatime,mode=1777 0 0 3. tmpfs /var/log tmpfs defaults,size=8m,noatime,mode=0755 0 0 1. sudo rm -fr /tmp 2. sudo rm -fr /var/tmp
  • 36. ©SIProp Project, 2006-2018 36 ログのRAMディスク化 起動時に必要なディレクトリを作成する /etc/rc.local 1. mkdir -p /var/log/apt 2. mkdir -p /var/log/fsck 3. mkdir -p /var/log/ntpstats 4. mkdir -p /var/log/samba 5. chmod 750 /var/log/samba 6. chown ntp:ntp /var/log/ntpstats 7. chown root:adm /var/log/samba 8. touch /var/log/btmp 9. touch /var/log/lastlog 10. touch /var/log/wtmp 11. chmod 600 /var/log/btmp 12. chmod 664 /var/log/lastlog 13. chmod 664 /var/log/wtmp 14. chown root:utmp /var/log/btmp 15. chown root:utmp /var/log/lastlog 16. chown root:utmp /var/log/wtmp
  • 37. ©SIProp Project, 2006-2018 37 ext4のジャーナルログを無効化 システムでマウント済みの場合は、umountできな いため、別システム上で行うこと or 1. sudo umount /dev/mmcblk0p2 2. sudo tune2fs -O ^has_journal /dev/mmcblk0p2 1. sudo umount /dev/sda2 2. sudo tune2fs -O ^has_journal /dev/sda2
  • 38. ©SIProp Project, 2006-2018 38 省電力化
  • 39. ©SIProp Project, 2006-2018 39 ソフトウェアでできる省電力化 USB OFF = 0.5W減 (「0」→「1」で電源ON) HDMI OFF = 0.1W減 POWER SAVE = 0.02W減 1. sudo apt install libusb-dev 2. wget http://www.gniibe.org/oitoite/ac-power-control-by- USB-hub/hub-ctrl.c 3. gcc -O2 hub-ctrl.c -o hub-ctrl-armhf-static -lusb -static 4. sudo cp hub-ctrl-armhf-static /usr/local/bin/hub-ctrl 5. sudo hub-ctrl -h 0 -P 2 -p 0 1. /opt/vc/bin/tvservice --off 1. echo "powersave"| sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
  • 40. ©SIProp Project, 2006-2018 40 起動時に省電力モードにする 起動時の設定 内容 省電力モードをOffにする 1. @reboot /home/pi/savepower_on.sh 1. sudo crontab -e 1. sudo /home/pi/savepower_off.sh
  • 42. ©SIProp Project, 2006-2018 42 GNU Radioのセットアップ 1. 利用するSDRのドライバをセットアップする 2. GNU Radioをセットアップする 3. HDMIケーブルを接続する場合、音声がHDMI側 に出力される 1. イヤホンジャックから出力したい場合は下記のように する。最後の数字、0=auto, 1=jack, 2=HDMI 1. sudo apt install rtl-sdr gr-osmosdr 1. sudo apt install gnuradio 1. amixer cset numid=3 1
  • 43. ©SIProp Project, 2006-2018 43 GNU Radioベースの受信アプリ 指定された衛星の電波を、指定時刻に、指定さ れた周波数+ドップラーシフトでSDRを起動して、 受信するアプリ 現在、鋭意製作中 スペック RTL-SDRを利用する ネットから衛星の軌道リストを取得する 起動時刻を設定する 受信したIQデータを保存する
  • 44. ©SIProp Project, 2006-2018 44 使用例:FM受信をするレシピ SDRブロック Osmocom Source を利用すること audio.sinkブロック device plughw:0,1
  • 46. ©SIProp Project, 2006-2018 46 Gqrx SDR for the Raspberry Pi ウォーターフォール表示などができるソフト http://gqrx.dk/download/gqrx-sdr-for-the- raspberry-pi
  • 47. ©SIProp Project, 2006-2018 47 Gqrxのサポートデバイス フルスペックにはRaspberry Pi 3が必須
  • 48. ©SIProp Project, 2006-2018 48 Gqrxのセットアップ 1. Gqrxをダウンロードする 1. http://gqrx.dk/download/gqrx-sdr-for-the- raspberry-pi 2. 解凍して、必要なライブラリをインストールする 下記の操作はRaspberry Piで行う 1. tar Jxfv gqrx-2.9-linux-armv6.tar.xz 2. cd gqrx-2.9-linux-armv6 3. sudo apt install gnuradio libvolk1-bin libusb-1.0-0 gr-iqbal 4. sudo apt install qt5-default libqt5svg5 libportaudio2 5. sudo cp udev/rtl-sdr.rules /etc/udev/rules.d/
  • 49. ©SIProp Project, 2006-2018 49 3G/LTE接続
  • 50. ©SIProp Project, 2006-2018 50 3G/LTE接続 利用方法の想定 1. 受信したデータをサーバにアップロードするだけ 通常のデータSIMで必要な時だけ通信する設定でよい 2. リモートからメンテナンスなどの操作も行いたい 常時接続では消費電力が高すぎるので、ある時間帯のみ接 続を行うなどの運用が必要 例:毎日0時に10分間や毎時0分に5分間など 外部からの接続方法 1. グローバルIPによる直接接続 グローバルIPが割り振られるデータSIMが必要 • 固定IPではない場合、Dynamic DNSの設定が必要 2. VPNなどによる三角ルーティング接続 外部にVPNサーバなどを用意して、トンネルを張る 3. TeamViewerによる接続 個人利用であれば無料で利用可能 • https://www.teamviewer.com/
  • 51. ©SIProp Project, 2006-2018 51 設定内容 通信条件 TeamViewerによる外部接続 毎日0時に10分間のみ データ転送はGNU Radio(python上のプログラム)で 都度ppp接続することにより行う 通信用デバイス:docomo L-03D 一番格安で情報量が多いドングル 問題点 BAND1にしか対応していない USBポートの供給電力不足により接続が安定しない場合 1. 2017年以前のシステム場合、「max_usb_current=1」を 「/boot/config.txt」に書き込む 2. セルフパワーのUSBハブを導入
  • 52. ©SIProp Project, 2006-2018 52 CD-ROM機能の無効化 この手のドングルはたいていドライバなどが入っ たCD-ROM機能を持っているので無効化する 最新Debianではいろいろなドングルが登録済み Raspbianではまだだが近いうちに登録されると期待される 設定 /etc/udev/rules.d/40-usb_modeswitch.rules /etc/usb_modeswitch.d/1004:6327 1. ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6327", MODE:="0666", RUN+="usb_modeswitch '%b/%k'" 1. DefaultVendor= 0x1004 2. DefaultProduct=0x6327 3. TargetVendor= 0x1004 4. TargetProductList="6326" 5. MessageContent="55534243123456780000000000000aff554d534348470000000 00000000000"
  • 53. ©SIProp Project, 2006-2018 53 USBモデムとして認識させる 設定 /etc/udev/rules.d/50-l03d.rules 1. ATTRS{idVendor}=="1004", ATTRS{idProduct}=="6326", MODE:="0666", RUN+="/sbin/modprobe usbserial vendor=0x1004 product=0x6326"
  • 54. ©SIProp Project, 2006-2018 54 PPP接続の設定 一般的なwvdialを利用 1. sudo apt install usb-modeswitch wvdial
  • 55. ©SIProp Project, 2006-2018 55 設定例:So-net社 0SIM 設定 /etc/wvdial.conf 1. [Dialer Defaults] 2. Init1 = ATZ 3. Init2 = ATH 4. Init3 = AT+CGDCONT=2,"IP","so-net.jp" 5. Dial Attempts = 3 6. Stupid Mode = yes 7. Modem Type = Analog Modem 8. Dial Command = ATD 9. New PPPD = yes 10. APN = so-net.jp 11. Modem = /dev/ttyUSB2 12. Baud = 460800 13. ISDN = 0 14. Phone = *99***2# 15. Auto Reconnect = yes 16. Username = nuro 17. Password = nuro 18. Carrier Check = no
  • 56. ©SIProp Project, 2006-2018 56 pppネットワークインターフェースを追加 pppネットワークインターフェースを追加 /etc/network/interfaces.d/0sim 接続 切断 これらをcronで定時起動したり、プログラムから起動すること により、任意のタイミングで通信が可能となる ただし、コネクションが切れるわけではないので注意 切りたい場合はhub-ctrlで電源制御するとよい 省電力モードはoffにすること 1. sudo ifdown 0sim 1. sudo ifup 0sim 1. allow-hotplug 0sim 2. iface 0sim inet wvdial
  • 57. ©SIProp Project, 2006-2018 57 外部からの接続:TeamViewer Raspberry Pi用「TeamViewer」 https://download.teamviewer.com/download/linux/te amviewer-host_armhf.deb 設定 事前にTeamViewerアカウントを作成しておくこと 1. wget https://download.teamviewer.com/download/linux/teamvie wer-host_armhf.deb 2. sudo apt install ./teamviewer-host_armhf.deb 3. sudo teamviewer setup
  • 58. ©SIProp Project, 2006-2018 58 自動起動の設定をする 1/2 毎日0時0分に接続し、毎日0時10分に切断する 内容 3行目は、起動時に接続して、ntpで時刻を合わせるため 1. 0 0 * * * /home/pi/globalcon_on.sh 2. 10 0 * * * /home/pi/globalcon_off.sh 3. @reboot /home/pi/globalcon_init.sh 1. sudo crontab -e
  • 59. ©SIProp Project, 2006-2018 59 自動起動の設定をする 2/2 スクリプト 自動接続スクリプト(省電力モード制御込み) /home/pi/globalcon_on.sh /home/pi/globalcon_off.sh 1. #!/bin/sh 2. /home/pi/savepower_off.sh 3. sleep 20s 4. /sbin/ifup 0sim 5. sleep 10s 6. /sbin/route add default dev ppp0 7. /usr/sbin/ntpdate ntp.nict.jp 1. #!/bin/sh 2. /sbin/route del default dev ppp0 3. /sbin/ifdown 0sim 4. /home/pi/savepower_on.sh 5. sleep 1s 6. /home/pi/savepower_on.sh
  • 60. ©SIProp Project, 2006-2018 60 自動再起動の設定をする 状況により接続が切れてしまうため再接続する 再接続用スクリプト /home/pi/globalcon_recon.sh 接続中は一分ごとに接続をチェックする 1. #!/bin/sh 2. isAlive=`ps -ef | grep " wvdial " | 3. grep -v grep | wc -l` 4. if [ $isAlive = 1 ]; then 5. echo alive 6. else 7. echo die 8. /home/pi/globalcon_off.sh 9. /home/pi/globalcon_on.sh 10.fi 1. sudo crontab -e 1. 1,2,3,4,5,6,7,8,9 0 * * * /home/pi/globalcon_recon.sh
  • 61. ©SIProp Project, 2006-2018 61 セットアップ済みイメージについて
  • 62. ©SIProp Project, 2006-2018 62 セットアップ済みのイメージ 紹介したSDR系ソフトセットアップ済みのイメージ 1. http://www.noritsuna.jp/download/raspi-sdr_GS.zip 1. イメージ 1. 8GB以上microSDカード 2. IP(Wi-FiはSSIDを別途設定する必要がある) 1. DHCPによる自動取得 3. リモート操作 1. ローカルネットワーク用:VNC 2. グローバルネットワーク用:TeamViewer 1. アカウント未設定。「teamviewer setup」を実行すること 4. ログイン 1. User: pi , Password: raspberry 5. 省電力モード 1. /home/pi/savepower_[on|off].sh で制御 2. 起動時の設定(sudo crontab -e)はコメントアウト 1. USBマウスやHDMIが利用できなくなるため
  • 63. ©SIProp Project, 2006-2018 63 VNCでアクセスしてGNU Radioを使う例