Panduan Kustomisasi & Konfigurasi

Mengubah Aturan Pemicu (Trigger)

Anda dapat dengan mudah mengubah ambang batas untuk pemicu otomatis langsung di firmware ESP32.

Langkah-langkah:

  1. Buka file `esp32/include/config_mqtt.h`.
  2. Cari baris-baris `#define` yang relevan.
  3. Ubah nilainya sesuai kebutuhan Anda.
  4. Upload ulang firmware ke ESP32.
// esp32/include/config_mqtt.h

#define MAX_TEMP 29.0f
#define MIN_SOIL_MOISTURE 60.0f
#define PUMP_COOLDOWN 300000 // 5 menit dalam milidetik

Menambah Sensor Baru

Menambahkan sensor baru (misalnya, sensor pH tanah) melibatkan perubahan di beberapa bagian sistem.

1. Firmware (ESP32)

Inisialisasi sensor baru di kode C++, baca nilainya dalam fungsi `readAllSensors()`, dan tambahkan datanya ke dalam JSON yang dikirim ke MQTT.

// Di dalam fungsi sendDataViaMQTT()
sensorDoc["ph_tanah"] = bacaSensorPH();

2. Backend (Node.js & Database)

Tambahkan kolom baru di tabel `sensor_data` di database. Kemudian, di `mqtt-bridge.js`, pastikan Anda menangani data `ph_tanah` yang masuk dan menyimpannya ke kolom baru tersebut.

3. Frontend (Dashboard)

Ubah file `dashboard.js` dan `index.html` untuk menambahkan elemen UI baru yang akan menampilkan data pH tanah, baik dalam bentuk angka maupun grafik.

Rencana Kustomisasi: Notifikasi Mobile

Seperti yang disebutkan di dokumen lain, salah satu pengembangan utama adalah notifikasi ke mobile. Berikut adalah gambaran implementasinya:

Alur Notifikasi

  1. Trigger Terpenuhi: ESP32 mendeteksi kondisi darurat dan mengirim alert ke MQTT.
  2. Bridge Menerima Alert: `mqtt-bridge.js` menerima pesan alert.
  3. Kirim ke FCM: Bridge memformat pesan notifikasi dan mengirimkannya ke server Firebase Cloud Messaging (FCM) menggunakan API Key.
  4. FCM ke Mobile: FCM meneruskan notifikasi tersebut ke semua perangkat mobile yang telah terdaftar.

Ini akan memerlukan penambahan library FCM di Node.js dan pembuatan aplikasi mobile sederhana untuk menerima notifikasi.