THELIMA ใช้ Arduino UNO Q + Edge AI เฝ้าความผิดปกติของน้ำยังไง?

น้ำที่ดูใสด้วยตาเปล่า ไม่ได้บอกเราว่าคุณภาพน้ำทุกอย่างอยู่ในสภาวะปกติ และปัญหาใหญ่ของแหล่งน้ำชุมชนหลายแห่ง คือการตรวจแบบเป็นช่วง ๆ ทำให้ความเปลี่ยนแปลงที่เกิดระหว่างการเก็บตัวอย่าง อาจไม่ถูกมองเห็นทันที

THELIMA จึงทดลองเปลี่ยนโจทย์จาก “รอให้รู้ก่อนว่าปัญหาคืออะไร” มาเป็น “เรียนรู้ว่าน้ำปกติมี Pattern แบบไหน แล้วเฝ้าดูว่าค่าปัจจุบันเบี่ยงออกไปมากแค่ไหน”

ระบบใช้ pH, TDS, Turbidity และ Temperature เป็นข้อมูลเข้า ส่งจาก Sensor Buoy ไปยัง Base Station ที่มี Arduino UNO Q ก่อนใช้ K-means Anomaly Detection สร้าง Anomaly Score สำหรับช่วย Flag เหตุการณ์ที่ควรได้รับการตรวจเพิ่มเติม

THELIMA ระบบตรวจติดตามความผิดปกติของน้ำด้วย Arduino UNO Q และ Sensor Buoy
THELIMA เป็น Prototype สำหรับเฝ้าความเปลี่ยนแปลงของคุณภาพน้ำ โดยรวม Sensor Buoy, Arduino UNO Q และ Edge AI
Key Takeaways
  • THELIMA ใช้ pH, TDS, Turbidity และ Temperature เป็นข้อมูลหลัก 4 ค่า
  • ระบบใช้ K-means Anomaly Detection เรียนรู้ Pattern ของ “Normal Water”
  • 4 Sensor × 5 Statistics ถูกแปลงเป็น 20 Features ต่อ Window
  • Training Set ที่ Source รายงานมี 1,540 Windows จากข้อมูล Normal ประมาณ 3 ชั่วโมง
  • Anomaly Score คือระยะห่างจาก Learned Cluster ไม่ใช่เปอร์เซ็นต์ความอันตราย
  • THELIMA ไม่ได้ตรวจ Virus, Coliform, MPN, COD หรือ Hepatitis A โดยตรง
  • Edge Impulse Model ถูก Build เป็น .eim สำหรับ Linux / Arduino UNO Q
  • Base Station มี GSM สำหรับส่งข้อมูลแจ้งเตือน แต่ Source มีความไม่สอดคล้องระหว่าง SIM800C กับ SIM800L V2
  • Buoy และโครงภายในมี STL ให้ดาวน์โหลดและสามารถพิมพ์ 3D ได้
  • Project ยังระบุสถานะ Work in progress

น้ำใสไม่ได้แปลว่าน้ำปลอดภัย

ภาพการสำรวจและเก็บตัวอย่างน้ำที่ใช้เป็นบริบทของโครงการ THELIMA
ทีมผู้สร้างใช้การสำรวจภาคสนามและการทดสอบตัวอย่างน้ำ เป็นจุดเริ่มต้นในการออกแบบระบบ Monitoring

ผู้สร้าง THELIMA เริ่มจาก Pain Point ว่าแหล่งน้ำชุมชนอาจถูกใช้งานทุกวัน แต่ไม่มีระบบ Monitoring ต่อเนื่อง และการตรวจ Laboratory มักต้องมีการเก็บ Sample, ขนส่ง และรอผล

ใน Field Survey ของทีม ผู้สร้างรายงานว่า Sample ที่ตรวจ มีผล MPN Positive, พบ COD สูง และมี pH ลดลงถึง 5.71 ในบาง Community Water Source

ข้อมูล Field Survey ต้องอ่านตามขอบเขตของ Source: ผลเหล่านี้เป็นข้อมูลที่ทีมผู้สร้างรายงานจากการสำรวจของตนเอง บทความนี้ไม่ได้ถือว่าเป็น Independent Government Survey ที่ได้รับการ Verify แยกต่างหาก

อีกประเด็นที่ Main Source ใช้เป็น Context คือจำนวน Hepatitis A ใน Kerala แต่ตัวเลข 31,536 confirmed/probable cases และ 82 deaths ที่ถูกอ้างถึง เป็นยอดระดับรัฐในปี 2025 ไม่ควรถูกเขียนว่าเกิดจากแหล่งน้ำเพียงแหล่งเดียว

THELIMA คืออะไร และมันตรวจอะไรได้จริง?

