🌍
แสดงผล · แจ้งเตือน · วิเคราะห์
ช่วงทดสอบ
โรงพยาบาลโอเวอร์บรุค เชียงราย · ตุลาคม 2569
Telegram เมื่อเกิดแผ่นดินไหวจริง
* ปัจจุบันห้องทดสอบ — รอย้ายห้องจริง
Dashboard ทุก 10 วินาที
(Home Assistant + Grafana)
InfluxDB สำหรับวิเคราะห์ระยะยาว
แจ้งเตือนเมื่อเซ็นเซอร์ขัดข้อง
RUGON 10 จุด
วัด X/Y/Z ทุก 10 วินาที
ส่งผ่าน WiFi → MQTT
Mosquitto
194.1.0.1:1883
รับ-ส่งข้อมูล real-time
80 Entities
ประมวลผล + แปลงระดับ
5 Automations
Telegram + Dashboard
+ InfluxDB + Grafana
+ MySQL หลักฐาน
| 1. วัดความเร่ง 3 แกน (X, Y, Z) |
| 2. ถอดแรงโน้มถ่วงออก |
| 3. หาค่าสูงสุดใน 10 วินาที (peak-hold) |
| 4. แปลงเป็นหน่วย mG |
| 5. ตรวจจับ — ถ้าเกินเกณฑ์ → ส่ง alert |
{"X_mG": 0.54, "Y_mG": 0.35, "Z_mG": 0.54}
{"alert": 2, "peak_mG": 150.15,
"name": "Khampol_F7E",
"time": "2026-10-17T04:29:32Z"}
อ่านจาก topic: <ID>/0 | |
|---|---|
| Entity | sensor.rugon_<id>_x / _y / _z |
| กลไก | MQTT direct-read ผ่าน mqtt.yaml |
| Template | {{ value_json.X_mG }} |
| หน่วย | mG (มิลิกัล) |
| อัปเดต | ทุก 10 วินาที (ตามเซ็นเซอร์ส่ง) |
| จำนวน | 3 ต่อสถานี × 10 = 30 |
อ่านจาก topic: <ID>/1 (retained) | |
|---|---|
| Alert code | sensor.rugon_<id>_alertค่า: 9=กำลังเกิด, 1=เบา, 2=กลาง, 3=รุนแรง |
| Peak | sensor.rugon_<id>_peakค่าพีคสูงสุดของเหตุการณ์ (mG) |
| Event time | sensor.rugon_<id>_event_timeเวลาเหตุการณ์ (UTC → แปลงเป็นไทย) |
| จำนวน | 3 ต่อสถานี × 10 = 30 |
อ่านจาก topic: <ID>/1 | |
|---|---|
| Entity | binary_sensor.rugon_<id>_vibration |
| กลไก | ON เมื่อ alert == 9 (กำลังเกิด)OFF เมื่อ alert == 1/2/3 (จบแล้ว) |
| จำนวน | 1 ต่อสถานี × 10 = 10 |
| ไม่ได้อ่านจาก MQTT — คำนวณจาก X/Y/Z | |
|---|---|
| Entity | sensor.rugon_<id>_level |
| สูตร | max(X, Y, Z) — ค่าแกนที่แรงที่สุด |
| Attribute | level = 🟢 สงบ / 🟡 รับรู้ได้ / 🟠 เฝ้าระวัง / 🔴 แรงสั่นมาก |
| ไฟล์ | template.yaml — Jinja template ใน HA |
| จำนวน | 1 ต่อสถานี × 10 = 10 |
mqtt.yaml)- name: "RUGON P260109 X"
state_topic: "P260109/0"
value_template: "{{ value_json.X_mG }}"
unit_of_measurement: "mG"
icon: mdi:vibrate
expire_after: 60
อ่านค่า X_mG จาก JSON บน topic P260109/0
ถ้าไม่มีข้อมูล 60 วินาที → unavailable
mqtt.yaml)- name: "RUGON P260109 ALERT"
state_topic: "P260109/1"
value_template: "{{ value_json.alert }}"
- name: "RUGON P260109 PEAK"
state_topic: "P260109/1"
value_template: "{{ value_json.peak_mG }}"
unit_of_measurement: "mG"
อ่านจาก topic P260109/1 (retained)
3 sensors อ่าน JSON fields ต่างกันจาก topic เดียวกัน
template.yaml)- name: "RUGON P260109 LEVEL"
state: "{{ [states('sensor.rugon_p260109_x') | float(0),
states('sensor.rugon_p260109_y') | float(0),
states('sensor.rugon_p260109_z') | float(0)] | max | round(1) }}"
attributes:
level: "{{ '🟢 สงบ' if max < 2 else '🟡 รับรู้ได้' if max < 10 ... }}"
คำนวณสดทุกครั้งที่ X/Y/Z เปลี่ยน — ไม่ต้องรอ MQTT ส่งใหม่
| สถานี | ตำแหน่ง |
|---|---|
| P260109 | ชั้น 7 ด้านตะวันออก |
| S260110 | ชั้น 7 ด้านตะวันตก |
| S260111 | ชั้น 4 ด้านตะวันออก |
| S260112 | ชั้น 4 ด้านตะวันตก |
| S260113 | ชั้น 1 |
| สถานี | ตำแหน่ง |
|---|---|
| S260114 | ชั้น 6 ด้านตะวันออก |
| S260115 | ชั้น 6 ด้านตะวันตก |
| S260116 | ชั้น 3 ด้านตะวันออก |
| S260117 | ชั้น 3 ด้านตะวันตก |
| S260118 | ชั้น 1 |
เซ็นเซอร์ติดตั้งตั้งแต่ชั้น 1 ถึงชั้น 7 เพื่อวัดความเข้มสั่นที่ต่างกันตามความสูงของอาคาร
| ระดับ | ค่า (mG) | ความหมาย | Telegram | บันทึก |
|---|---|---|---|---|
| 🟢 | < 2 | สงบ — สภาพปกติ | — | ✅ |
| 🟡 | 2 – 10 | รับรู้ได้ — รถวิ่ง เครื่องจักร | — | ✅ |
| 🟠 | 10 – 50 | เฝ้าระวัง — แรงสั่นต่อเนื่องผิดปกติ | ถ้า 2 นาทีต่อเนื่อง | ✅ |
| 🔴 | > 50 | แรงสั่นมาก — อาจเป็นแผ่นดินไหว | ทันที | ✅ |
* ระดับ 🟠 มีระบบกันสแปม — ห่างกันอย่างน้อย 15 นาที
🟠 ระดับ 2 ปานกลาง (Moderate)
📍 Khampol F7 East (P260109)
📈 พีค: 150.54 mG
🕐 17/10/2026 11:29 น.
สรุประบบแรงสั่นสะเทือน
ออนไลน์ 10/10 • สูงสุด 0.7 mG
🟢 Khampol F7 East — 0.6 mG
🟢 Khampol F7 West — 0.5 mG
...
แจ้งเมื่อเงียบ > 2 นาที
แจ้งเมื่อกลับมาส่งข้อมูล
เช็คเวลา < 10 นาที
กัน alert เก่าจาก restart
| เวลา | 13:40 น. |
| ระดับ | 🟡 ระดับ 1 เบา (Light) |
| พีคสูงสุด | 80 mG (ชั้น 4) |
| ตรวจพบ | ทุกชั้น ทุกอาคาร |
| เวลา | 11:29 น. |
| ระดับ | 🟠 ระดับ 2 ปานกลาง |
| พีคสูงสุด | 150 mG (ชั้น 7) |
| ตรวจพบ | ทุกชั้น ทุกอาคาร |
ชั้นสูงสั่นแรงกว่าชั้นต่ำ
ชั้น 7 ≈ 150 mG → ชั้น 4 ≈ 80 mG → ชั้น 1 ≈ 20 mG
ตรงตามหลักฟิสิกส์ — อาคารสูงมีการแกว่งมากกว่า
Fleet Overview — ตาราง 10 สถานี + สถิติแบบ real-time
Station Detail + Heatmap — ค่าแรงสั่นรายสถานี 24 ชม. + ความเข้มตามเวลา
Event Timeline — ตารางเหตุการณ์แผ่นดินไหวพร้อมระดับและพีค
| เก็บอะไร | ค่า level ทุก 10 วินาที |
| ปริมาณ | ~390,000 แถว/วัน |
| เก็บนาน | 365 วัน (ลบเก่าอัตโนมัติ) |
| ใช้ทำ | Grafana Dashboard |
| เก็บอะไร | เหตุการณ์แผ่นดินไหว |
| ปริมาณ | ~20 แถว/เหตุการณ์ |
| เก็บนาน | ถาวร |
| ใช้ทำ | หลักฐาน JCI + รายงาน |
Dashboard วิเคราะห์ย้อนหลัง 7 panels (auto refresh 10 วินาที)
| การแจ้งเตือน Telegram | ระบบส่งสรุปอัตโนมัติทุกเช้า 08:00 น. และแจ้งเตือนทันทีเมื่อมีเหตุการณ์ |
| สถานีออฟไลน์ | ระบบแจ้งเตือนอัตโนมัติ — ตรวจสอบ WiFi ที่ตำแหน่งนั้น |
| การย้ายห้อง Telegram | ปัจจุบันอยู่ห้องทดสอบ (OBH Debug) — รอย้ายไปห้องจริง |
🌍
ตรวจจับจริง · แจ้งเตือนจริง · เก็บประวัติ
จัดทำโดย
RACKSYNC CO., LTD.
ตุลาคม 2569