Architecture
Arsitektur berlapis
Sistem dibagi 5 lapisan: sensing → edge → jaringan → cloud → aplikasi pengguna.
System map
Diagram sistem
Hubungan antar perangkat di kebun, gateway, server, dan pengguna.
Data pipeline
Alur data (end-to-end)
Dari pembacaan sensor hingga aksi di lapangan — siklus berulang tiap interval.
Ukur
Sensor baca tanah & cuaca tiap 1–5 menit.
Proses lokal
ESP32 filter noise, format JSON, cek ambang darurat.
Kirim
Publish MQTT, mis. kebun/zona-a/soil.
Simpan
Ingest → time-series DB → grafik & histori.
Putuskan
Rules: moisture < 30% → pompa 10 menit.
Aksi
Perintah ke node → relay ON → irigasi → log.
Hardware & software
Komponen utama
Perangkat keras dan peran masing-masing di lapangan.
Sensor
Mengumpulkan data lingkungan secara berkala.
- Soil moisture (kapasitif)
- DHT22 / BME280
- BH1750 (cahaya)
- pH meter analog
Mikrokontroler
Otak di tiap zona kebun.
- ESP32 (Wi-Fi + BLE)
- LoRa module untuk jarak jauh
- RTC + deep sleep
- Watchdog reset
Aktuator
Menjalankan keputusan irigasi.
- Relay 5V / 12V
- Pompa DC / AC
- Solenoid valve
- Servo (ventilasi)
Gateway
Jembatan lahan ↔ internet.
- Raspberry Pi / router
- Mosquitto MQTT
- Bridge LoRa → IP
- Offline queue
Backend
Otak aturan & penyimpanan.
- REST / WebSocket API
- Rules & jadwal
- Auth pengguna
- Backup data
Frontend
Pemantauan & kontrol petani.
- Live chart per zona
- Tombol pompa ON/OFF
- Ambang & jadwal
- Riwayat & laporan
Decision loop
Alur otomasi keputusan
Contoh logika irigasi otomatis berbasis ambang kelembapan.
Data baru masuk
Payload: { "zona": "A", "moisture": 28, "temp": 31 } — timestamp dicatat.
Cek kualitas data
Abaikan outlier (sensor error), pastikan node online < 10 menit terakhir.
Evaluasi ambang
Moisture < 30% → butuh air · 30–60% → normal · > 80% → jangan siram. Cek juga hujan terakhir < 2 jam → tunda.
Kirim perintah
MQTT kebun/zona-a/cmd → { "pump": "on", "duration_sec": 600 }.
Konfirmasi & safety
Node ACK → pompa jalan → auto-off setelah durasi. Failsafe: max runtime, sensor kering palsu.
Beritahu petani
Push / WhatsApp: “Zona A disiram 10 menit (moisture 28%).” Escalasi jika pompa gagal.
Implementation
Contoh tech stack
Pilihan praktis untuk prototipe hingga produksi skala kebun kecil–menengah.
| Bagian | Opsi terjangkau | Opsi skalabel |
|---|---|---|
| Firmware | Arduino / ESP-IDF / MicroPython | PlatformIO + OTA update |
| Protokol | MQTT over Wi-Fi | LoRaWAN + MQTT bridge |
| Broker | Mosquitto (lokal / VPS) | EMQX / HiveMQ Cloud |
| Backend | Node.js / Python FastAPI | Node-RED + microservice |
| Database | SQLite / PostgreSQL | InfluxDB + Grafana |
| Dashboard | HTML + Chart.js | React / Next.js + PWA |
| Notifikasi | Telegram Bot | FCM + WhatsApp API |
| Daya | USB / adaptor 5V | Solar panel + LiFePO4 |
Coba simulasi atau lihat fitur?
Simulasi = dashboard interaktif · Fitur = daftar kemampuan · Konsep = untuk orang awam.