ระบบตรวจคุณภาพน้ำด้วย Arduino + GPS/GPRS ส่งข้อมูลขึ้น Cloud

รู้ว่าคุณภาพน้ำเริ่มผิดปกติอย่างเดียวอาจยังไม่พอ ถ้ายังตอบไม่ได้ว่า “วัดจากตรงไหน?” โปรเจกต์ Water Quality Monitoring System นี้ จึงรวม Sensor วัดคุณภาพน้ำเข้ากับ GPS และ GPRS เพื่อส่งทั้งค่าที่วัดได้และตำแหน่งขึ้นฐานข้อมูล ก่อนนำไปแสดงบนแผนที่ผ่านเว็บไซต์

โปรเจกต์ถูกสร้างขึ้นในช่วงปี 2017 จึงมี Hardware และ Cloud Stack หลายส่วน ที่ไม่ควรนำมาทำตามแบบ Copy ตรง ๆ ในปัจจุบัน แต่ Architecture ของมันยังเป็นตัวอย่างที่ดีมาก สำหรับการเรียนรู้ IoT Monitoring แบบครบเส้นทาง: Sensor → MCU → GPS → Cellular → Database → Web Dashboard

Prototype Water Quality Monitoring System พร้อมบอร์ดควบคุมและชุดเซนเซอร์
Prototype Water Quality Monitoring System จาก Project ต้นฉบับ ซึ่งรวมส่วนวัดคุณภาพน้ำ, GPS/GPRS, Power และระบบส่งข้อมูลไปยัง Cloud
Key Takeaways
  • Prototype ที่ผู้สร้างอธิบายจริงใช้ Arduino/Genuino 101 แม้ Hackster Component Card จะแสดง Arduino UNO
  • มี Sensor สำหรับ Temperature, pH, Dissolved Oxygen และ Turbidity
  • Temperature, pH และ Dissolved Oxygen เป็น Current-output Sensors ตาม Source
  • Turbidity Sensor ให้ Voltage Output ตามปริมาณ Suspended Solid
  • Dissolved Oxygen Sensor ของ Prototype เสีย จึงไม่ควรถือว่าระบบทดสอบครบทั้ง 4 Parameter
  • A7 Module รวม GPS และ GPRS เพื่อส่ง Measurement พร้อม Location
  • A7 ใช้ 115200 bps เป็น Default UART และเป็นหนึ่งใน Pain Point ของผู้สร้าง
  • Power Architecture แบ่ง 5V ให้ MCU/A7 และ 11V ให้ Water Sensors
  • Cloud Stack ต้นฉบับใช้ Microsoft Azure + ClearDB MySQL
  • Project นี้ไม่ใช่ระบบรับรองว่าน้ำดื่มได้หรือไม่

Water Quality Monitoring System นี้คืออะไร?

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

Prototype นี้จึงรวบรวม Measurement จาก Water Quality Sensors แล้วเพิ่ม GPS Coordinate ก่อนส่งข้อมูลผ่าน GPRS ไปยัง Database

ฝั่ง Web Application นำข้อมูลที่บันทึกไว้มาแสดงเป็น Marker บน Google Map เพื่อให้ผู้ใช้เห็นทั้ง ค่าที่วัดได้ และ ตำแหน่งที่เกิด Measurement

Key Concept: Monitoring แบบมี Location ช่วยเพิ่มบริบทให้ Sensor Data เพราะค่าผิดปกติหนึ่งค่า จะมีประโยชน์มากขึ้นเมื่อรู้ว่ามาจากจุดใดในระบบน้ำ

ทำไมต้องเก็บ GPS พร้อมข้อมูลคุณภาพน้ำ?

Source เล่าถึงเหตุการณ์ที่โรงบำบัดน้ำต้องหยุดทำงาน หลังมีน้ำปนเปื้อนไหลเข้าสู่ระบบ แต่การระบุตำแหน่งต้นทางของการปนเปื้อนไม่ใช่เรื่องง่าย

Project จึงไม่ได้ออกแบบ Sensor Node ให้ส่ง Measurement เพียงอย่างเดียว แต่ดึง GPS Coordinate แล้วส่งข้อมูลทั้งชุดไปยัง Database

