เคยสงสัยไหมว่าห้องที่เราอยู่ทุกวันมี "รูปแบบพฤติกรรม" ซ่อนอยู่? ไม่ใช่แค่เรื่องอุณหภูมิที่เปลี่ยนไป หรือการจับความเคลื่อนไหวทั่วไป แต่รวมถึงแรงสั่นสะเทือนเล็กๆ เสียงรอบข้าง และคลื่นแม่เหล็ก วันนี้เราจะพาไปรู้จักกับโปรเจกต์ H.S.A (Habitat Signature Analyzer) ที่จะเปลี่ยนบอร์ด Arduino ให้กลายเป็น AI คอยอ่าน "บุคลิก" และสถานะของห้องแบบเรียลไทม์
ที่สำคัญคือระบบนี้เป็นแบบ Edge AI ทำงานจบในตัว ไม่ต้องส่งข้อมูลขึ้น Cloud ให้ยุ่งยากและเปลืองเน็ตเลย!
Step 1: รู้จักฮาร์ดแวร์หลัก (The Hardware Foundation)
โปรเจกต์นี้ใช้ขุมพลังจากบอร์ด Arduino 2 ตัวที่ทำงานสอดประสานกัน:
-
Arduino Nano 33 BLE Sense Rev2: ทำหน้าที่เป็น "ประสาทสัมผัส" ตัวนี้มีเซนเซอร์ถึง 7 ชนิด ครอบคลุมทั้ง IMU (แรงสั่นสะเทือน), ไมโครโฟน (เสียง), แม่เหล็ก, ความใกล้ชิด (Proximity), ความกดอากาศ, อุณหภูมิ และความชื้น
-
Arduino UNO-Q: ทำหน้าที่เป็น "สมอง" คอยรันระบบ Linux, Python, ฐานข้อมูล InfluxDB และแดชบอร์ด Grafana
Step 2: การรวมข้อมูลเซนเซอร์และฝึก AI (Sensor Fusion)
ตัวเซนเซอร์มีความลับบางอย่างซ่อนอยู่! ตอนพัฒนาระบบพบว่าเซนเซอร์แม่เหล็ก (Magnetometer) สามารถจับการรบกวนของคลื่นแม่เหล็กตอนคนเดินผ่านหรือมีอุปกรณ์อิเล็กทรอนิกส์อยู่ใกล้ๆ ได้ และเซนเซอร์ Proximity ก็ช่วยแยกแยะระหว่าง "ห้องว่าง" กับ "ห้องที่มีคนนั่งนิ่งๆ" ได้ขาดลอย
โมเดล AI ที่ใช้คือ Random Forest เพราะมีความโปร่งใส เราสามารถตรวจสอบได้ว่า AI ตัดสินใจจากเซนเซอร์ตัวไหนเป็นหลัก (ต่างจาก Deep Learning ที่มักจะเป็นกล่องดำ)
Step 3: โค้ดและการสื่อสาร (The CODE)
ตัว Nano จะไม่ส่งข้อมูลเสียงดิบๆ ไปให้ UNO-Q แต่จะประมวลผลคลื่นเสียงผ่านกระบวนการ FFT ภายในตัวเองก่อน จากนั้นแพ็กข้อมูลเซนเซอร์ทั้งหมดให้เหลือแค่ 118-byte แล้วส่งผ่านพอร์ต UART อย่างรวดเร็ว (10 ครั้งต่อวินาที) ทำให้ระบบเสถียรมากและไม่กินแบนด์วิดท์
Step 4: การติดตั้งระบบ (Installation)
การเซ็ตอัป UNO-Q จะทำผ่าน SSH แบบสาย Linux โดยเราต้องติดตั้ง Python, InfluxDB (สำหรับเก็บข้อมูล) และ Grafana (สำหรับทำแดชบอร์ดแสดงผล)
Step 5: สอน AI ให้รู้จักห้องของเรา (Data Collection)
เพื่อให้ระบบทำงานได้แม่นยำ เราต้องสอน AI ให้รู้จัก 4 สถานะหลักของห้อง ได้แก่:
-
Calme (เงียบสงบ): ห้องว่าง ไม่มีคน ไม่มีเสียง
-
Presence (มีคนอยู่): มีคนอยู่ในห้อง แต่อาจนั่งทำงานนิ่งๆ
-
Activite (มีการเคลื่อนไหว): มีการเดินหรือขยับตัวไปมาในห้อง
-
Ambiance (มีบรรยากาศ/เสียง): มีการเปิดเพลงหรือทีวี
Step 6: เก็บข้อมูลด้วย InfluxDB
ข้อมูลทั้งหมดจะถูกเก็บลง InfluxDB ซึ่งเป็นฐานข้อมูลที่ออกแบบมาเพื่อเก็บข้อมูลแบบ Time-Series (อิงตามเวลา) โดยเฉพาะ ข้อดีคือข้อมูลประวัติการใช้งานห้องจะถูกบันทึกไว้ในหน่วยความจำ eMMC ของเครื่อง UNO-Q เปิดเครื่องใหม่ข้อมูลก็ไม่หาย!
Step 7: ดูผลลัพธ์ผ่านแดชบอร์ด Grafana
ระบบมีแดชบอร์ด 2 ตัวหลัก:
-
แดชบอร์ดเซนเซอร์ดิบ: ไว้ดูค่าสถิติต่างๆ แบบเรียลไทม์ เช่น คลื่นเสียง แรงดันอากาศ หรือคลื่นแม่เหล็ก
-
แดชบอร์ด AI (Habitat Rescue): แสดงผลลัพธ์ว่าตอนนี้ห้องอยู่ในโหมดไหน (Calme, Presence ฯลฯ) พร้อมบอกความมั่นใจของ AI เป็นเปอร์เซ็นต์
Step 8: นำไปต่อยอดใช้งานจริง (Conclusion)
พอเรามี AI ที่เข้าใจพฤติกรรมของห้องแล้ว เราก็เอาไปเชื่อมกับระบบ Smart Home (เช่น Home Assistant) ได้เลย ตัวอย่างเช่น:
-
Eco mode: หรี่ไฟหรือลดแอร์เมื่อห้องอยู่ในโหมด Calme นานๆ
-
Comfort mode: เปิดไฟและปรับอุณหภูมิเมื่อจับสถานะ Presence ได้
-
Security mode: แจ้งเตือนเมื่อพบสถานะ Activite ในช่วงเวลาที่ห้องควรจะ Calme (ตอนดึก)

พร้อมลุยโปรเจกต์ IoT ของตัวเองหรือยัง?
คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา