RaspberryPiで地球外知的生命体探査

提供: ディーズガレージ wiki
移動先: 案内検索
アレシボ天文台
グリーンバンク望遠鏡
パークス天文台 (CSIRO提供) https://ja.wikipedia.org/wiki/CSIRO
500メートル球面電波望遠鏡 http://fast.bao.ac.cn/en/
ジョドレルバンク天文台 Lovell-Telescope

1億ドルのBreakthrough Listen Initiative、宇宙の知的生命体に対する史上空前の探査のデータを公開 - 共同通信PRワイヤー」「宇宙の知的生命体を探す「最大級」プロジェクトが開始 - WIRED.jp」「1億ドルのBreakthrough Listen Initiative、宇宙の知的生命体に対する史上空前の探査のデータを公開 - CNET Japan
この辺りの文面に心惹かれ地球外知的生命体探しに協力してみます。

Breakthrough Listenによりアレシボ天文台に加えグリーンバンク電波望遠鏡とパークス電波望遠鏡がSETI@homeに加えられてます。このSETI@homeからデータにアクセスしてみます。

参考: Berkeley SETI

Breakthrough Initiatives News 2016年10月12日 500メートル球面電波望遠鏡も参加するようです。

Breakthrough Initiatives News 2017年05月31日 ジョドレルバンク天文台も参加するようです。
(SETI@homeによると現時点ではこの提携にジョドレルのデータは含まれないそうです。)

開発環境

ボード Raspberry Pi 2 Model B
OS Raspbian Jessie with PIXEL 2017-04-10
microSDHC SanDisk Ultra microSDHC Class10 8GB
LAN 標準搭載の有線LAN

ファームウェア更新

$ sudo rpi-update

再起動

$ sudo reboot

最新状態にアップデート

$ sudo apt-get update
$ sudo apt-get upgrade

再起動

$ sudo reboot

アップデートの自動化

インストール

$ sudo apt-get install unattended-upgrades
$ sudo dpkg-reconfigure -plow unattended-upgrades
GUIがでるので「はい」を選択

設定

$ sudo leafpad /etc/apt/apt.conf.d/50unattended-upgrades

変更箇所(セキュリティーアップデートのみ自動アップデート設定)

//      "o=Raspbian,a=stable";"o=Raspbian,a=stable";
に

//Unattended-Upgrade::Automatic-Reboot "false";
を
Unattended-Upgrade::Automatic-Reboot "true";
に

//Unattended-Upgrade::Automatic-Reboot-Time "02:00";
を
Unattended-Upgrade::Automatic-Reboot-Time "03:00";

再起動

$ sudo reboot

ホスト名

ホスト名変更

$ sudo leafpad /etc/hostname

変更

seti

ホスト名変更

$ sudo leafpad /etc/hosts

変更

127.0.1.1 seti

再起動

$ sudo reboot

IP固定

以降の遠隔操作でIPアドレスで接続したい場合必要な設定です。

$ sudo leafpad /etc/dhcpcd.conf

末尾に追記(設定内容は各ネットワーク環境により異なります。「Raspberry Pi Jessie IP固定」などで検索してみてください。)

interface eth0
static ip_address=192.168.1.186/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

再起動

$ sudo reboot

遠隔操作

運用にはモニター、マウス、キーボードは必要ないので、この段階で遠隔操作にしてしまいます。
Raspbian Jessie with PIXEL にはRealVNCが標準で入ってます。これを使用してみます。

デフォルトで有効になってないので

Menu→設定→RaspberryPiの設定→インターフェイスタブ→VNC有効→OK→再起動

何も考えずディスプレイを取り外しVNCに接続すると画面サイズが656x416となってしまいます。おまじないがあるようなので設定しておきます。

$ sudo leafpad /boot/config.txt
#hdmi_mode=1の下に以下を追加
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=47

参考: config.txt - Raspberry Pi Documentation

RaspberryPiをシャットダウン

モニター、マウス、キーボードを取り外して電源入れ直し

VNCクライアントから接続してみる
ホスト名で接続する場合、クライアントパソコンにはavahiかBonjourがインストールされている必要があります。
Windowsパソコンだけ問題になりやすく、簡単な方法はiTunesをインストールすることです。
ネット検索で「Raspberry avahi Bonjour」辺りで調べると詳しい事情が出てきます。

