QuakeWatch-Pro
QuakeWatch-Pro は ES シリーズ地震計のパソコン用付属ソフトウェアで、Python で書かれ、Windows、macOS、Linux に対応しています。USB Type-C で地震計のデータを読み、ローカルのデータベースに保存し、直近 60 秒の 3 軸波形、スペクトル、加速度、計測震度をリアルタイムに描画します。
QuakeWatch-Pro は 2 つのプログラムで構成され、両方を起動したままにします。
| プログラム | 用途 |
|---|---|
data_collector.py |
シリアルポートから地震計のデータを読み、earthquake_data.db に保存し、main.py に渡します |
main.py |
グラフウィンドウを開き、波形と震度を表示します |
- Python 3.10 – 3.12。Python 公式サイトからダウンロードできます。
- データ転送に対応した USB Type-C ケーブル。
- パソコンが地震計のシリアルポートを認識すること。認識されない場合はパソコンが地震計のシリアルポートを認識しないを参照してください。
ダウンロード
Section titled “ダウンロード”GitHub のページで git clone または「Download ZIP」からソースコードをダウンロードし、任意の場所に展開します。
インストール
Section titled “インストール”以下のコマンドは、すべて QuakeWatch-Pro のフォルダで実行します。
-
ターミナルを開き、QuakeWatch-Pro のフォルダに移動する
ターミナルウィンドウ cd /path/to/QuakeWatch-Pro -
仮想環境を作成して有効にする
仮想環境にすると、パソコン上のほかの Python パッケージとの競合を避けられます。
ターミナルウィンドウ python -m venv venv.\venv\Scripts\activateターミナルウィンドウ python3 -m venv venvsource venv/bin/activate -
依存パッケージをインストールする
ターミナルウィンドウ pip install -r requirements.txt
-
地震計を接続する
USB Type-C ケーブルで地震計をパソコンに接続します。先に復旧ツールなど、シリアルポートを使うほかのプログラムを終了してください。
-
データ収集プログラムを起動する
仮想環境を有効にしたターミナルで実行します。
ターミナルウィンドウ python data_collector.pyプログラムは使えるシリアルポートを一覧表示します。1 つだけの場合は自動で選びます。複数ある場合は地震計の番号を入力し、Enter を押します。
可用串列埠:[0] COM4 - Silicon Labs CP210x USB to UART Bridge (COM4)[1] COM1 - 通訊連接埠 (COM1)請選擇 [0-1] 或 q 退出: 0「開始收集數據」と表示されたあと、プログラムは
[統計で始まる行を定期的に出力します。その中のサンプル数が増え続けていれば、データを受信しています。シリアルポート名は
COMに数字を付けたものです。例:COM4。macOS のシリアルポートは
/dev/cu.で始まります。Linux は通常/dev/ttyUSB0です。Linux で権限エラーが出た場合は、アカウントをdialoutグループに追加してから、ログインし直します。ターミナルウィンドウ sudo usermod -aG dialout $USER -
グラフウィンドウを開く
別のターミナルを開き、同じフォルダに移動して仮想環境を有効にしてから、次を実行します。
ターミナルウィンドウ python main.pyウィンドウには、直近 60 秒の 3 軸加速度、0–25 Hz のスペクトル、PGA、計測震度などのグラフが表示されます。
データの保存
Section titled “データの保存”受信したデータは、QuakeWatch-Pro フォルダの earthquake_data.db(SQLite)に保存されます。任意の SQLite ツールで照会できます。
| テーブル | 内容 |
|---|---|
sensor_data |
3 軸加速度。毎秒 50 件。フィールド:timestamp_ms、x、y、z、received_time |
intensity_data |
計測震度と加速度値 a。約 0.5 秒ごとに 1 件。フィールド:timestamp_ms、intensity、a、received_time |
sqlite3 earthquake_data.db "SELECT * FROM intensity_data ORDER BY received_time DESC LIMIT 10;"データベースは古いデータを自動では削除しません。ファイルが大きくなりすぎた場合は、先に 2 つのプログラムを終了してから earthquake_data.db を削除してください。次回起動時に作り直されます。
トラブルシューティング
Section titled “トラブルシューティング”- 統計の数値が 0 のまま:選んだシリアルポートが地震計のものであることを確認し、QuakeWatch-Pro が地震計の現在のファームウェアバージョンに対応していることを確認してください(上の「ファームウェアバージョンの互換性」を参照)。
- 統計の数値が途中まで増えて、その後止まった:地震計がデータを送らなくなっています。USB ケーブルを確認するか、USB ケーブルを抜いてからつなぎ直してください。
- シリアルポートが見つからない:パソコンが地震計のシリアルポートを認識しないを参照してください。