Water Measurement
Temperature / pH / DO / Turbidity
+
GPS Coordinate
ระบุตำแหน่งของ Measurement
↓
Database Record
เก็บข้อมูลสำหรับนำไปแสดงบน Web Dashboard

Arduino UNO หรือ Genuino 101 กันแน่?

หน้า Hackster มีข้อมูลสองส่วนที่ไม่ตรงกัน

ตำแหน่งใน Source Hardware ที่ระบุ
Hackster “Things used” Arduino UNO
System Overview Arduino Genuino 101
Prototype / Board Description Arduino Genuino 101
บทความนี้ยึด Genuino 101 ตาม Story ของ Prototype: เพราะผู้สร้างระบุชื่อบอร์ดนี้ซ้ำในคำอธิบายระบบจริง ขณะที่ Arduino UNO ปรากฏใน Component Metadata ของ Hackster แต่ Source ไม่ได้อธิบายว่ามีการเปลี่ยนบอร์ดระหว่าง Build หรือไม่

หากนำ Concept นี้มาสร้างใหม่ ไม่ควรถือว่าต้องใช้ Genuino 101 เท่านั้น เพราะ Source ไม่ได้ให้ Migration Guide สำหรับ Development Board รุ่นปัจจุบัน

ระบบวัด Parameter อะไรบ้าง?

Prototype ตั้งใจใช้ Sensor ทั้งหมด 4 Parameter แต่แต่ละตัวไม่ได้ให้ Output แบบเดียวกัน

Parameter Output ตาม Source สถานะใน Project
Temperature Current Output ใช้ใน Prototype
pH Current Output ใช้ใน Prototype
Dissolved Oxygen Current Output Sensor faulty
Turbidity Voltage Output ใช้ใน Prototype
System Overview กับ Sensor Section มีข้อความไม่ตรงกัน: Overview กล่าวกว้าง ๆ ว่า Sensor ทั้ง 4 ตัวเป็น Current-output แต่รายละเอียด Sensor ระบุว่า Current-output มี 3 ตัว ส่วน Turbidity ให้ Voltage Output บทความนี้จึงใช้ข้อมูลจาก Sensor Section ที่ละเอียดกว่า

Dissolved Oxygen ยังเป็นข้อจำกัดของ Prototype

ผู้สร้างระบุว่า Dissolved Oxygen Sensor ที่ได้รับมาเสีย ดังนั้นไม่ควรตีความว่า Prototype มีผลทดสอบที่ยืนยันการวัด DO สำเร็จแล้ว

Source ไม่ได้ให้ Model, Measurement Range, Accuracy หรือ Calibration Formula ของ Water Quality Sensors เหล่านี้

ทำไม Current-output Sensor ต้องมี Interface Circuit?

Arduino ไม่ได้รับค่า Sensor แบบ Current Output แล้วตีความเป็น Measurement ได้โดยตรง ผู้สร้างจึงใช้ Resistor เพื่อเปลี่ยน Current Output ให้เป็น Voltage ที่สามารถวัดได้

Current-output Sensor
Temperature / pH / DO
↓
Resistor Interface
แปลงกระแสให้เป็นแรงดันที่วัดได้
↓
Arduino
อ่าน Voltage สำหรับนำไปประมวลผล
Source ไม่ได้ให้ Conversion Detail ครบ: ไม่มี Sensor Current Range, Resistor Value ครบทุก Channel, ADC Reference, Calibration Equation หรือ Accuracy ที่เพียงพอสำหรับสร้าง Measurement Circuit ใหม่ จากบทความนี้เพียงอย่างเดียว

ระบบทั้งหมดทำงานอย่างไร?

Block diagram ของ Water Quality Monitoring System ตั้งแต่เซนเซอร์ถึง Cloud
Block Diagram จาก Project ต้นฉบับ แสดงความสัมพันธ์ระหว่าง Water Quality Sensors, Controller, GPS/GPRS และระบบปลายทาง
Water Quality Sensors
เก็บค่าจากน้ำ
↓
Sensor Interface
ปรับ Signal ให้ Controller อ่านได้
↓
Genuino 101
รวบรวม Measurement Data
+
A7 GPS
ดึง Coordinate
↓
A7 GPRS
ส่ง Data Bundle ผ่าน Cellular Network
↓
Database
รับ Measurement + Location
↓
Web Dashboard
แสดงข้อมูลบน Google Map

