MPU6050 คืออะไร
MPU6050 เป็นชิปเซ็นเซอร์ผลิตโดย InvenSense วัดการเคลื่อนไหวแบบ 6 แกน ประกอบด้วย Accelerometer 3 แกนและ Gyroscope 3 แกน ความละเอียด 16-bit ความถี่การสุ่มตัวอย่างสูงสุด 1,000 Hz รองรับการสื่อสารผ่าน I2C และ SPI ราคาประมาณ 50-150 บาทในไทย เหมาะสำหรับตรวจจับการสั่นสะเทือนที่เกิดจากแผ่นดินไหวเพราะตรวจพบการเปลี่ยนแปลงความเร่งในแนวแกน X Y และ Z พร้อมกัน
ESPHome คืออะไรและทำไมถึงใช้
ESPHome เป็น Firmware แบบ Open Source สำหรับ ESP32 และ ESP8266 ที่ออกแบบมาให้ทำงานร่วมกับ Home Assistant ได้อย่างสมบูรณ์ การตั้งค่าทำผ่านไฟล์ YAML ที่อ่านง่าย ไม่จำเป็นต้องเขียนโค้ด C++ เองแต่อย่างใด ESPHome รองรับ MPU6050 ผ่าน Component ในตัว จึงตั้งค่าได้ในไม่กี่บรรทัด
อุปกรณ์ที่ต้องใช้
อุปกรณ์หลักประกอบด้วย MPU6050 1 ตัว ESP32 หรือ ESP8266 NodeMCU 1 ตัว สาย Dupont เพศผู้-เพศเมีย 4 เส้น สายไมโคร USB 1 เส้น และคอมพิวเตอร์ที่ติดตั้ง Home Assistant แล้ว ทั้งหมดหาซื้อได้ที่ร้านอิเล็กทรอนิกส์ทั่วไปหรือ Shopee/Lazada ราคารวมไม่เกิน 500 บาท
การต่อสาย
สำหรับ ESP32 ต่อสายดังนี้ VCC ของ MPU6050 ต่อกับ 3.3V ของ ESP32 GND ต่อกับ GND SDA ต่อกับ GPIO21 และ SCL ต่อกับ GPIO22 สำหรับ ESP8266 NodeMCU ใช้ SDA ต่อกับ GPIO4 (D2) และ SCL ต่อกับ GPIO5 (D1) ส่วน VCC และ GND เหมือนกัน ควรตรวจสอบ Pinout ของบอร์ดที่ใช้ก่อนต่อสายทุกครั้ง
ติดตั้ง ESPHome และสร้างอุปกรณ์ใหม่
เปิด Home Assistant ไปที่ Settings เลือก Add-ons แล้วติดตั้ง ESPHome Add-on จาก Add-on Store หลังติดตั้งเสร็จ เปิด ESPHome Dashboard สร้างอุปกรณ์ใหม่ ตั้งชื่อ เลือกประเภทบอร์ด และเพิ่ม YAML Configuration สำหรับ MPU6050 ดังนี้
i2c หัวข้อ sda ระบุ 21 scl ระบุ 22 sensor platform ระบุ mpu6050 address ระบุ 0x68 accel_x name ระบุ Accel X accel_y name ระบุ Accel Y accel_z name ระบุ Accel Z update_interval ระบุ 100ms
จากนั้นกด Install และ ESPHome จะอัปโหลด Firmware ไปยังบอร์ดผ่าน USB โดยอัตโนมัติ
ตั้งค่า Automation ใน Home Assistant
หลังจากบอร์ดออนไลน์ Home Assistant จะตรวจพบเซ็นเซอร์โดยอัตโนมัติผ่าน Auto-Discovery จากนั้นสร้าง Automation โดยกำหนด Trigger เป็น Numeric State ของ Accel X หรือ Y หรือ Z เกินค่า Threshold ที่กำหนด เช่น 0.5g และกำหนด Action ให้ส่ง Notification ไปยังมือถือ เปิดไฟฉุกเฉิน และปลดล็อกประตูทางออก
ทดสอบระบบโดยการเขย่าเซ็นเซอร์เบา ๆ เพื่อดูว่า Automation ทำงานถูกต้องหรือไม่ ปรับค่า Threshold ตามความเหมาะสมกับสภาพแวดล้อมจริง
เทคนิคขั้นสูง
สำหรับบ้านหลายชั้น ติดตั้ง MPU6050 หลายตัวแยกตามชั้น แต่ละตัวรายงานกลับ Home Assistant แยกกัน ช่วยระบุพื้นที่ที่ได้รับแรงสั่นสะเทือนมากที่สุด สำหรับการวิเคราะห์ข้อมูล ใช้ Node-RED สร้าง Dashboard แสดงกราฟ Real-Time หรือบันทึกข้อมูลไปยัง InfluxDB และ Grafana เพื่อวิเคราะห์แนวโน้มการสั่นในระยะยาว หรือส่งข้อมูลไปยัง Google Sheets ผ่าน Google Apps Script เพื่อเก็บบันทึกเหตุการณ์