跳到內容
主控台

QuakeWatch-Pro

QuakeWatch-Pro 是 ES 系列地震儀的電腦端配套軟體,以 Python 撰寫,支援 Windows、macOS 與 Linux。它透過 USB Type-C 讀取地震儀的資料,存進本機的資料庫,並即時畫出最近 60 秒的三軸波形、頻譜、加速度與計測震度。

QuakeWatch-Pro 由兩個程式組成,兩個都要開著:

程式 用途
data_collector.py 從序列埠讀取地震儀的資料,存進 earthquake_data.db,並提供給 main.py
main.py 開啟圖表視窗,顯示波形與震度

在 GitHub 頁面用 git clone 或「Download ZIP」下載原始碼,解壓縮到任一位置。

以下指令都在 QuakeWatch-Pro 的資料夾中執行。

  1. 開啟終端機並切換到 QuakeWatch-Pro 的資料夾

    終端機視窗
    cd 你的路徑/QuakeWatch-Pro
  2. 建立並啟用虛擬環境

    虛擬環境可以避免和電腦上其他 Python 套件衝突。

    終端機視窗
    python -m venv venv
    .\venv\Scripts\activate
  3. 安裝相依套件

    終端機視窗
    pip install -r requirements.txt
  1. 接上地震儀

    用 USB Type-C 線把地震儀接到電腦。先關閉恢復工具等其他會使用序列埠的程式。

  2. 啟動資料收集程式

    在啟用虛擬環境的終端機執行:

    終端機視窗
    python data_collector.py

    程式會列出可用的序列埠。只有一個時會自動選擇;有多個時輸入地震儀的編號,按 Enter:

    可用串列埠:
    [0] COM4 - Silicon Labs CP210x USB to UART Bridge (COM4)
    [1] COM1 - 通訊連接埠 (COM1)
    請選擇 [0-1] 或 q 退出: 0

    看到「開始收集數據」後,程式會定期印出以 [統計 開頭的一行,裡面的樣本數持續增加,就代表正在收到資料。

    序列埠名稱是 COM 加數字,例如 COM4。

  3. 開啟圖表視窗

    另開一個終端機,切換到同一個資料夾並啟用虛擬環境,再執行:

    終端機視窗
    python main.py

    視窗會顯示最近 60 秒的三軸加速度、0–25 Hz 頻譜、PGA 與計測震度等圖表。

收到的資料存在 QuakeWatch-Pro 資料夾中的 earthquake_data.db(SQLite),可以用任何 SQLite 工具查詢:

資料表 內容
sensor_data 三軸加速度,每秒 50 筆。欄位:timestamp_ms、x、y、z、received_time
intensity_data 計測震度與加速度值 a,約每 0.5 秒一筆。欄位:timestamp_ms、intensity、a、received_time
終端機視窗
sqlite3 earthquake_data.db "SELECT * FROM intensity_data ORDER BY received_time DESC LIMIT 10;"

資料庫不會自動刪除舊資料。檔案太大時,先關閉兩個程式再刪除 earthquake_data.db,下次啟動會重新建立。

  • 統計數字一直是 0:確認選的是地震儀的序列埠,並確認 QuakeWatch-Pro 支援地震儀目前的韌體版本(見上方「韌體版本相容性」)。
  • 統計數字原本會增加,後來停住:地震儀沒有再送出資料。檢查 USB 線,或拔掉 USB 線再接上。
  • 找不到序列埠:見電腦找不到地震儀的序列埠。