ภาพจากโครงการ THELIMA แสดงแนวคิดระบบตรวจติดตามคุณภาพน้ำ
Concept ของ THELIMA คือรวม Sensor หลายค่า แล้วให้ Edge AI เฝ้าดูการเบี่ยงออกจากสภาพปกติ

THELIMA เป็น Water-quality anomaly screening prototype มากกว่าเครื่อง Laboratory ที่วิเคราะห์เชื้อหรือสารปนเปื้อนโดยตรง

Input ปัจจุบันมี:

  • pH
  • TDS
  • Turbidity
  • Temperature

แล้วใช้ Machine Learning ดูว่า Pattern ของ Sensor ทั้ง 4 ค่า เบี่ยงจาก Normal Baseline มากน้อยแค่ไหน

THELIMA ไม่ได้ตรวจ Pathogen โดยตรง:
ระบบไม่มี Sensor ที่ตรวจ Hepatitis A, E. coli, Coliform, MPN หรือ COD โดยตรง

Anomaly Score ที่สูง จึงหมายถึง “รูปแบบ Sensor เบี่ยงจากสิ่งที่ Model เรียนรู้ว่าเป็นปกติ” ไม่ใช่การยืนยันว่าเจอเชื้อหรือสารปนเปื้อนชนิดใดชนิดหนึ่ง

Sensor 4 ตัวที่ THELIMA ใช้เป็น Input

Input บทบาทในระบบ สิ่งที่ Source ยังไม่ได้ระบุครบ
pH ติดตามการเปลี่ยนแปลงความเป็นกรด-ด่าง Analog front-end, Calibration Method และ Accuracy ของ Build
TDS เป็นหนึ่งใน Axis ของ Anomaly Model Sensor Model, Calibration และ Temperature Compensation
Turbidity เป็นหนึ่งใน Axis ของ Anomaly Model Sensor Model, Calibration Curve และ Accuracy
Temperature วัดด้วย Waterproof DS18B20 ตาม BOM Source ไม่ได้ให้ Performance ของ System Assembly

จุดสำคัญคือ Model ไม่ได้อ่าน Sensor เหล่านี้แยกกันแล้วใช้ Threshold อย่างเดียว แต่รวมพฤติกรรมของทั้ง 4 Axis เพื่อสร้าง Feature สำหรับ Anomaly Detection

Sensor Buoy กับ Base Station แบ่งหน้าที่อย่างไร?

ภาพจาก Source แสดง Architecture ของ THELIMA ระหว่าง Sensor Buoy และ Processing Unit
THELIMA แยก Sensor Buoy ออกจาก Base Station เพื่อให้ส่วน Sensor ลงไปใกล้น้ำ ขณะที่ Compute และ Communication อยู่ใน Junction Box
pH + TDS + Turbidity + Temperature

Sensor BuoyCAT / LAN CableArduino UNO Q

K-means Anomaly DetectionScore / AlertGSM

Sensor Buoy มีหน้าที่ อยู่ใกล้แหล่งน้ำและรับค่าจาก Sensor ขณะที่ Base Station รวม Power Distribution, Arduino UNO Q, GSM และอุปกรณ์ Communication ไว้ใน Enclosure แยกต่างหาก

CAT / LAN Cable ใน Project ใช้ทำอะไร?

Source ใช้คำว่า “LAN cable” และ “LAN connector” สำหรับการเชื่อมระหว่าง Buoy กับ Base Station

แต่ข้อมูลที่ให้มา ไม่ได้ยืนยันว่าระบบใช้ Ethernet Protocol, TCP/IP หรือ Ethernet PHY บนสายเส้นนี้

คำที่ตรงกับ Source มากกว่าคือ: CAT/LAN cable used as a physical interconnect สำหรับส่ง Sensor Signals / Power ระหว่างสองส่วนของระบบ

ดังนั้นบทความนี้จะไม่เรียก Link นี้ว่า “Ethernet Network” หาก Source ไม่ได้ระบุ Protocol เพิ่มเติม

Arduino UNO Q รับบทอะไรใน THELIMA?

UNO Q เป็น Central Processing Unit ที่ผู้สร้างระบุหน้าที่ไว้ 3 อย่าง:

  1. รับข้อมูลจาก Sensor Buoy
  2. ประมวลผลและหา Anomaly Score
  3. ส่ง Health / Anomaly Information ผ่าน GSM

จุดเด่นของ UNO Q คือมีทั้ง Microcontroller และ Linux-capable MPU ทำให้สามารถรวม Hardware Control กับ Edge AI Runtime อยู่ใน Platform เดียวกันได้

Edge Impulse Model ใน Project ถูก Deploy เป็น Linux .eim สำหรับ AARCH64 / Arduino UNO Q ไม่ได้เป็นเพียง Arduino Sketch ธรรมดา

