ไอเดีย #66: ระบบฟาร์มอัจฉริยะวัดความชื้นดินด้วย IoT
สวนผัก สวนเมลอน หรือแปลงไม้ผลที่ใช้ระบบน้ำหยด ส่วนใหญ่ยังเปิดปั๊มตามความรู้สึก หรือตั้ง timer รดทุกเช้าเย็นไม่ว่าดินจะชื้นอยู่แล้วหรือไม่ บางวันฝนเพิ่งตกก็ยังรดซ้ำ เปลืองทั้งน้ำและค่าไฟ แถมเจ้าของสวนต้องอยู่หน้างานตลอด ฟาร์มอัจฉริยะวัดความชื้นดินด้วย IoT จึงเป็นโปรเจกต์ยอดฮิตที่ทั้งน่าลงมือทำและใช้งานได้จริง ถ้าออกแบบให้ทนทานพอ
ใครจะใช้
- เจ้าของฟาร์ม — ดู dashboard ตั้งค่าการรดน้ำ สั่งเปิด-ปิดปั๊มจากมือถือ
- คนงานในฟาร์ม — ดูสถานะและรับแจ้งเตือนเมื่ออุปกรณ์มีปัญหา
- ผู้ติดตั้ง/ช่าง — ลงทะเบียนอุปกรณ์ ตั้งค่า calibration ของเซนเซอร์
ฟีเจอร์ขั้นต่ำ (MVP)
- บอร์ดอย่าง ESP32 อ่านค่าความชื้นดิน (และอุณหภูมิ/ความชื้นอากาศถ้ามี) ทุก ๆ ไม่กี่นาที
- ส่งข้อมูลขึ้นเซิร์ฟเวอร์ผ่าน MQTT หรือ HTTP พร้อม device id และ timestamp
- Dashboard แสดงค่าปัจจุบันและกราฟย้อนหลังแยกตามโซน
- โหมดรดน้ำอัตโนมัติ: ถ้าความชื้นต่ำกว่าเกณฑ์ สั่งเปิดวาล์ว/ปั๊มผ่านรีเลย์ จนถึงเกณฑ์หรือครบเวลาสูงสุด
- สั่งงานแบบ manual จากหน้าเว็บ และตั้งตารางเวลาสำรองได้
- แจ้งเตือน LINE เมื่ออุปกรณ์ offline เกินกำหนด หรือค่าผิดปกติ
- บันทึกประวัติการรดน้ำ เพื่อดูปริมาณน้ำและเวลาที่ปั๊มทำงาน
ต่อยอดได้อีก
- ใช้พยากรณ์ฝนช่วยงดรดน้ำล่วงหน้า
- วัดอัตราการไหลของน้ำด้วย flow sensor
- ใช้พลังงานแสงอาทิตย์และโหมด deep sleep ประหยัดแบตเตอรี่
- เชื่อมต่อระยะไกลด้วยเครือข่ายพลังงานต่ำสำหรับแปลงที่ไม่มี Wi-Fi
โครงข้อมูลตั้งต้น
Data flow: เซนเซอร์ → ESP32 → MQTT broker → service รับข้อมูล (subscriber) → ฐานข้อมูล → dashboard และคำสั่งกลับไปที่ topic ของอุปกรณ์
device— id, farm_id, zone_id, device_key_hash, last_seen_at, firmware_versionzone— id, farm_id, name, moisture_min, moisture_max, max_water_minutessensor_reading— device_id, ts, soil_moisture, air_temp, air_humidity (ใช้ TimescaleDB หรือแบ่ง partition ตามเดือน)irrigation_log— id, zone_id, started_at, ended_at, trigger (auto/manual/schedule)alert— id, device_id, type, message, created_at, resolved_at
ระดับความยาก และสิ่งที่จะได้เรียนรู้
ปานกลางถึงท้าทาย — ต้องรู้ทั้งฝั่ง firmware และฝั่งเว็บ
- เขียน firmware ที่ reconnect เองเมื่อเน็ตหลุด และ buffer ข้อมูลไว้ก่อน
- ใช้ MQTT ทั้ง publish ข้อมูลและ subscribe รับคำสั่ง
- เก็บและ query ข้อมูลอนุกรมเวลา (time-series) อย่างมีประสิทธิภาพ
- calibrate เซนเซอร์และกรองค่ารบกวน
ข้อควรระวัง
- ต้องมีระบบตัดปั๊มอัตโนมัติฝั่งอุปกรณ์เมื่อทำงานนานเกินกำหนด แม้เซิร์ฟเวอร์ล่ม ไม่อย่างนั้นน้ำท่วมแปลงหรือปั๊มไหม้
- ความปลอดภัยอุปกรณ์: ใช้ username/password หรือ certificate แยกต่ออุปกรณ์ เปิด TLS และอย่าเปิด broker ให้ใครก็ publish ได้
- เซนเซอร์ความชื้นราคาประหยัดบางแบบกัดกร่อนเร็ว ค่าอาจเพี้ยนเมื่อใช้ไปนาน ๆ ต้องตรวจเป็นระยะ
- งานไฟฟ้าปั๊มน้ำควรให้ช่างที่มีความรู้ติดตั้ง
ใครเคยทำระบบรดน้ำอัตโนมัติจริงในสวนแล้ว เซนเซอร์อยู่ได้นานแค่ไหนก่อนต้องเปลี่ยน? และในแปลงที่ไม่มี Wi-Fi คุณเลือกส่งข้อมูลด้วยวิธีไหน มาแชร์กันครับ ใครมีรูปหน้างานหรือ dashboard เอามาโชว์ในกระทู้ได้เลย