ทำไมเลือก A7 GPS/GPRS Module?

A7 GPS และ GPRS module ที่ใช้ใน Water Quality Monitoring System
A7 Module ที่ผู้สร้างใช้เพื่อรวม GPS และ GPRS Connectivity ไว้ในระบบเดียว

ผู้สร้างเลือก A7 เพราะต้องการ Module ที่รวม GPS และ GPRS ไว้ในชิ้นเดียว

GPS ใช้ระบุตำแหน่ง ขณะที่ GPRS ใช้ส่ง Measurement และ Coordinate ไปยัง Server

Architecture ที่น่าสนใจ: Cellular Module ไม่ได้ทำหน้าที่แค่เชื่อม Internet แต่ยังเป็นแหล่ง Location ของ Sensor Node ด้วย

อย่างไรก็ตามผู้สร้างพบข้อจำกัดของ A7 หลายอย่าง ตั้งแต่ GPS Antenna ไปจนถึง UART Baud Rate ซึ่งกลายเป็นส่วนหนึ่งของ Creator Journey ของ Project

UART 115200 ทำผู้สร้างติดอยู่ตรงไหน?

A7 Module ที่ใช้ใน Project มี Default UART Communication ที่ 115200 bps

ปัญหาที่ผู้สร้างเล่าคือ แม้จะสั่งเปลี่ยน Baud Rate ด้วย Software Module จะกลับมาใช้ Default หลัง Power Cycle

ขณะเดียวกันผู้สร้างพบว่า SoftwareSerial ที่ 115200 bps ใน Setup ของตัวเองไม่เสถียร จึงลงเอยด้วยการทำ Function สำหรับเปลี่ยน Baud หลัง Module เริ่มทำงาน

นี่คือบทเรียนแบบ Creator Journey ที่ดีมาก: บางครั้ง Sensor หรือ Network Module ทำงานตาม Datasheet ได้ แต่ข้อจำกัดเกิดขึ้นตรง Interface ระหว่าง Module กับ MCU
อย่านำปัญหานี้ไปเหมารวมกับ Cellular Module ทุกตัว: เป็นพฤติกรรมและวิธีแก้ของ A7 Setup ใน Project ต้นฉบับ

PWR_KEY และ RESET ทำหน้าที่อะไร?

A7 Module ต้องมี Control Logic สำหรับ Power-up และ Reset ซึ่งผู้สร้างออกแบบ Circuit เพิ่มใน Prototype Board

Signal พฤติกรรมที่ Source ระบุ
PWR_KEY Apply Voltage อย่างน้อยประมาณ 2 วินาทีเพื่อ Boot Module
RESET Pull ลง GND เพื่อ Reset
RESET ในสภาวะปกติ Source ระบุให้ Pull-up ไป 5V

ผู้สร้างเลือก Reset Module ก่อน แล้วจึงทำ Power-up Sequence เพื่อให้แน่ใจว่า A7 เริ่มทำงานใน State ที่คาดหวัง

ใช้ Schematic ต้นฉบับประกอบ: บทความนี้ไม่สร้าง Transistor Circuit, Resistor Value หรือ Pin Wiring เพิ่มจากข้อมูลที่ Source ไม่ได้อธิบาย

ทำไมระบบต้องมีทั้ง 5V และ 11V?

Power source block diagram ของ Water Quality Monitoring System
Power Architecture ของ Prototype แยก Rail สำหรับ Arduino/A7 ออกจาก Rail ที่ใช้กับ Water Quality Sensors

Current-output Water Sensors ที่ผู้สร้างใช้ต้องการ Supply อย่างน้อยประมาณ 10V ซึ่งสูงกว่า 5V ที่ใช้กับส่วน Controller

ผู้สร้างจึงใช้ Li-ion Battery สองก้อนต่ออนุกรม ให้แรงดันรวมประมาณ 7.4–8.4V แล้วแยก Power ออกเป็นสองทาง