Sensor Fusion กลายเป็น 20 Features ได้อย่างไร?

ภาพจาก Source แสดงข้อมูลหรือ Workflow ของ Water Quality Sensor Fusion
THELIMA ไม่ได้ใช้ Reading จุดเดียว แต่ใช้ข้อมูลเป็นช่วงเวลาเพื่อสร้าง Feature สำหรับ Anomaly Detection

Processing Block ใน Edge Impulse ใช้ Flatten เพื่อสรุป Reading ของแต่ละ Axis ออกมาเป็น 5 Statistics:

  • Average
  • Minimum
  • Maximum
  • Root-mean-square (RMS)
  • Standard deviation

THELIMA มี 4 Input Axis:

pH + Turbidity + TDS + Temperature
×
5 Statistics = 20 Features

Source รายงาน Cost ของ Flatten Block ใน Project นี้ประมาณ 1 ms processing time และ 608 bytes peak RAM ตามค่าที่ Edge Impulse แสดงใน Training Workflow

ทำไมเลือก K-means Anomaly Detection แทน Classifier?

ถ้าจะ Train Classifier แบบปกติ เราต้องมี Label ของปัญหาที่อยากรู้จัก เช่น:

  • normal
  • contamination type A
  • contamination type B
  • sensor fouling
  • sensor drift
  • อื่น ๆ

ปัญหาคือในโลกจริง เราอาจไม่มีตัวอย่างทุก Failure Mode ที่จะเกิดขึ้นในอนาคต

THELIMA จึงใช้แนวคิด:

Learn NormalCreate Normal ClustersNew WindowMeasure DistanceAnomaly Score

ถ้า Window ใหม่อยู่ใกล้กลุ่ม Normal Score จะต่ำกว่า แต่ถ้าอยู่ห่างจากทุก Cluster Score จะสูงขึ้น

K-means บอกว่า “ผิดปกติ” ไม่ได้บอกว่า “ผิดปกติเพราะอะไร”: Project ยังไม่ได้ Classify Fault Type เป็น Output ปัจจุบัน และผู้สร้างวาง Fault-type Classification ไว้เป็น Future Plan

Train “Normal Water” แทนการ Label ปัญหาทุกชนิด

หน้าจอจากขั้นตอน Training Edge Impulse ของโครงการ THELIMA
ผู้สร้างใช้ Edge Impulse สร้าง Anomaly Detection Model จากข้อมูลที่กำหนดเป็น Normal
Training Detail ค่าที่ Source รายงาน
Training Data 3 h 4 m 48 s
Training Windows 1,540
Training Class normal เพียง Class เดียว
Window Size 28.8 s
Stride 6 s
Features 20
Normalization scikit-learn StandardScaler
K-means Clusters 32

StandardScaler มีบทบาทสำคัญ เพราะ Sensor แต่ละ Axis มี Numeric Range ไม่เท่ากัน เช่น TDS อาจมีค่าตัวเลขใหญ่กว่า pH

การ Normalize ช่วยลดโอกาสที่ Axis ที่มีตัวเลขใหญ่กว่า จะครอง K-means Distance เพียงเพราะ Scale ต่างกัน

หน้าจอเพิ่มเติมจาก Edge Impulse ของ THELIMA
ขั้นตอนเพิ่มเติมจาก Workflow การสร้าง Feature และ Training ใน Edge Impulse
หน้าจอ Anomaly Detection จากโครงการ THELIMA
ตัวอย่างหน้าจอจากขั้นตอน Anomaly Detection ตาม Source ของผู้สร้าง

Anomaly Score หมายความว่าอะไร?

Output ของ K-means ไม่ใช่คำว่า:

  • clean
  • bacteria
  • chemical
  • safe
  • unsafe

แต่เป็น ระยะห่างจาก Learned Cluster ใน Feature Space

Source ยกตัวอย่าง Test Sample sensor_fouling.010 ซึ่งให้:

Metric ตัวอย่างจาก Source
Minimum Anomaly Score 4.3924
Maximum Anomaly Score 45.0210
Average Anomaly Score 31.1626
Anomaly Score ไม่มีหน่วย: ค่า 31.16 ไม่ได้แปลว่า “น้ำอันตราย 31.16%” และไม่ใช่ค่า WQI แบบ Regulatory แต่เป็น Distance ใน Model Feature Space

แล้วข้อความ “20 anomaly” คืออะไร?

Source อธิบายว่า ตัวเลขนี้หมายถึงจำนวน Window ภายใน Test Sample ที่ถูก Flag ว่าเป็น Anomaly

