12/04/2026 18:16น.

EP.118 การสร้างระบบ AI + WebSocket สำหรับ IoT แบบเรียลไทม์
#Go
#IoT
#WebSocket
#AI
#Real-time System
เมื่อระบบ IoT ขยายตัวขึ้นจากแค่การแสดงผลแบบ Real-time ไปสู่ การวิเคราะห์อัตโนมัติและคาดการณ์ล่วงหน้า
ความสามารถใหม่ที่ระบบต้องมี ได้แก่:
- วิเคราะห์ข้อมูลจาก Sensor ได้ทันที
- ตรวจจับความผิดปกติ (Anomaly Detection)
- คาดการณ์ปัญหาก่อนที่จะเกิด (Predictive Maintenance)
- แจ้งเตือนอัตโนมัติเมื่ออุปกรณ์มีแนวโน้มเสีย
บทความนี้จะพาคุณสร้าง AI-powered IoT System ที่ใช้ Go + WebSocket เป็น data pipeline แบบเรียลไทม์ และ AI/ML เป็น “สมองวิเคราะห์” สำหรับงานด้าน Smart Factory, Smart City, Smart Energy และ Industrial IoT
🧠 ภาพรวม Architecture: AI + WebSocket + IoT
ระบบจะมี 5 องค์ประกอบหลัก:
- IoT Device
อุปกรณ์ Sensor เช่น ESP32, Raspberry Pi หรือ Device ใด ๆ ที่สามารถเชื่อมต่อผ่าน WebSocket - WebSocket Server (Go)
เป็น Gateway ที่รับข้อมูล Sensor และกระจายไปยัง AI Engine และ Dashboard - AI/ML Engine
ประมวลผลข้อมูลแบบ Real-time ทั้งการตรวจจับ Anomaly และการคาดการณ์ล่วงหน้า - Alert System
แจ้งเตือนแบบทันทีเมื่อพบความผิดปกติ หรือมีความเสี่ยงสูง - Monitoring Dashboard
แสดงผลข้อมูล sensor และผลวิเคราะห์แบบ Real-time ด้วย WebSocket
📡 1. โครงสร้างข้อมูล Sensor ที่เหมาะกับ AI
{
"device_id": "MOTOR-01",
"temperature": 78.2,
"vibration": 0.92,
"current": 15.3,
"timestamp": 1734512000
}
✅ คำแนะนำ:
- ใช้ข้อมูลแบบตัวเลข (numeric)
- มี timestamp ชัดเจน
- ส่งข้อมูลต่อเนื่องแบบ stream
🔌 2. WebSocket Server (Go) สำหรับ IoT + AI
type SensorPayload struct {
DeviceID string `json:"device_id"`
Temperature float64 `json:"temperature"`
Vibration float64 `json:"vibration"`
Current float64 `json:"current"`
Timestamp int64 `json:"timestamp"`
}
func handleIoT(conn *websocket.Conn) {
for {
var payload SensorPayload
if err := conn.ReadJSON(&payload); err != nil {
return
}
result := analyzeSensor(payload)
conn.WriteJSON(result)
}
}
⚠️ 3. การตรวจจับ Anomaly แบบ Real-time
ตัวอย่างการตรวจจับ Anomaly เบื้องต้น:
func detectAnomaly(temp float64) bool {
const maxTemp = 85.0
return temp > maxTemp
}
func analyzeSensor(data SensorPayload) map[string]interface{} {
anomaly := detectAnomaly(data.Temperature)
return map[string]interface{}{
"device_id": data.DeviceID,
"anomaly": anomaly,
"message": "Temperature anomaly detected",
}
}
🔮 4. Predictive Maintenance คืออะไร?
การคาดการณ์ว่าอุปกรณ์ จะเกิดปัญหาในอนาคต โดยอาศัย:
- ข้อมูลย้อนหลัง (historical sensor data)
- รูปแบบของค่าต่าง ๆ (pattern)
- AI/ML Model เช่น Time-series Forecasting, LSTM, Gradient Boosting
📌 ตัวอย่าง:
- Vibration เพิ่มขึ้นเรื่อย ๆ → เสี่ยง Bearing พัง
- Temperature สูงผิดปกติ → เสี่ยง Overheat
🤖 5. เชื่อม AI/ML Model เข้ากับ WebSocket
โครงสร้างระบบ:
- AI Model รันแยกเป็น Microservice (Python / FastAPI)
- WebSocket Server (Go) ส่งข้อมูลไปให้ผ่าน HTTP/gRPC
- รอผลลัพธ์ → ส่งกลับ Dashboard
func callAIService(data SensorPayload) (string, error) {
// เรียกใช้ AI service ที่แยกอยู่ภายนอก
return "Maintenance required in 24 hours", nil
}
🚨 6. ส่ง Real-time Alert ผ่าน WebSocket
เมื่อพบความเสี่ยง:
{
"type": "ALERT",
"device_id": "MOTOR-01",
"severity": "HIGH",
"action": "Inspect motor within 24 hours"
}
WebSocket เหมาะกับ Alert แบบ Real-time มากกว่าการใช้ REST API หรือ polling
📊 7. Dashboard & Visualization
หน้าที่ของ Dashboard:
- แสดงค่าจาก Sensor แบบสด
- ไฮไลต์อุปกรณ์ที่มีปัญหา
- แสดง Timeline การคาดการณ์
👨💻 สามารถใช้ร่วมกับ React, Vue, Angular → WebSocket Client ไม่ต้อง polling → ประหยัด bandwidth และเร็วกว่า
🔐 8. Security ที่ห้ามละเลยในระบบ AI + IoT
- ✅ Device Authentication (Token / JWT)
- ✅ Rate Limiting ต่อ Device
- ✅ ตรวจสอบและ validate ข้อมูล Sensor
- ✅ จำกัดสิทธิ์ผู้ใช้งานและการเข้าถึงผล AI
🚀 ท้าให้ลอง!
🧪 ลองทำ Mini Project:
- เขียน script จำลอง Device ส่งอุณหภูมิทุก 1 วินาที
- WebSocket Server วิเคราะห์ anomaly
- ถ้าค่าเกิน → ส่งแจ้งเตือนกลับทันที
- เก็บข้อมูลลง DB เพื่อใช้กับ AI Model ในอนาคต
นี่คือรากฐานของระบบแบบ Smart Factory, Smart Farming, และ Predictive Maintenance แบบที่ใช้งานจริงในอุตสาหกรรม!
🔮 EP.119: Real-time Collaborative Document Editing
ตอนหน้าเราจะพาคุณสร้างระบบ “แก้เอกสารพร้อมกันแบบ Google Docs” ด้วย WebSocket, Conflict Resolution และเทคนิคการ Sync แบบ Real-time 💬
ถ้าคุณอ่านมาถึงตรงนี้... คุณพร้อมแล้วที่จะสร้าง Real-time System ที่มี AI เป็นผู้ช่วย! แล้วพบกันในตอนต่อไปครับ 🚀