Power Path 1 2× Li-ion Battery
↓
Buck Converter
↓
5V
↓
Arduino + A7 Module
Power Path 2 2× Li-ion Battery
↓
Boost Converter
↓
11V
↓
Water Quality Sensors
Battery Safety: Project ใช้ Li-ion Battery และ DC-DC Converter หลาย Rail แต่ Source ไม่ได้ให้ Complete Charging Circuit, Protection/BMS Design, Fuse Rating, Cell Specification หรือ Current Budget ดังนั้นบทความนี้จะไม่สร้าง Battery Wiring เพิ่มเอง

Battery แบบนี้ใช้ได้นานแค่ไหน?

ตอบจาก Source ได้เพียงว่า: ผู้สร้างไม่ได้ออกแบบ Prototype นี้เพื่อ Runtime ที่ยาวเป็นหลัก

ผู้สร้างเองระบุว่า System จะไม่ทำงานได้นานมากด้วย Setup นี้ แต่ Battery Runtime ไม่ใช่ Main Concern ของ Prototype

Source ไม่ได้ให้:

  • Battery Capacity
  • Average Load Current
  • A7 Peak Current
  • Sensor Current Consumption
  • Buck Converter Efficiency
  • Boost Converter Efficiency
  • Measured Runtime
จึงคำนวณ Runtime จาก Source ไม่ได้: มี Voltage Architecture แต่ Input สำหรับ Energy Calculation ยังไม่ครบ

Prototype Board และ Enclosure

ฮาร์ดแวร์ Prototype ของ Water Quality Monitoring System
Hardware Prototype จาก Project ต้นฉบับ ซึ่งประกอบระบบ Interface, Power และ Module ต่าง ๆ เข้าไว้บน Prototype Board

ระบบถูกสร้างบน Prototype Board แล้วติดตั้งร่วมกับ Genuino 101 ลงใน Enclosure ที่ผู้สร้างได้รับมา

สำหรับ Sensor Connection ผู้สร้างพบ Connector ที่เข้าคู่กับของเดิม โดยใช้ Connector Code: GX16

Source ไม่ได้ระบุ Pinout ของ GX16: จึงไม่ควรนำชื่อ Connector ไปตีความเป็น Pin Assignment, Current Rating หรือ Waterproof Rating ของระบบโดยอัตโนมัติ
ภาพเพิ่มเติมของ Water Quality Monitoring System prototype
ภาพเพิ่มเติมของ Prototype จาก Project ต้นฉบับ

จาก GPRS ไปถึง Azure Database

เมื่อ Controller รวบรวม Measurement และ GPS Coordinate แล้ว A7 ใช้ GPRS Data Link ส่งข้อมูลไปยังระบบ Server

Project ต้นฉบับใช้:

  • Microsoft Azure สำหรับ Web Application
  • ClearDB สำหรับ MySQL Database
  • PHP สำหรับ Server-side Logic
  • SQL Query สำหรับเข้าถึง Database
  • JavaScript, CSS และ HTML สำหรับ Web Interface

Source ระบุว่า log.php เป็น Endpoint ที่รับข้อมูลจาก Arduino แล้วเขียนข้อมูลลง Database

Genuino 101 + A7
Measurement + GPS
↓ GPRS
log.php
รับ Data จาก Device
↓
MySQL Database
เก็บ Measurement Records
↓
PHP Web Application
Query และเตรียมข้อมูล
↓
Google Map
แสดง Measurement ตาม Location
Source มี Code แต่บทความนี้ไม่แสดง Code Snippet: หน้า Project ระบุว่ามี Arduino Code, Website Code และ A7 Library แต่ Exact Source Files ที่ใช้ในรอบบทความนี้ ยังไม่ได้ถูก Verify โดยตรง จึงไม่สร้าง PHP, Arduino หรือ AT-command Code ขึ้นเอง

Web Dashboard แสดงอะไร?

Web Interface ถูกสร้างขึ้นเพื่อให้ผู้ใช้ ดู Measurement ผ่าน Browser โดยผูกข้อมูลกับ Location