20 anomaly ≠ Severity 20:
ถ้า Sample มีประมาณ 50 Windows แล้ว 20 Windows ถูก Flag นั่นหมายถึงมี 20 Window ที่อยู่นอก Learned Clusters ไม่ใช่ระดับความรุนแรง 20

มี Accuracy เท่าไร?

Source ปัจจุบันไม่ได้ให้ Accuracy % ที่สามารถนำมาใช้เป็น Performance Claim ได้ตรง ๆ

Edge Impulse อาจแสดง N/A ใน Confusion Matrix เพราะ Expected Label ใช้ชื่ออย่าง sensor_fouling หรือ sensor_drift แต่ Anomaly Model Output มีเพียง anomaly / no anomaly

ดังนั้นบทความนี้จะไม่สร้าง Accuracy, Precision, Recall หรือ F1 ของ THELIMA ขึ้นเอง

Deploy Edge Impulse `.eim` ลง Arduino UNO Q อย่างไร?

หลัง Train Model เสร็จ ผู้สร้างเลือก Deployment Target ที่ตรงกับ Linux Architecture ของ UNO Q

Source ระบุ Artifact ของ Project เป็น:

water-quality-node-linux-aarch64-v6-impulse-#1.eim
ขนาดประมาณ 4.9 MB ตาม Source

`.eim` เป็น Executable ที่รวม DSP Pipeline และ Trained Model ไว้ในไฟล์เดียว

.eim ต้องตรงกับ Architecture: Build สำหรับ AARCH64 ไม่ควรถูกมองว่าเป็น Binary ที่นำไปใช้กับ CPU Architecture อื่นได้โดยอัตโนมัติ

Source แนะนำให้:

  1. เก็บ `.eim` ไว้ใน Project
  2. ทำให้ไฟล์ Executable
  3. ทดสอบด้วย Edge Impulse Linux Runner
  4. Feed Window 28.8 วินาทีตาม Axis Order ที่ Model ใช้
  5. เทียบ Anomaly Score กับ Threshold ที่ Calibrate จากข้อมูลจริง

Arduino App Lab เชื่อม Sketch + Linux + AI เข้าด้วยกันอย่างไร?

หน้าจอ Arduino App Lab ที่ใช้กับโครงการ THELIMA
THELIMA ใช้ Arduino App Lab เป็นส่วนหนึ่งของ Workflow ในการ Import และ Run Application บน UNO Q

Source ให้ Workflow ดังนี้:

  1. Connect และเลือก Arduino UNO Q
  2. เปิด Apps Workspace
  3. กด Create new app
  4. เลือก Import App
  5. Import Project ZIP เช่น WaterQualityAI.zip
  6. เปิด App และกด Run
ZIP ต้องเป็น App Lab Project Export: Source ระบุว่า Bare Arduino Sketch Folder อย่างเดียว จะไม่ใช่ Package รูปแบบเดียวกับ App Lab Import

SMS Alert ใช้ GSM แบบไหน?

ภาพจาก Source แสดงผลการแจ้งเตือนหรือข้อความจากระบบ THELIMA
แนวคิดของ THELIMA คือส่ง Score / Alert ไปยัง Local Representative เพื่อให้มีคนเข้าตรวจสอบหรือดำเนินการต่อ

Main Hardware List ระบุ SIM800C สำหรับ Communication

แต่ Source เขียนว่ารองรับ “2G/3G” ซึ่งต้องแก้ความเข้าใจ:

SIM800C เป็น 2G GSM/GPRS ไม่ใช่ 3G:
ถ้า Hardware ที่ใช้จริงคือ SIM800C การเชื่อมต่อ Cellular ต้องอาศัย Network 2G ที่ยังให้บริการในพื้นที่ Deploy

แล้ว SIM800L V2 มาจากไหน?

อีกส่วนของ Build Instruction กลับกล่าวถึง “GSM 800L V2” และ Capacitor 1000 µF บน Power Rail

นั่นทำให้ Source มี Conflict ว่า Hardware จริงเป็น:

  • SIM800C bare module
  • SIM800L V2 development board
  • หรืออีก Board Revision
บทความนี้จึงไม่สร้าง GSM Wiring: Voltage และ Power Interface ต้องตรวจจาก Module / Board Revision ที่ใช้งานจริงก่อน

Location ใน SMS มาจากไหน?

Source บอกว่าส่ง Health Score และ Address / Location ไปยัง Local Representative

แต่ Hardware List ไม่ได้ระบุ GPS Module และไม่ได้อธิบายว่า Address ถูกสร้างจากวิธีใด

ดังนั้น Source ยังไม่เพียงพอ ที่จะเขียนว่า THELIMA อ่าน GPS เพื่อสร้าง Location โดยอัตโนมัติ

