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

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

SETI@homeに参加してみます。
参考: Berkeley Open Infrastructure for Network Computing - Wikipedia

環境

ボード Raspberry Pi 2 Model B
OS Raspbian Stretch with desktop 2018-11-13
microSD SanDisk Ultra microSDHC Class10 8GB
LAN 標準搭載のLAN
作業補助 モニター マウス キーボード

OSの準備

「Raspbian インストール」などで検索してみてください。
省略

IP固定(省略可)

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

$ sudo nano /etc/dhcpcd.conf

末尾に追記

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

保存: Ctrl + o > リターン
終了: Ctrl + x

再起動

$ sudo reboot

遠隔操作(省略可)

運用にモニター、マウス、キーボードは必要ないので遠隔操作にします。
標準で入っているRealVNCを使用します。

VNC有効

Menu > 設定 > RaspberryPiの設定 > インターフェイスタブ > VNC有効 > OK

解像度の変更

Menu > 設定 > RaspberryPiの設定 > システムタブ > 解像度 > 1280x1024程度

シャットダウンし、モニター、マウス、キーボードを取り外して電源入れ直し。
WindowsPCなどのVNCクライアントから接続を試す。
成功していれば、以降はVNCクライアントの窓の中で作業できます。

インストール

参考: Installing BOINC - BOINC

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

再起動

$ sudo reboot

設定

Menu > システムツール > BOINC Manager起動

初めて起動する場合、「プロジェクトを選択してください」窓が出ます。
もう一度表示は、「ツール > プロジェクトを追加」ボタンで再度表示します。

BOINC02.jpg

タスクの確認で必要なのでメールアドレス、パスワードをメモ BOINC03.jpg

表示 > 詳細表示で切り替え
「常時稼働」と「ネットワーク活動を常に許可」に変更

BOINC05.jpg

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

オプション > 計算に関するプレファレンス
最大で75%のCPUコアまで 程度

BOINC06.jpg

再起動

$ sudo reboot

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

タスクの確認

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

SETI@home

設定したメ-ル、パスワードでログイン
アカウント情報からタスク表示

BOINCstatsで集計画像くれます。
sig.png

延命対策(省略可)

swap

無効化
Stretchの場合

$ sudo dphys-swapfile swapoff
$ sudo systemctl stop dphys-swapfile
$ sudo systemctl disable dphys-swapfile

fstab

設定

$ sudo nano /etc/fstab

nodiratime追記と末尾に追記
参考: fstab - ArchWiki atime オプション

PARTUUID=5ee44bf0-02  /               ext4    defaults,noatime,nodiratime  0       1
tmpfs    /tmp                              tmpfs    defaults,noatime,nodiratime,mode=1777  0       0
tmpfs    /run/user/1000                    tmpfs    defaults,noatime,nodiratime,mode=1777  0       0
tmpfs    /home/pi/.cache/lxsession/LXDE-pi tmpfs    defaults,noatime,nodiratime,mode=1777  0       0

保存: Ctrl + o リターン
終了: Ctrl + x

再起動

$ sudo reboot

確認

$ df -h

systemctl

確認

$ systemctl list-unit-files -t service|grep enabled

rsyslog停止

$ sudo systemctl stop rsyslog.service
$ sudo systemctl disable rsyslog.service
戻すなら
$ sudo systemctl enable rsyslog.service

bluetooth停止

$ sudo systemctl stop hciuart.service
$ sudo systemctl stop bluetooth.service
$ sudo systemctl disable hciuart.service
$ sudo systemctl disable bluetooth.service
戻すなら
$ sudo systemctl enable hciuart.service
$ sudo systemctl enable bluetooth.service

再起動

$ sudo reboot

確認

$ systemctl list-unit-files -t service
$ systemctl list-unit-files -t service|grep disabled

folder2ram

RAMディスク化

参考: GitHub - bobafetthotmail/folder2ram: mount those folders to ram without losing access to their counterpart on disk!

インストール

$ sudo wget -O /sbin/folder2ram https://raw.githubusercontent.com/bobafetthotmail/folder2ram/master/debian_package/sbin/folder2ram
$ sudo chmod +x /sbin/folder2ram
$ sudo folder2ram -configure
will now open the configuration file with your favourite text editor
write its name and press enter (nano, vim, gedit are the most common)
リターン
$ sudo nano /etc/folder2ram/folder2ram.conf

末尾に追記

tmpfs		/var/log
tmpfs		/var/tmp
tmpfs		/var/spool
tmpfs		/var/cache/samba
tmpfs		/var/lib/boinc-client/slots

保存: Ctrl + o > リターン
終了: Ctrl + x

$ sudo folder2ram -mountall
$ sudo folder2ram -enablesystemd

再起動

$ sudo reboot

確認

$ df -h

journald

参考: man journald.conf の訳

$ sudo nano /etc/systemd/journald.conf

追記

Storage=none

保存: Ctrl + o > リターン
終了: Ctrl + x

再起動

$ sudo reboot

memo

更新ファイルの検索

$ cd /
$ sudo find . -path "./proc" -prune -o -path "./sys" -prune -o -type f -name "*" -mmin -10 -ls

機器の具合

オーバークロック
オーバークロックが原因で計算中に異常が発生してるように見えるので「無し(900MHz)」にしてます。

GPU
対応していないようです。メモリ割り当てをデフォルト値「64」にしてます。

発熱

CPU温度の確認
$ sudo vcgencmd measure_temp

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