RealVNC Viewerの場合
VNC Server: seti.local または 192.168.1.186
Username: pi
Password: raspberry
Confirm: raspberry

成功していれば、以降はVNCクライアントの窓の中で作業できます。

BOINCのインストール

$ sudo apt-get install boinc-client boinc-manager
$ sudo service boinc-client start

再起動

$ sudo reboot

SETI@homeでアカウント作成

SETI@homeのSign Upからアカウントを作成
Eメールアドレスとパスワードが後ほど必要なのでメモ

BOINCの設定

Menu→システムツール→BOINC Manager起動
初めて起動する場合、「プロジェクトあるいはアカウント・マネージャーを追加」窓が出ます。
キャンセルで消してしまった場合、「プロジェクトを追加」ボタンで再度表示します。

BOINC01.jpg

BOINC02.jpg

BOINC03.jpg

BOINC04.jpg

表示→詳細表示で切り替え
「常時稼働」と「ネットワークをいつでも使用」に変更

BOINC05.jpg

このままではCPU使用量が100%で動いてしまいインターフェース操作がもたつきます。
CPU使用量を調整してみます。

ツール→計算に関するプレファレンス
「マルチプロセッサの場合、全プロセッサのうち使うのは」を75%に設定

BOINC06.jpg

再起動

$ sudo reboot

CPU使用量が80%程度で常時動いていれば成功です。

タスクの確認

SETI@homeの自身のアカウント情報からタスク表示。

計算中のタスクはRaspberryPiのBOINC Managerでも確認可。

消費電力の設定

参考: Raspberry Pi 3 Model B の消費電力削減 - Rabbit Note

USB電源をOFF(VNCで操作すると接続が切れてしまいます。ご注意。)

$ sudo sh -c "echo 0 > /sys/devices/platform/soc/20980000.usb/buspower"
または
$ sudo sh -c "echo 0 > /sys/devices/platform/soc/3f980000.usb/buspower"
ONにする場合は0を1に

HDMI電源をOFF

$ sudo /opt/vc/bin/tvservice -o
ONにする場合
$ sudo /opt/vc/bin/tvservice -p

再起動

$ sudo reboot

メモリの節約

参考: Raspberry メモリ 節約 - Google

デーモンの停止

$ sudo apt-get install chkconfig
$ #sudo chkconfig dbus off
$ sudo chkconfig triggerhappy off
$ sudo chkconfig alsa-utils off
$ sudo chkconfig lightdm off
$ sudo chkconfig motd off
$ sudo chkconfig plymouth off

topコマンド見るとXorg(デスクトップ環境)がいちばんメモリを消費しています。停止してみます。
※この操作するとVNCが機能しないように見えます。復帰にはモニター、マウス、キーボード必要です。

Menu→設定→RaspberryPiの設定→システムタブ→ブート→CLIにチェック→再起動

Xorg(デスクトップ環境)復帰方法

電源OFF
モニター、マウス、キーボードを取り付け
電源ON
コマンドプロンプトの状態
$ sudo startx
デスクトップ環境起動
Menu→設定→RaspberryPiの設定→システムタブ→ブート→デスクトップにチェック→シャットダウン
モニター、マウス、キーボード取り外し
電源ON
VNCなどで接続

機器の具合

オーバークロックとGPU

オーバークロックが原因で計算中に異常発生するように見えるので「無し(900MHz)」にしてます。
GPUは対応していないようです。メモリ割り当てをデフォルト値「64」にしてます。

参考: SETI@home 8 released for Raspberry Pi.

発熱

CPU温度の確認

$ sudo vcgencmd measure_temp

70度弱。RaspberryPi用一般サイズのヒートシンク取り付けるも大きい冷却効果見えずです。

公式では「CPUのコア温度が 80度を超えると黄色の四角を画面の右上に表示します。85度を超えた場合は CPUの動作速度を 600MHzに強制的に落とします。動作させるアプリケーションが高負荷の場合にはヒートシンクを取り付けます。」だそうです。

電気料金

--円/月 ----円/年
ワットチェッカーplus使用。
東京電力 従量電灯B 第3段階料金 29円93銭 で計算。

参考

BOINC - Wikipedia
SETI@home - Wikipedia
Breakthrough Initiatives