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 |
開啟圖表視窗,顯示波形與震度 |
- Python 3.10 – 3.12,可以從 Python 官網下載。
- 可以傳輸資料的 USB Type-C 線。
- 電腦認得地震儀的序列埠。認不到時見電腦找不到地震儀的序列埠。
在 GitHub 頁面用 git clone 或「Download ZIP」下載原始碼,解壓縮到任一位置。
以下指令都在 QuakeWatch-Pro 的資料夾中執行。
-
開啟終端機並切換到 QuakeWatch-Pro 的資料夾
終端機視窗 cd 你的路徑/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程式會列出可用的序列埠。只有一個時會自動選擇;有多個時輸入地震儀的編號,按 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 秒的三軸加速度、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 線再接上。
- 找不到序列埠:見電腦找不到地震儀的序列埠。