ผู้สร้างใช้ Google Map และวาง Marker ในตำแหน่ง ที่มี Measurement Record อยู่ใน Database

นี่ทำให้ Dashboard ไม่ได้เป็นเพียงกราฟค่าจาก Sensor แต่เป็น Geographic Monitoring Interface

บทเรียนที่น่าสนใจ: IoT Dashboard ที่ดีไม่จำเป็นต้องเริ่มจาก Chart เสมอไป ถ้าโจทย์สำคัญคือ “ความผิดปกติเกิดที่ไหน” Map อาจเป็น Interface ที่มีความหมายกว่า

Original Project ยังระบุว่า Website Response ค่อนข้างช้า และผู้สร้างมองว่า Server/Web Development เป็นหนึ่งในส่วนที่ยังปรับปรุงได้

Project ปี 2017 มีอะไรที่ต้องตรวจใหม่ก่อนสร้างวันนี้?

Architecture ของ Project ยังมีประโยชน์มาก แต่ Hardware และ Cloud Stack ถูกเลือกตาม Ecosystem ในช่วงที่สร้าง Prototype

ส่วนของระบบ Project ต้นฉบับ สิ่งที่ต้องตรวจใหม่หากสร้างปัจจุบัน
Controller Genuino 101 Source ไม่ได้ให้ Migration Path ไปยัง Board รุ่นใหม่
Cellular A7 GPRS/GPS ต้องตรวจ Network / Module Compatibility ตามพื้นที่และผู้ให้บริการที่ใช้งานจริง
Database ClearDB MySQL บน Azure Ecosystem ในยุคนั้น ClearDB Stack เดิมเป็น Historical Service และควรเลือก Database Service ที่ยังรองรับในปัจจุบัน
Website PHP + SQL + Google Map Concept ยังใช้ได้ แต่ Hosting และ API Environment ต้องตรวจใหม่
อย่า Copy Architecture ปี 2017 แบบ 1:1 แล้วคาดว่าจะ Deploy ได้ทันที: ตัว Project เหมาะสำหรับเรียนรู้ System Design แต่ Service, Cellular Network, Library และ Hardware Availability ต้อง Verify ใหม่ก่อนสร้างระบบปัจจุบัน

ระบบนี้บอกได้ไหมว่าน้ำ “ดื่มได้”?

จาก Source นี้ ยังสรุปแบบนั้นไม่ได้

Prototype เน้น Measurement บาง Parameter:

  • Temperature
  • pH
  • Dissolved Oxygen
  • Turbidity

แต่ Source ไม่ได้ให้:

  • มาตรฐาน Drinking Water
  • Pass / Fail Threshold
  • Regulatory Compliance
  • Bacterial Testing
  • Heavy-metal Testing
  • สารเคมีปนเปื้อนชนิดอื่น
  • Certification
Water Quality Monitoring ≠ Drinking-water Certification: การอ่าน pH หรือ Turbidity ไม่เพียงพอสำหรับยืนยันความปลอดภัยของน้ำดื่ม และ Project นี้ไม่ได้ถูกนำเสนอเป็นเครื่องมือรับรองคุณภาพน้ำตามมาตรฐาน

Maker ได้อะไรจาก Project นี้?

1. Sensor ต่างชนิดอาจต้องการ Signal Interface ต่างกัน

Current-output Sensor กับ Voltage-output Sensor ไม่ควรถูกต่อเข้าระบบด้วยสมมติฐานเดียวกัน

2. IoT ที่มี GPS เพิ่ม Context ให้ Sensor Data

Measurement มีประโยชน์ขึ้นมาก เมื่อบอกได้ว่าถูกเก็บจากตำแหน่งใด

3. Cellular Module มี State และ Timing ของตัวเอง

A7 แสดงให้เห็นว่า Power-up, Reset, UART Baud และ Communication Reliability เป็นส่วนของ System Design ไม่ใช่เพียงเสียบ Module แล้วส่งข้อมูล

4. Power Rail ต้องเริ่มจากความต้องการของ Load

Controller ใช้ 5V แต่ Sensor บางตัวต้องการมากกว่า 10V จึงเกิด Architecture แบบ Buck + Boost จาก Battery Pack เดียว

