Software Architecture:
Embedded to Cloud Integration
Analisis mendalam mengenai pemilihan teknologi perangkat lunak, mulai dari logika firmware tingkat rendah hingga antarmuka pengguna berbasis web modern.
1. Firmware Mikrokontroler (Edge Layer)
Logika kendali yang tertanam langsung pada perangkat keras.
[env:esp32dev]
platform = espressif32
framework = arduino
board = esp32dev
Menggunakan C++ dengan framework Arduino untuk abstraksi register hardware. PlatformIO digunakan sebagai manajemen build system yang lebih modern dibanding Arduino IDE standar, memungkinkan integrasi Continuous Integration (CI) dan library management yang lebih baik.
FLC / Fuzzy Logic Control
Implementasi logika Fuzzy Mamdani (Fuzzifikasi, Inferensi, Defuzzifikasi) secara efisien.
PubSubClient
Klien MQTT ringan untuk publish data sensor dan subscribe perintah kontrol.
Wire.h
Komunikasi I2C untuk sensor SHT40 dan RTC.
WiFi.h & HTTPClient
Koneksi jaringan dan fallback komunikasi HTTP jika MQTT gagal.
2. Protokol Komunikasi (Network Layer)
Mekanisme transmisi data antar perangkat.
Message Queuing Telemetry Transport (MQTT)
Dipilih karena kepantingan (latency rendah) dan ukuran payload yang kecil, sangat cocok untuk jaringan dengan bandwidth terbatas atau koneksi seluler (GPRS). Menggunakan pola Publish/Subscribe yang decouples producer (ESP32) dan consumer (Web Dashboard).
broiler/feeds/temperaturebroiler/feeds/humidityAlur Data (JSON Payload)
3 & 4. Backend & Frontend (Cloud & Client)
Infrastruktur server dan antarmuka pengguna.
Backend & Database
Node.js (Runtime)
Berfungsi sebagai middleware atau broker gateway tambahan (jika diperlukan) dan API server. Menggunakan arsitektur Event-Driven, Non-Blocking I/O yang mampu menangani koneksi konkuren tinggi dari banyak perangkat IoT secara simultan.
MongoDB (NoSQL)
Database schema-less yang ideal untuk data time-series (log suhu/kelembapan per detik). Mendukung Aggregation Pipeline yang powerful untuk menghitung rata-rata harian, grafik tren, dan deteksi anomali secara cepat.
Frontend Dashboard
Framework React berbasis Server-Side Rendering (SSR) yang memberikan performa loading cepat dan SEO-friendly. Digunakan untuk membangun antarmuka admin yang responsif.