Base Station, Battery และ Solar Architecture

แผนผัง Power และการเชื่อมต่อของ THELIMA จาก Source
Circuit Diagram จาก Source ใช้ประกอบความเข้าใจ Power และ Connection ของ Base Station

Build Section ระบุ Power Architecture ที่มี:

  • 4S × 3.7 V Li-ion setup
  • External DC input
  • 5 V Rail
  • 3.3 V Rail
  • Buck Converters
  • Solar Charge Controller
  • 20 W Solar Panel

Creator เลือกสร้าง Power Rails แยก เพื่อจ่ายไฟให้ Electronics และ Sensor Buoy แทนการพึ่ง Power จาก UNO Q เพียงอย่างเดียวสำหรับ Long-use Concept

Power circuit with solar ของโครงการ THELIMA
Power Circuit with Solar ที่ผู้สร้างเผยแพร่สำหรับกรณีใช้งานที่ต้องมีแหล่งพลังงานสำรอง
Source ยังไม่พอสำหรับ Build Battery System แบบ Copy ตรง ๆ:
Source ไม่ได้ให้ข้อมูลครบเรื่อง Cell Capacity, BMS, Fuse, Charge Voltage, Low-voltage Cutoff, Solar Energy Budget หรือ Validated Runtime

บทความนี้จึงไม่สร้าง Power Wiring หรือ Battery Runtime เพิ่มเอง

การมี Solar Panel ยังไม่เท่ากับการพิสูจน์ว่า THELIMA สามารถทำงาน Off-grid ได้ตลอดโดยไม่มีข้อจำกัด

สร้าง Sensor Buoy และ Seal น้ำแบบ Prototype

ขั้นตอนประกอบ Sensor Buoy ของ THELIMA
Sensor Buoy ถูกออกแบบให้ Sensor อยู่ในตำแหน่งที่สัมผัสน้ำ ขณะที่ Cable และ Electronics ถูกจัดเก็บภายใน Structure

Source มี STL สำหรับ:

  • Buoy Plate
  • Buoy
  • Buoy Cover
  • Buoy Hook
  • Skeleton Top
  • Skeleton Base

ผู้สร้างใส่ Sensor ลงใน Slot แล้วใช้ Fevi-Seal / Silicone Seal รอบตำแหน่ง Sensor ก่อนจัด Cable และ LAN Coupler เข้า Buoy

Source ระบุเวลาประมาณ:

  • 30–40 นาทีให้ Seal เริ่มแห้ง
  • 2–3 ชั่วโมงสำหรับการรอ Sealing ตามวิธีของผู้สร้าง
นี่ไม่ใช่ IP Rating: เป็นวิธี Sealing ที่ Creator ใช้กับ Prototype ไม่ใช่การรับรอง Waterproof, Pressure Rating หรือ Maximum Deployment Depth
ขั้นตอนติดตั้ง Sensor ภายใน Buoy ของ THELIMA
ภาพเพิ่มเติมจากการติดตั้ง Sensor และเตรียม Housing ตาม Source
การประกอบ Base Station และโครง 3D Print ของ THELIMA
ตัวอย่างการประกอบ Structure และ Electronics Layer ของ Project
Source ไม่ได้ให้ Printing Settings: ไม่มี Layer Height, Infill, Nozzle, Support, Print Temperature หรือ Material Setting ที่ครบพอสำหรับสร้าง Profile มาตรฐาน

ดู THELIMA ทำงานและทดสอบจริง

THELIMA prototype หลังการประกอบ
Prototype หลังการประกอบ ก่อนหรือระหว่างขั้นตอนทดสอบตาม Project

Indoor Working Demo

College Testing

Buoy Floating Test

Testing Demo ≠ Certified Water Analysis: วิดีโอช่วยยืนยันว่า Prototype ถูกประกอบและทดลองใช้งาน แต่ไม่ได้ให้ Measurement Accuracy หรือ Regulatory Validation ของระบบทั้งหมด

ดาวน์โหลด STL / Water Quality AI / Source Files

ผู้สร้างแนบทั้ง App Package, Code Files และ STL สำหรับศึกษา Project ต่อ

Water Quality AI

ดาวน์โหลด Water_Quality_AI.zip

Hackster Code Files

ดาวน์โหลด Code File 686940 ดาวน์โหลด Code File 686942 ดาวน์โหลด Code File 686944 ดาวน์โหลด Code File 686946
บทความนี้ไม่ได้แสดง Code Snippet จากไฟล์เหล่านี้: เนื่องจาก Content ภายใน Archive / Direct Code Downloads ไม่ได้ถูก Verify แบบบรรทัดต่อบรรทัดใน Source ที่ใช้เขียนรอบนี้ จึงไม่สร้าง Function หรือ Command เพิ่มเอง