5. Prototype ไม่จำเป็นต้อง Optimize ทุกอย่างพร้อมกัน

ผู้สร้างยอมรับว่า Battery Runtime ยังไม่ดี เพราะ Main Goal ของ Prototype คือพิสูจน์ Flow การวัดและส่งข้อมูลก่อน

6. IoT Project ไม่ได้จบที่ Hardware

Project นี้บังคับให้ผู้สร้างเรียนรู้ PHP, SQL, JavaScript, CSS และ HTML เพื่อสร้างระบบที่นำ Measurement ไปให้ผู้ใช้ดูได้จริง

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

โดยเฉพาะ Sensor Interface, A7 Control Circuit และ Power Architecture ควรเปิด Schematic ต้นฉบับประกอบ เพราะบทความนี้ไม่สร้าง Wiring หรือ Component Value ที่ Source ไม่ได้ระบุเพิ่มเอง

FAQ: คำถามที่พบบ่อย

1. Water Quality Monitoring System นี้ใช้ Arduino รุ่นอะไร?

Main Story และคำอธิบาย Prototype ระบุ Genuino 101 แต่ Hackster Component Card แสดง Arduino UNO บทความนี้จึงยึด Genuino 101 ตามคำอธิบายระบบจริง

2. ระบบวัดอะไรได้บ้าง?

Prototype ตั้งใจวัด Temperature, pH, Dissolved Oxygen และ Turbidity แต่ Dissolved Oxygen Sensor ที่ผู้สร้างมีอยู่เสีย

3. Sensor ทั้ง 4 ตัวเป็น Current-output หรือไม่?

ไม่ รายละเอียด Sensor ระบุว่า Temperature, pH และ Dissolved Oxygen เป็น Current-output ส่วน Turbidity ให้ Voltage Output

4. ทำไม Current-output Sensor ต้องมี Resistor?

Source ใช้ Resistor เพื่อเปลี่ยน Current Output เป็น Voltage ที่ Controller สามารถวัดได้

5. ใช้ GPS Module อะไร?

Project ใช้ A7 Module ซึ่งรวม GPS และ GPRS ไว้ใน Module เดียว

6. GPRS ใช้ทำอะไร?

ใช้ส่ง Measurement Data และข้อมูลตำแหน่งไปยังระบบ Server / Database

7. A7 ใช้ UART Baud Rate เท่าไร?

Source ระบุ Default UART ที่ 115200 bps

8. ทำไม Baud Rate ถึงเป็นปัญหา?

ผู้สร้างพบว่า SoftwareSerial ที่ 115200 bps ไม่เสถียรใน Setup ของตัวเอง และ A7 กลับไปใช้ Default Baud หลัง Power Cycle

9. PWR_KEY ของ A7 ทำงานอย่างไร?

Source ระบุให้ Apply Voltage ไปที่ PWR_KEY อย่างน้อยประมาณ 2 วินาที เพื่อ Boot Module

10. ทำไม Sensor ใช้ 11V?

Current-output Water Sensors ที่ผู้สร้างใช้ต้องการ Supply อย่างน้อยประมาณ 10V จึง Boost Battery Rail ขึ้นเป็น 11V

11. Arduino และ A7 ใช้ไฟเท่าไร?

Power Architecture ของ Project ใช้ 5V Rail สำหรับ Arduino และ A7

12. Battery ใช้ได้นานกี่ชั่วโมง?

Source ไม่ได้ให้ Battery Capacity, Average Current หรือ Converter Efficiency จึงไม่สามารถคำนวณ Runtime ได้

13. ข้อมูลถูกเก็บไว้ที่ไหน?

Project ต้นฉบับใช้ MySQL Database ผ่าน ClearDB ใน Cloud Stack ของ Microsoft Azure ช่วงที่สร้างระบบ

14. ClearDB ยังควรใช้ตาม Project เดิมหรือไม่?

Stack ClearDB ที่ Project ใช้เป็น Historical Architecture จากปี 2017 หากสร้างระบบใหม่ควรตรวจบริการ Database ที่รองรับอยู่ในปัจจุบันแทน

