RaspberryPi
Raspberry Shakeによる地震計

 今まで何度も半導体の加速度センサーを用い、地震計の自作を試みましたがうまくいかず、困っていました。今回"Raspberry Shake"なるものがあることを知り、それによる地震計を作りました。Raspberry ShakeはGeophoneとよばれる地面の振動を計測する超低周波マイクと変換ボード、RaspberryPiコンピュータからなります。

Raspberry Shakeが優れている点は
1.Raspberry Shakeコミュニティ公認のセンサーを用いているので、校正の必要がない

2.感度が高い、震度1以下の弱い地震も記録する。地下核実験の監視も可能性がある

3.設定が簡単で間違いがない

4.Raspberry Shake Worldwide Networkがあり、さらにGlobal Seismographic Networkの一部を構成する構成する

5.様々な解析ツールが利用できる


最新の観測結果はこちら

 (2020/09/23公開) 

Raspberry Shake
 Raspberry Shakeは、「政府機関しかアクセスできなかったテクノロジー、科学、情報を民主化する」という理念のもと、2016年7月にクラウドファンディングによりスタートした組織で、パナマにある会社です。
 購入は日本にも代理店があるようですが、直接Raspberry Shakeのショップから購入しました。ターンキーベースの完成品もありますが、自作用の主要部品"Board & Sensors"のみ購入しました。機種はRS4Dとしました。
サイトに申し込んでから、1週間ほどで、DHLで届きました。
型番 :RS4D Board & Sensors
価格:$299.99 USD
送料:$48.00 USD 
輸入内国消費税+立替手数料:2800円
技術資料:こちら
RS4Dは、センサーとしてGeophoneのほかに、3つの直交配置されたマイクロエレクトロメカニカルシステム(MEMS)加速度計がボードに組み込まれています。これは、強震計ともよばれ、強い動きでGeophoneを飽和させるような、つまり機器の測定限界を超える可能性がある活発な地震地帯のためのもので、わが国が該当すると思われます。

メインセンサーのGeophoneは円筒形のケース内にバネで支えられたオモリ(周りにコイルが巻かれている)とケースに固定されている永久磁石で構成されています。ケースが動いてもオモリは動きが遅いので、磁石の磁場によりコイルに動き速度に比例した電圧が発生します。超低周波マイクロフォンと考えられます。付属のRGI-4.5Hz GeophoneはRaspberry Shakeコミュニティ公認のものです。
RGI-4.5Hz Geophone
共振周波数:4.5 Hz
約0.5〜40 Hzまでのフラットな周波数応答
コイル抵抗:395Ω
感度:23.4V/m/s±10%
オモリ:11g
サイズ:25.4mmφX33mm
重さ:87g
技術資料
Image credit: Deutsches Elektronen-Synchrotron (DESY)

RaspberryPiとの接続
GeophoneとRaspberry Piとの接続は図のように、SHAKE CARDによりAD変換しシリアル接続します。カードの回路図は公開されていません。Raspberry Pi モデル3BにはWiFiが内蔵されていますが、「高振幅RFノイズが発生し、高振幅の低周波スパイクが発生して地震信号に深刻な影響を与えることがある」ため、推奨されていません。有線LANあるいはUSBによる外付けWiFiを使うことになります。



組み立て・設置
作成・設置はRaspberry Shake Personal Home Monitor Manualを参考に次のように行いました。
 
タカチの防水ケースを使います。BWP1520P取り付けベースに、SHAKE CARDをマウントしたRaspberry PiモデルB3をとりつけます。鉄板の取り付けベースもありますが、センサーが磁石を使用している関係でプラスチックベースをもちいます。
Geophoneは両面テープで止めました。両面テープは厚みがあり、振動が吸収されるかもしれません。もっといい取り付け方があるかもしれません。
赤丸のボードの隅に矢印があるが、矢の方向が北になるように取り付けます。