3D Printing Files

ดาวน์โหลด Buoy Plate STL ดาวน์โหลด Buoy STL ดาวน์โหลด Buoy Cover STL ดาวน์โหลด Buoy Hook STL ดาวน์โหลด Skeleton Top STL ดาวน์โหลด Skeleton Base STL
มีไฟล์ STL แล้วแต่ไม่มีเครื่องพิมพ์? สามารถส่งไฟล์ให้ทีม Globalbyte ช่วยประเมินบริการพิมพ์ 3D สำหรับ Prototype ได้ โดยเฉพาะงาน Housing, Sensor Mount และโครงทดลองหลาย Revision
การพิมพ์ STL สำเร็จ ไม่ได้หมายความว่าชิ้นงาน Waterproof โดยอัตโนมัติ และ Source ไม่ได้ให้ Printing Profile หรือ IP Rating ของชิ้นงาน

สิ่งที่ THELIMA ยังบอกไม่ได้

จุดนี้สำคัญมากกว่า Spec เพราะช่วยให้เข้าใจว่า Model ถูกออกแบบมาทำอะไร และไม่ได้ทำอะไร

  1. ไม่ได้ตรวจ Pathogen โดยตรง
    ไม่มี Sensor สำหรับ Virus, MPN, Coliform หรือ Hepatitis A
  2. ไม่ได้วัด COD โดยตรง
    COD อยู่ใน Field Survey Context แต่ไม่ใช่ Sensor Input ปัจจุบัน
  3. Anomaly ไม่เท่ากับ Unsafe
    Reading อาจผิดปกติจาก Sensor Fouling, Drift, Environmental Change หรือสาเหตุอื่นก็ได้
  4. ไม่มี Accuracy % ที่ Source รองรับ
    ไม่ควรสร้าง Accuracy, Precision หรือ Recall เพิ่มเอง
  5. ไม่มี Formal WQI Formula
    Source ใช้คำว่า Health Score / Water Quality Score แต่ไม่ได้ให้ Mapping Formula จาก K-means Distance ไปเป็น Regulatory WQI
  6. Sensor Calibration ยังไม่ครบใน Source
    pH, TDS และ Turbidity ไม่มี Calibration Procedure ของ Final Build ที่ครบพอให้ทำตาม
  7. SIM800 Module Revision มี Conflict
    Source สลับระหว่าง SIM800C และ SIM800L V2
  8. LAN Cable ไม่ได้แปลว่า Ethernet
    Source ไม่ได้ยืนยัน TCP/IP หรือ Ethernet Protocol
  9. Battery Runtime ไม่ได้ระบุ
    ไม่มี Validated Runtime หรือ Energy Budget
  10. Waterproofing ยังไม่มี IP Rating
Public-health Safety:
THELIMA ไม่ควรถูกใช้เพียงลำพัง เพื่อตัดสินว่าแหล่งน้ำ “ดื่มได้”, “ปลอดเชื้อ” หรือ “ปลอดภัย”

หาก Model Flag Anomaly บทบาทที่เหมาะสมกว่าคือ ช่วย Trigger การตรวจยืนยัน, เก็บ Sample เพิ่ม หรือส่งต่อให้ผู้เชี่ยวชาญ / Laboratory ตามบริบทของพื้นที่

THELIMA วางแผนพัฒนาต่ออะไรบ้าง?

Future Plans ใน Source ได้แก่:

  • Multi-node deployment พร้อม Shared Gateway
  • ระบุตำแหน่ง Anomaly ระหว่างหลาย Node
  • Classify Fault Type แทนการบอกเพียง Anomaly
  • Self-calibrating Thresholds ต่อ Site
  • Solar + LoRaWAN สำหรับ Remote Node
  • Cloud Dashboard
  • SMS / Telegram Alert บน Cloud Workflow
  • Dissolved Oxygen Sensor
  • Nitrate Sensor
Future Plans ไม่ใช่ Feature ปัจจุบัน: LoRaWAN, Dissolved Oxygen, Nitrate และ Multi-node Gateway ยังไม่ควรถูกเขียนเหมือนมีอยู่ใน Prototype ปัจจุบันแล้ว

FAQ: THELIMA และ Edge AI Water Monitoring

1. THELIMA คืออะไร?

เป็น Prototype สำหรับเฝ้าความผิดปกติของน้ำ โดยใช้ Sensor 4 ค่า และ K-means Anomaly Detection บน Arduino UNO Q

2. THELIMA ใช้ Sensor อะไร?

pH, TDS, Turbidity และ Temperature โดย Temperature ใช้ Waterproof DS18B20 ตาม BOM

3. THELIMA ตรวจแบคทีเรียได้ไหม?

