Raspberry Shake 4D + JMA Algorithm · v1.7.0

個人地震観測所を
ブラウザで持つ

Raspberry Shake 4D 1台の常時微動データから、リアルタイム震度算出・地震検知・地盤特性(HVSR)解析・月次レポート自動公開までを行うソフトウェア一式です。気象庁の公式観測点と自宅の地盤の違いを継続的に検証しています。

GitHub で見る 月次レポートを見る
Webダッシュボード全体表示(HVSR週次モニタリングパネル追加後)
震源周辺の市区町村震度を拡大表示 HVSR週次推移パネル(試験運用中、初回データ)

主な機能

センサーから画面まで、すべてオープンソース。

📡

UDP リアルタイム受信

Raspberry Shake の DATACAST を直接受信。遅延なく波形データを取得します。

📊

JMA 計測震度アルゴリズム

気象庁の公式フィルター処理・閾値・計算式をそのまま実装。I値・加速度(gal)をリアルタイム表示。

🗺️

震源地図(Leaflet)

P2P地震情報から取得した最新地震を地図上にマッピング。マーカーサイズはマグニチュードに比例。

🔔

音声アラート

震度に応じた音声読み上げ(macOS say -v Kyoko)。計測震度が震度1相当(I≥0.5)を超えた時点で発話し、揺れが強まれば言い直します。

⚡

緊急地震速報(参考)

P2P地震情報 WebSocket API から EEW を受信。バナーで赤点滅表示。

📈

I値・STA/LTA 推移グラフ

Chart.js による 2 軸グラフで、直近 5 分の計測震度と STA/LTA 値の変化を可視化。

🖥️

TUI ダッシュボード

ブラウザ不要のターミナル版も付属。SSH 接続のまま監視できます。

🧪

UDP シミュレーター

実機なしでも動作確認できる合成波形送出ツールを同梱。

🔬

ワンクリック波形解析

P2P地震情報テーブルの「解析」ボタンを押すだけで、自局波形のダウンロードとスペクトログラム解析を自動実行。結果画像をモーダル表示します。

🗻

HVSR地盤特性解析(試験運用)

深夜帯の常時微動データから水平/上下スペクトル比(Nakamura法)を週次で計算し、自宅地点の地盤の卓越周波数をモニタリング。リアルタイム系とは独立したバッチ処理で、ダッシュボードには読み取り専用で反映されます。

📰

月次レポート自動生成・公開

その月の地震活動・自局での検出状況・発震機構解マップをまとめたHTMLレポートを毎月自動生成し、GitHub Pagesで公開します。

🏔️

公式観測点との地盤差検証

ボーリング柱状図・地質図と照合し、自宅(軟弱地盤)と気象庁公式観測点(硬質地盤)の震度差を継続的に記録・解説しています。


データの流れ

センサーの生波形が、震度数値としてブラウザに届くまで。

1

波形受信

Raspberry Shake が UDP DATACAST で生波形カウント値を送出

2

ガル変換

感度値で除算し、加速度(gal = cm/s²)に変換

3

JMA フィルター

気象庁規定の周波数フィルターを適用して人体感覚に補正

4

震度算出

I = 2 log₁₀(a) + 0.94 で計測震度 I 値を計算

5

WebSocket配信

FastAPI が 1 秒ごとに JSON をブラウザへブロードキャスト

→ アルゴリズムの詳しい解説を読む


必要なもの

ハードウェアと基本的なソフトウェアが揃えば動き始めます。

ハードウェア

  • Raspberry Shake 4D(RS4D)
  • 同一ネットワーク上の Mac または Linux PC

ソフトウェア

  • Python 3.10 以上
  • macOS(音声アラートに say を使用・macOS 専用)

Python パッケージ

  • numpy / scipy / obspy
  • rich(TUI 版)
  • fastapi / uvicorn / jinja2(Web 版)
  • websocket-client / matplotlib

使い始め方

クローンから起動まで 5 分で完了します。

本ソフトウェアが算出する計測震度は参考値です。公式な震度情報ではありません。
1

クローン&仮想環境を作成

git clone https://github.com/Masakai/earthQuake.git
cd earthQuake
python3 -m venv .venv
source .venv/bin/activate
pip install numpy scipy obspy rich websocket-client fastapi uvicorn jinja2 matplotlib
2

Raspberry Shake の DATACAST を設定

Shake の Web 設定画面で UDP/DATACAST を有効にし、送信先 IP とポート(既定: 8888)を入力します。

3

Web ダッシュボードを起動

bash scripts/start_web.sh --station R38DC
# ブラウザで http://localhost:8080 を開く
4

実機なしでシミュレーターを使う

# ターミナル 1
bash scripts/start_web.sh --station R38DC --bind 127.0.0.1:9999

# ターミナル 2
.venv/bin/python3 src/simulate_udp.py --intensity 3.0 --dest 127.0.0.1:9999

月次地震レポート

AM.R38DC 観測点(静岡県三島市)の月別まとめ。P2P地震情報との照合・自局検出記録を含む私的記録です。

特別図解 電子基準点で見る日本列島の1年間の動き 2025年10月から2026年10月まで(国土地理院の電子基準点1084局の1年間の変位を、拡大できる地図と局ごとの数値表で表示。令和8年熊本地震の本震による変位と2016年熊本地震との比較、自局周辺の伊豆・箱根の年間速度も収録) → 特別図解 日本周辺の震源分布とプレートの沈み込み 1976-2026(USGSデータによる日本周辺のM3.0以上の震源を3D空間上に再生し、太平洋プレート・フィリピン海プレートなどの沈み込む上面(Slab2)を重ねたインタラクティブ可視化。深さ実寸1.5倍表示、点の大きさはマグニチュード) → 特別レポート ネパール氷河崩落・洪水災害(2026年8月26日)地震観測記録——震源近傍の公開地震観測点AM.R3B1E・広帯域地震計NK.KKNの実測波形から、氷河崩落の初動と下流洪水に伴う継続的な振動を解析 → 特別レポート 令和8年熊本地震(M7.1・震度7)統合分析(2026-08-23更新:本震から26日間・578件)——P2P地震情報+震源近傍観測点R6E01の実測波形による余震統計・b値・距離減衰の定量分析 → 特別レポート 茨城県南部の地震(M5.9・震度5弱、2026年8月23日)観測記録——震源近傍6kmの公開観測点RDBC2と自局R38DC(震源距離160km)の実測波形比較 → 特別レポート 地震計で台風を観測した記録(2026年6月)——バンドパワー分析・気圧データとの比較 → 2026年5月 P2P地震情報まとめ・自局トピック・発震機構解マップ → 2026年6月 P2P地震情報まとめ・自局トピック・発震機構解マップ → 2026年7月 P2P地震情報まとめ・自局トピック・発震機構解マップ → 2026年8月 P2P地震情報まとめ・自局トピック・発震機構解マップ → 2026年9月 P2P地震情報まとめ・自局トピック・発震機構解マップ → 2026年10月 P2P地震情報まとめ・自局トピック・発震機構解マップ →

正式な地震情報は気象庁をご参照ください。