地面に直接置くことになり、防水が必須です。タカチのBCAS152007G型防水ケース(防水保護等級:IP65)を用います。コードの出入り口の防水処理が必要となります。コネクタをつけたまま通すことのできる日本AVC社の「コネクタ付ケーブル用スーパーグランド」FGA21L-06B-SDを使います。LANコネクタやUSBコネクタの付いたケーブルを防水し通すことができ、優れモノです。
設置場所は地下室があれば地下が、なければ1階がいいとされます。エアコンなど家電や人・車の振動のない場所を選びます。雨で濡れることを覚悟し地面に直接設置しました。GPS方位計で北を求め、水準器で水平に設置します。水平度は3度以内との指定があります。


ソフトウェア

 Raspberry ShakeのOSは Raspbian Busterですがいくつか機能制限をしています。主な違いは、それを制御するためのキーボード、マウス、またモニターがないことです。「ヘッドレスで実行」とよばれます。


ステップ1  microSDカードをフォーマット。microSDカードは8GB以上NANDタイプがマルチレベルセル(MLC)が推奨されます。


ステップ2  Windows上でOSとすべてのプログラムを一体でダウンロード
https://gitlab.com/raspberryShake-public/raspshake-sd-img/-/blob/master/raspishake-release.zip


ステップ3 Windows上でzip解凍し、すべてをコピーし、microSDカードにペースト

ステップ4 ボードをRaspberryPiコンピュータにマウントし、LAN環境につないだうえ、microSDカードをRaspberry Piに差し込み、電源をいれます。自動的にイメージファイルができ、microSDカードに書き込まれ、さらにセットアップが行われます。15分くらいかかりますので待機。

ステップ5 Windowsマシンのブラウザ(Google Chromeを推奨)から、http://rs.localにアクセスし、Raspberry Shake Config を開きます。表示されないときは、ステップ4が完了していないので、なおしばらく待ちます

起動後計測がすでに始まっており、Helicorderプロットプログラムは約15分かけて最初のトレースをプロットします。Raspberry Shake Config のホーム画面左下のグラフのアイコンをクリックすると、Recent Helicorder Displaysページが開きます。いずれかをクリックするとHelicorderのグラフが表示されるはずです。ここでファイル名はつぎのような命名規則にしたがったものです。

Raspberry Shakeの命名規則
地震観測点は、一意性を確保するためThe International Federation of Digital Seismograph Networks (FDSN)による規則に従って、つぎのように4つのパートにより命名されます。
NetworkCode.StationCode.LocationCode.ComponentCode
例えば、当方は
AM.RB0E1.00.SHZ

NetworkCodeFDSNにおいて一元管理されています。 Raspberry Shake は"AM"を NetworkCodeとして使用します。AMは、Raspberry Shake citizen scientist earthquake monitoring networkという意味です。

StationCodeは、一般に「MAC」アドレスと呼ばれるRaspberry Piコンピュータの固有のハードウェアアドレスの最後の4オクテットに、文字Rを追加することにより、自動的に生成されます。本来、Station Codeの承認を得るために、国際地震計観測所に申請する必要があります。これは、名前の一意性を確保するためです。しかし、Raspberry Shakeが誕生した当時は、利用可能なリアルタイムシステムがなかったため、ステーション名が競合するステーションはありませんでした。これをすべて自動的にするために、MACアドレスを使用して独自の命名規則を設定します。
なお、いちど開始した後、RaspberryPiコンピュータハードを交換すると、アドレスが変わり、別の地震計と認識され、それまでと連続性がなくなりますので、注意が必要です。

LocationCodeは00です。

ComponentCodeはRaspberry Shakeの機種ごとに異なりますが、当方のRS4Dの場合EHZ、ENZ、ENN、ENEのいずれかであらわされます。EHZは100サンプル/秒(E)、高ゲイン(H)、単一成分地震計(Z)であり、ENZ、ENN、ENEは3つの直交する加速度チャンネルを表します。

Raspberry Shakeのセキュリティ
Raspberry Shake は、Debianオペレーティングシステムを搭載したコンピュータです。つまり、ハッキングされる可能性があります。それを保護するための対策を講じてください。最初に、ユニットの出荷時のデフォルトからsshパスワードを変更します。

Raspberry Shakeは、侵入と乗っ取りのすべての可能性を最小限に抑えるようにシステムを特別に構築してあります。

rootユーザーによるログインアクセスが無効になっています
X11自体やブラウザなど、GUI表示に関連するすべてのプログラムがシステムから削除されました。ブラウザーが存在しないため、(ブラウザーを実行している通常のコンピューターとは異なり)マルウェアの不注意によるダウンロードが大幅に削減されます。