ไม่โดยตรง Source ไม่มี Pathogen / Coliform / MPN Sensor ใน Current Build

4. ตรวจ Hepatitis A ได้ไหม?

ไม่ Sensor และ Model ปัจจุบันไม่ได้ตรวจ Virus โดยตรง

5. แล้ว AI ตรวจอะไร?

ตรวจว่ารูปแบบ pH, TDS, Turbidity และ Temperature เบี่ยงออกจาก Normal Baseline ที่ Model เรียนรู้ไว้มากน้อยแค่ไหน

6. ใช้ AI Model แบบไหน?

Edge Impulse K-means Anomaly Detection ร่วมกับ Flatten Feature Processing

7. Input ของ Model มีกี่ Feature?

20 Features: 4 Sensor Axes × 5 Statistics

8. K-means ใช้กี่ Cluster?

Source ระบุ 32 Clusters สำหรับ Project Training นี้

9. Training Dataset ใหญ่แค่ไหน?

Source รายงาน Normal Training Data 3 ชั่วโมง 4 นาที 48 วินาที และ Generate ได้ 1,540 Training Windows

10. Window ยาวเท่าไร?

28.8 วินาที และใช้ Stride 6 วินาทีตาม Source

11. Anomaly Score มีหน่วยไหม?

ไม่มี เป็น Distance จาก Learned Cluster ใน Feature Space

12. Score สูงแปลว่าน้ำอันตรายแน่นอนไหม?

ไม่ Score สูงหมายถึง Pattern แตกต่างจาก Normal Training Data แต่ไม่ได้ Diagnose สาเหตุโดยตรง

13. Model มี Accuracy เท่าไร?

Source ปัจจุบันไม่ได้ให้ Accuracy % ที่เหมาะสำหรับนำมา Claim

14. THELIMA ใช้ 3G ไหม?

Hardware List ระบุ SIM800C ซึ่งเป็น 2G GSM/GPRS ไม่ใช่ 3G แต่ Source อีกจุดกล่าวถึง SIM800L V2 จึงควรตรวจ Module Revision จริงก่อน Build

15. ใช้ GPS หรือไม่?

Hardware List ที่ Source ให้มา ไม่ได้ระบุ GPS Module จึงไม่ควรสรุปว่า Location ใน Alert มาจาก GPS โดยอัตโนมัติ

16. มี Solar Panel ไหม?

มี Build Section ระบุ Solar Charge Controller และ 20 W Solar Panel แต่ Source ไม่ได้ให้ Validated Runtime หรือ Energy Budget

17. Buoy Waterproof ไหม?

ผู้สร้างใช้ Silicone Seal และทดสอบ Prototype แต่ Source ไม่ได้ให้ IP Rating หรือ Depth Rating

18. THELIMA ใช้ตรวจว่าน้ำดื่มได้หรือไม่?

ไม่ควรใช้ Prototype นี้เพียงอย่างเดียว เพื่อรับรองว่าน้ำปลอดภัยสำหรับการบริโภค เพราะ Model ไม่ได้ตรวจ Pathogen และยังไม่มี Regulatory Validation

สรุป: จุดแข็งของ THELIMA คือ “รู้ว่าบางอย่างเปลี่ยน” ก่อนจะรู้ว่าสาเหตุคืออะไร

THELIMA น่าสนใจเพราะไม่ได้พยายาม สร้าง AI ที่รู้จักสารปนเปื้อนทุกชนิด ตั้งแต่วันแรก

ผู้สร้างเลือกอีกทาง: เรียนรู้ Normal Baseline จาก pH, TDS, Turbidity และ Temperature แล้วใช้ Anomaly Detection คอยมองหา Pattern ที่แตกต่างออกไป

สำหรับ Community Monitoring แนวคิดนี้สามารถมีประโยชน์ ในฐานะ Early-warning Layer: เมื่อ Score ผิดปกติ ระบบช่วยชี้ว่า “จุดนี้ควรถูกตรวจเพิ่ม” แทนการรอจนเกิดปัญหาที่มองเห็นด้วยตา

แต่ขอบเขตของมันก็ต้องชัด: THELIMA ไม่ได้ตรวจเชื้อโดยตรง, ไม่ได้เป็น Laboratory, ไม่มี Formal WQI Formula ที่ Source เปิดเผย และยังเป็น Work in progress

ขั้นต่อไปที่สำคัญ จึงไม่ใช่แค่เพิ่ม Sensor แต่รวมถึง Calibration, Long-term Validation, Site-specific Threshold, Communication Reliability และการเชื่อม Anomaly Alert เข้ากับกระบวนการตรวจยืนยันจริง

โปรเจกต์นี้มีหลายขั้น แนะนำอ่าน Source ต้นฉบับควบคู่กัน

