
ในการออกแบบระบบ IoT บนโต๊ะทำงาน ทุกอย่างมักดูสมบูรณ์แบบ แต่เมื่อก้าวเข้าสู่ "ฟิลด์จริง" อย่างตู้แช่วัคซีนในสถานพยาบาล เราจะพบกับตัวแปรที่คาดไม่ถึงมากมาย เช่น
- สัญญาณรบกวนจากคอมเพรสเซอร์
- การเปลี่ยนแปลงอุณหภูมิจากการเปิด-ปิดตู้
- สภาพแวดล้อมที่ไม่เสถียร
1. การเผชิญหน้ากับ "Noise" ในตู้แช่
ในช่องแช่วัคซีน (Vaccine Freezer) อุปกรณ์ต้องทำงานท่ามกลางสัญญาณรบกวนจากมอเตอร์และระบบไฟฟ้า
สิ่งที่เกิดขึ้นบ่อยคือ:
เซนเซอร์ DS18B20 แสดงค่า Spike
ตัวอย่าง:
- ปกติ:
2°C - Spike:
85°C - แล้วกลับมา
2°C
ปัญหา: หากนำค่าที่ผิดพลาดนี้ไปใช้ทันที ระบบแจ้งเตือน (Alarm) จะทำงานผิดพลาด → เกิด False Alarm
2. กลไกการคัดกรอง: Median Filter
เพื่อแก้ปัญหานี้ เราใช้ Median Filter แทน Average
เปรียบเทียบ
| วิธี | ผลลัพธ์ |
|---|---|
| Average (ค่าเฉลี่ย) | (2 + 2 + 85) / 3 = 29.6°C ❌ |
| Median (ค่ากลาง) | เรียง → 2, 2, 85 → เลือก 2°C ✅ |
ข้อดีของ Median:
- ตัดค่า Outlier ได้ทันที
- ทนต่อ Noise สูง
- เหมาะกับระบบ Sensor ในภาคสนาม
3. Data Pipeline (กระบวนการประมวลผลข้อมูล)
เพื่อให้ข้อมูลที่ส่งขึ้น Dashboard เป็น "ความจริง" เท่านั้น ระบบทำงานตามลำดับดังนี้:
3.1 Sampling (การสุ่มอ่านค่า)
- อ่านค่าจากเซนเซอร์ 3 ครั้งติดกัน
- เพื่อใช้เปรียบเทียบ
3.2 Median Filtering (กรองค่าโดด)
- นำค่ามาเรียงลำดับ
- เลือกค่ากลาง
- ตัดค่าผิดปกติ เช่น
85°C
3.3 Physical Validation (ตรวจสอบความเป็นจริง)
- ตรวจสอบว่าอุณหภูมิไม่เปลี่ยนเร็วเกินจริง
- เช่น:
- ไม่เกิน
±1.5°C / รอบ
- ไม่เกิน
3.4 Transmission (ส่งข้อมูล)
- ส่งผ่าน MQTT
- แนบ Metadata เช่น:
- RSSI (ความแรง WiFi)
- Timestamp
4. ผลลัพธ์จากการใช้งานจริง
จากการติดตั้งใน:
- โรงพยาบาล
- สถานีอนามัย
ระบบสามารถทำงานได้:
- ✔ ไม่มี False Alarm
- ✔ ข้อมูลนิ่งแม้มี Noise
- ✔ รองรับการใช้งานหนัก (เปิด-ปิดตู้บ่อย)
บทสรุปจากสนามจริง
"ระบบ IoT ที่ดี ไม่ได้วัดกันที่ความแรงของ CPU แต่วัดกันที่ความสะอาดของข้อมูล (Data Integrity)"
แม้ในสภาวะที่ควบคุมไม่ได้ การออกแบบ Data Pipeline ที่ดี คือหัวใจของระบบที่ "เชื่อถือได้จริง"