外部からのアクセスは、Raspberry ShakeのWebページ(http://rs.local/)とSSHだけです。sambaのファイル共用をトライしましたができませんでした。
Raspberry PiのOSを更新することはお勧められていません。Raspberry Shakeの更新は自動更新であり、何もする必要はありません。リリース日から1週間以内に、Raspberry Shakeが自動的に更新されます。

SSHパスワードを変更する方法
Raspberry ShakeのWebページ(http://rs.local/)を開き、[アクション]アイコンをクリックして、Actions>ACTIONS>CHANGE SSH SSH PASSWARD に移行します。
ユーザー名:myshake
デフォルトのsshパスワード:shakeme

ユーザー名は変更しません。

Raspberry Shake Config
Raspberry Shake Config の方法はYouTubeがあります。
Raspberry ShakeのWebページ(http://rs.local/)を開き、設定アイコンをクリックし
GENERALのページでロケーションを設定します。地図を拡大していき、設置場所を指定すると、緯度、経度、 標高が入力されます。(ユーザーのプライバシーを保護するために、公開されているステーションの場所は意図的にランダムに数百メートルずれています)

DATAのページではData sharing settingsでForward dataをONにします。Raspberry Shakeデータサーバリアルタイムに転送され、Raspberry Shakeコミュニティとデータを共有することができます。さらにFDSNに登録されることにより、自動的に計測値が電圧カウントから速度(m / s)への変換も可能となります。

NETWORKのページでIPアドレスはDNSが自動で割り当てていますが、Static IPとしておいたほうがいいでしょう。

設定を完了したRaspberry Shake Config
http://rs.local/

puttyからSSHによるログイン画面
STATION: AM.RB0E1.00

地震波形を視覚化する方法
Helicorderのローカル表示
http://rs.local/heli でRecent Helicorder Displaysページが開きます。いずれかをクリックするとHelicorderのグラフが表示されます。Helicorderは従来の回転ドラム形の地震記録装置のことです。
下はUTC2020/09/17 0:00から12時間のHelicorderで、2020年9月17日14時(日本時間)ごろ茨城県北部でM4.3の地震が発生し、当方では震度1以下で全く感じませんでしたが、しっかり記録されていました。かなり感度が高いようです。

ヘリコプタープロットプログラムは、2分ごとに更新するように設定されています。GIF画像は次の場所に保存されます。
/opt/data/gifs

ヘリコプターのスケールは、Raspberry Shake Configページ(http://rs.local/)にアクセスして調整できます。
設定アイコン>DATA>Helicorder Scaling Value

Swarm
SwarmはUSGS Volcano Hazards Programによって開発されたもので、最も広く使用されている地震学アプリケーションです。Linux、MAC、およびWindows上のデスクトップまたはラップトップコンピューターから実行され、Raspberry Shakeのデータにリモートアクセスします。


Windowsで動かす場合は次のとおり
Raspberry Shake Configページの一番下のSWARM downloadボタンからSWARM.zipをダウンロードします。
SWARM.zipを解凍して、「swarm」などの名前の新しいフォルダーに出力を保存します。
SWARMを実行するにはJavaランタイム環境(JRE)バージョン8がインストールされている必要があります。Javaをインストールするには、https://java.com/en/download/にアクセスしてください。
JAVAが正常にインストールされたら、swarmフォルダーに移動し、swarm_console.batという名前のファイルをダブルクリックします。swarmはすぐに開くはずです。
自分のRaspberry Shakeを見る場合は、myShakeフォルダーを開きます。
Helicorderの一部を拡大したり、スペクトラム表示など分析ができます。またRS Communityというホルダーをひらけば、世界中のRaspberry Shakeのデータが表示できます。

rsudp
rsudpは、RaspberryShakeからデータキャスト(Raspberry Shake UDPポート出力)を受信し、リアルタイムにデスクトップに波形表示するとともに、それを使用して地震発生の検出、記録を行うプログラムです。rsudpはオープンソースでPythonで記述されていますが、ObsPyというPythonの地震データ処理パッケージを利用しています。たいへんすぐれたプログラム群ですが初心者としては、使いこなすには時間がかかりそう。rsudpを動かすだけですと、次のように簡単です。

Windowsマシンへのインストール
1.GitHubリポジトリの最新リリースからソフトウェアをダウンロードして解凍します。
2.解凍したフォルダにあるwin-install-rsudp.batというファイルをダブルクリックします。この手順では、管理者権限が必要になる場合があります。
3.インストールには数分かかります。完了すると、自分のユーザーディレクトリの中に設定ファイルが作成されます。
4. C:\Users\ユーザー名\.config\rsudp\rsudp_settings.jsonを編集して、rsudpの実行方法を変更します。
なおこのマシン上にPythonもインストールされており、コマンドプロンプトからPythonが使いるようになっています。

rsudp_settings.jsonの編集
このファイルはjson形式で書かれており、rsudpの挙動はこれをエディタで編集することにより変更できます。私の場合を記します。
 rsudp_settings.json
 {
"settings": {
    "port": 8888,
    "station": "RB0E1",
    "output_dir": "D:\MyDocuments\shake",
    "debug": true},
"printdata": {
    "enabled":  false},
"write": {
    "enabled":  false,
    "channels": ["all"]},
"plot": {
    "enabled": true,
    "duration": 300,
    "spectrogram": true,
    "fullscreen": false,
    "kiosk": false,
    "eq_screenshots": true,
    "channels": ["EHZ"],
    "deconvolve": true,
    "units": "CHAN"},
"forward": {
    "enabled": false,
	"address": "192.168.1.254",
    "port": 8888,
    "channels": ["all"]},
"alert": {
    "enabled": true,
    "channel": "HZ",
    "sta": 6,
    "lta": 30,
    "threshold": 1.65,
    "reset": 1.57,
    "highpass": 0,
    "lowpass": 45,
    "deconvolve": false,
    "units": "VEL"},
"alertsound": {
    "enabled": false,
    "mp3file": "doorbell"},
"custom": {
    "enabled": false,
    "codefile": "n/a",
    "win_override": false},
"tweets": {
    "enabled": false,
    "tweet_images": true,
    "api_key": "n/a",
    "api_secret": "n/a",
    "access_token": "n/a",
    "access_secret": "n/a"},
"telegram": {
    "enabled": false,
    "send_images": true,
    "token": "n/a",
    "chat_id": "n/a"},
"rsam": {
    "enabled": false,
    "quiet": true,
    "fwaddr": false,
    "fwport": false,
    "fwformat": "LITE",
    "channel": "HZ",
    "interval": 10,
    "deconvolve": false,
    "units": "VEL"}
}





地震の判定
このプログラムには、地震が発生したことを通知し、波形を記録する機能がついています。観測波形の長時間平均( Long Term Average: LTA)と短時間平均(Short Term Average:STA)の比(STA/LTA)がスレッシュホールド値を超えた場合、地震と判定します。その時間と値をrsudp_settings.jsonで設定しています。小さい値にすると感度が高すぎ地震以外も記録することになり、カットアンドトライが必要です。STA/LTAは気象庁の緊急地震速報などでも使われている方法です。

rsudpの実行
実効の前に、http://rs.local/heli設定アイコン>DATACASTを開き、Target Host IPとTarget Portを指定します。rsudpを動かす、Windowsマシンのアドレスとポート番号は「8888」です。これによりUDPパケットにより、データ共有ができます。
rsudpの実行はバッチコマンドwin-start-rsudp.batをクリックします。FDSNに自動で必要事項を問い合わせ、計測が始まります。下記に観測例をしめします。300秒(5分間)記録されています。スペクトラムと併せて地震の特徴をつかむことができます。


Raspberry Shake Worldwide Network
地震ネットワーク

データを転送するように構成されたRaspberry Shakeは、地震データのリアルタイム連続ストリームをRaspberry Shakeデータセンターに送信し、自動処理システムにより、地震を検索し、地震の発生位置を決定します。世界のRaspberry Shakeの数が多いほど、地震の場所がより速く、より正確になります。

RS eqviewでは、Raspberry Shake によって検出された地震を確認できます。

世界中のRaspberry Shakeの地震計をStationViewで表示できます。

top