ระบบทำงานโดยการประมวลผลข้อมูลเซนเซอร์แบบเรียลไทม์ด้วยวิธีการดังนี้:
-
การทำความสะอาดข้อมูล
- จัดการค่าที่หายไปด้วยการประมาณค่าในช่วง
- ลบข้อมูลที่มีเวลาซ้ำกัน
- ตรวจสอบช่วงค่าที่ถูกต้องสำหรับ:
- อุณหภูมิ (0-50°C)
- ความชื้น (0-100%)
- คุณภาพอากาศ (0-500)
-
การตรวจจับความผิดปกติ
- ใช้วิธี IQR (Interquartile Range) ในการตรวจจับค่าผิดปกติ
- วิธีการคำนวณ IQR:
- คำนวณ Q1 (ควอไทล์ที่ 1) คือค่าที่อยู่ที่ตำแหน่ง 25%
- คำนวณ Q3 (ควอไทล์ที่ 3) คือค่าที่อยู่ที่ตำแหน่ง 75%
- คำนวณ IQR = Q3 - Q1
- กำหนดขอบเขตบน = Q3 + (1.5 × IQR)
- กำหนดขอบเขตล่าง = Q1 - (1.5 × IQR)
- ค่าที่อยู่นอกขอบเขตจะถูกระบุว่าเป็นค่าผิดปกติ
- Docker และ Docker Compose
- Git
- Clone โปรเจค:
git clone <repository-url>
cd scgp-iot-testing
- รันระบบทั้งหมดด้วย Docker Compose:
cd deployment
docker-compose up --build
การรันจะเริ่ม:
- Backend API (FastAPI) ที่ http://localhost:8000
- Frontend (Vue.js) ที่ http://localhost:3000
- ระบบจำลองเซนเซอร์
สามารถดูเอกสาร API แบบ OpenAPI ได้ที่:
- http://localhost:8000/docs (Swagger UI)
- http://localhost:8000/redoc (ReDoc)
/scgp-iot-testing
├── backend/ # แอพพลิเคชัน FastAPI
├── frontend/ # ส่วนติดต่อผู้ใช้ Vue.js
- ระบบจะรับข้อมูลจากเซนเซอร์ผ่าน API
- ทำการประมวลผลและทำความสะอาดข้อมูลอัตโนมัติ
- ตรวจจับความผิดปกติและแสดงผลบนหน้าเว็บ
- เก็บข้อมูลลงฐานข้อมูล SQLite
- แสดงผลกราฟและสถิติต่างๆ บนหน้าเว็บ