หากต้องการ Build THELIMA จริง ควรเปิด Main Tutorial, Wiring Diagrams, Edge Impulse Project Files, App Lab ZIP และ STL ควบคู่กับบทความนี้

อ่าน Tutorial THELIMA ฉบับเต็มบน Hackster

อ่าน Arduino UNO Q Documentation

เปิด Edge Impulse Studio

อ่าน SIM800C Official Specification

References / แหล่งข้อมูลต้นฉบับ

อยากลองทำ Water Monitoring หรือ Edge AI Sensor Project แบบนี้?

หากกำลังทดลอง Arduino, Development Board, pH / TDS / Temperature Sensor, DC/DC Module หรืออุปกรณ์สำหรับ Environmental Monitoring สามารถสอบถามทีม Globalbyte เรื่องบอร์ดและ Module ที่เหมาะกับ Project ได้

และถ้ามีไฟล์ STL สำหรับ Buoy, Sensor Housing หรือ Prototype Enclosure สามารถสอบถามเรื่องบริการพิมพ์ 3D ได้เช่นกัน โดยควรแยกเรื่อง Mechanical Fit ออกจาก Requirement ด้าน Waterproofing ให้ชัดก่อนผลิตจริง

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

THELIMA เป็น Work-in-progress Water-quality anomaly screening prototype ไม่ใช่ Certified Water Quality Instrument, Laboratory Analyzer หรือระบบรับรองว่าน้ำปลอดภัยสำหรับการบริโภค

ระบบปัจจุบันใช้ pH, TDS, Turbidity และ Temperature เป็น Input ของ Anomaly Model และไม่ได้ตรวจ Hepatitis A, Virus, E. coli, Coliform, MPN หรือ COD โดยตรง

ข้อมูล Field Survey เช่น MPN Positive, COD และ pH 5.71 เป็นผลที่ทีมผู้สร้างรายงานจากการสำรวจของตนเอง บทความนี้ไม่ได้ถือเป็น Independent Government Validation ของผลดังกล่าว

Anomaly Score จาก K-means คือ Distance จาก Learned Cluster และไม่มีหน่วย จึงไม่ใช่เปอร์เซ็นต์ความอันตราย หรือ Regulatory Water Quality Index

Source ยังไม่ได้ให้ Formula ที่ Mapping Anomaly Score เป็น Health Score หรือ Water Quality Score แบบ 0–100 บทความนี้จึงไม่ได้สร้าง Formula ดังกล่าวขึ้นเอง

Source ปัจจุบันไม่ได้ให้ Accuracy, Precision, Recall, False-positive Rate หรือ False-negative Rate ของ Final THELIMA Model ที่เหมาะสำหรับใช้เป็น Performance Claim

Hardware List ระบุ SIM800C ซึ่งตาม Official Specification เป็น 2G GSM/GPRS Module ไม่ใช่ 3G ขณะที่ Build Section อีกส่วนกล่าวถึง SIM800L V2 บทความนี้จึงไม่ได้สร้าง GSM Wiring หรือ Power Wiring ของ Cellular Module เพิ่มเอง

Source ใช้ CAT/LAN Cable เป็น Physical Interconnect ระหว่าง Buoy และ Base Station แต่ไม่ได้ระบุว่าใช้ Ethernet Protocol หรือ TCP/IP ผ่านสายดังกล่าว

Power System มี 4S Li-ion, Buck Converters, External DC, Solar Charge Controller และ 20 W Solar Panel ตาม Source แต่ไม่ได้ให้รายละเอียดครบเรื่อง Cell Capacity, BMS, Fuse, Charge Voltage, Low-voltage Cutoff, Energy Budget หรือ Validated Runtime บทความนี้จึงไม่ได้สร้าง Power Design เพิ่มเอง

ผู้สร้างใช้ Silicone / Fevi-Seal กับ Prototype Buoy แต่ Source ไม่ได้ให้ IP Rating, Pressure Rating หรือ Maximum Deployment Depth จึงไม่ควรตีความว่าไฟล์ STL เมื่อพิมพ์เสร็จแล้วจะ Waterproof โดยอัตโนมัติ

Source ไม่ได้ให้ Printing Settings เช่น Layer Height, Infill, Nozzle, Support, Print Temperature หรือ Material Profile ที่ครบถ้วน บทความนี้จึงไม่ได้สร้างค่าเหล่านั้นขึ้นเอง

Dissolved Oxygen, Nitrate, LoRaWAN, Multi-node Deployment, Fault-type Classification และ Self-calibrating Thresholds ยังอยู่ใน Future Plans ไม่ใช่ Feature ปัจจุบัน

แท็ก


Blog posts