15. Dashboard แสดงข้อมูลอย่างไร?

Web Application ใช้ Google Map แสดง Marker ในตำแหน่ง ที่มี Measurement Data

16. ระบบนี้บอกได้ไหมว่าน้ำปลอดภัยสำหรับดื่ม?

ไม่สามารถสรุปจาก Source นี้ได้ Project วัดเพียง Parameter บางส่วน และไม่ได้ให้ Drinking-water Standard หรือ Certification Logic

17. มี Source Code หรือไม่?

หน้า Project ระบุว่ามี Arduino Code, Website Code และ A7 Library แต่ Exact Code Files ยังไม่ได้ถูก Verify ใน Source ที่ใช้สำหรับบทความนี้ จึงไม่ได้สร้าง Code Snippet เพิ่มเอง

18. สามารถทำ Project นี้ตามแบบเดิมในปัจจุบันได้เลยไหม?

ไม่ควรถือว่า Copy ได้แบบ 1:1 เพราะ Hardware, Cellular Network, Cloud Service และ Software Environment มาจากระบบช่วงปี 2017 และต้องตรวจ Compatibility ใหม่ก่อนสร้าง

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

IoT Monitoring ไม่ได้มีแค่ Sensor กับ Arduino

Project นี้แสดงให้เห็นครบว่า ระบบ Monitoring หนึ่งชุดต้องคิดตั้งแต่ Sensor Interface, Power Rail, GPS, Cellular Communication, Database ไปจนถึง Web Interface ที่ทำให้ข้อมูลถูกนำไปใช้ได้จริง

หากกำลังทำ Arduino, IoT Monitoring, Sensor หรือ Remote Data Logging Project สามารถสอบถามทีม Globalbyte เรื่อง Development Board, Sensor, Communication Module, DC-DC Module และ Maker Accessories ที่เหมาะกับ Project ได้

Disclaimer: บทความนี้เป็นการสรุปและเรียบเรียงจากแหล่งข้อมูลภาษาอังกฤษ อาจมีความคลาดเคลื่อน กรุณาตรวจสอบ Source ต้นฉบับก่อนลงมือทำ Project ต้นฉบับสร้างขึ้นในช่วงปี 2017 และมีข้อมูลบางจุดที่ไม่ตรงกัน โดย Hackster Component Card แสดง Arduino UNO แต่ Story และคำอธิบาย Prototype ระบุ Genuino 101 บทความนี้จึงยึด Genuino 101 ตาม Main Story อีกทั้ง System Overview กล่าวกว้าง ๆ ว่า Sensor ทั้ง 4 ตัวเป็น Current-output ขณะที่ Sensor Section ระบุว่า Temperature, pH และ Dissolved Oxygen เป็น Current-output ส่วน Turbidity เป็น Voltage-output Dissolved Oxygen Sensor ของ Prototype ยังถูกระบุว่าเสีย จึงไม่ควรตีความว่าระบบทดสอบครบทั้ง 4 Parameter Source ไม่ได้ให้ Sensor Model, Calibration Formula, Measurement Accuracy, Sampling Interval, GPRS APN, GPS Accuracy, Battery Capacity, Current Consumption, Converter Efficiency หรือ Runtime จึงไม่สร้างค่าดังกล่าวขึ้นเอง Power System ใช้ Li-ion Battery และหลาย Voltage Rail แต่ Source ไม่ได้ให้ Complete Charging/BMS, Fuse หรือ Battery Protection Circuit จึงควรตรวจด้าน Electrical Safety เพิ่มก่อนสร้างจริง Cloud Stack เดิมใช้ Azure + ClearDB MySQL ซึ่งเป็น Architecture ของยุคที่สร้าง Project และไม่ควรถูกนำไปถือว่าเป็น Service Stack ปัจจุบันโดยอัตโนมัติ ระบบนี้ยังไม่ได้ถูกนำเสนอเป็นเครื่องรับรองน้ำดื่ม และไม่มี Standard, Regulatory Threshold หรือ Certification สำหรับตัดสินว่าน้ำปลอดภัยต่อการบริโภค

แท็ก


Blog posts