Kebun Pintar Jondol Tani adalah sistem monitoring dan penyiraman otomatis berbasis Internet of Things (IoT). Proyek ini dikembangkan untuk memantau kondisi lingkungan tanaman (Suhu & Kelembapan) secara real-time serta mengendalikan pompa air berdasarkan logika sensor atau jadwal yang ditentukan.
Dibangun menggunakan Laravel 12 sebagai antarmuka web dan mikrokontroler ESP32 sebagai pengendali perangkat keras.
Memantau kondisi tanaman secara real-time dengan indikator status perangkat (Online/Offline).

Rangkaian ESP32, Sensor DHT22, Relay, dan Pompa dalam wadah proteksi.

Pengaturan ambang batas (threshold), jadwal mingguan, dan riwayat penyiraman.
| Modal Setting Threshold | Notifikasi & Riwayat |
|---|---|
![]() |
![]() |
- Real-time Monitoring: Data suhu dan kelembapan diperbarui setiap detik via protokol MQTT/HTTP.
- Auto-Detection Status: Sistem mendeteksi otomatis jika alat mati/putus koneksi (Indikator Offline).
- Flexible Threshold: Pengguna bisa mengubah batas pemicu (Suhu Panas / Tanah Kering) langsung dari web tanpa coding ulang.
- Smart Scheduling: Jadwal penyiraman otomatis berbasis hari dan jam.
- Log History: Mencatat setiap aktivitas penyiraman beserta pemicunya (Sensor/Jadwal) dengan fitur Reset Data.
- Compound Logic: Penyiraman otomatis hanya terjadi jika kondisi Kritis (Suhu > Batas DAN Lembab < Batas).
- State Memory: Mengingat penyebab penyiraman terakhir untuk pelaporan data yang akurat.
- Fail-Safe Timer: Proteksi durasi penyiraman agar pompa tidak menyala terus-menerus.
- Local Alert: Buzzer berbunyi saat penyiraman aktif sebagai indikator fisik.
- Framework: Laravel 12 (PHP 8.2+)
- Database: MySQL / MariaDB
- Frontend: Blade Templating, Tailwind CSS, Vite
- Server: Apache/Nginx (Support Hosting aaPanel/cPanel)
Mapping pin pada ESP32 DevKit V1:
| Komponen | Tipe | Pin GPIO | Keterangan |
|---|---|---|---|
| DHT22 | Input | GPIO 26 |
Sensor Suhu & Kelembapan |
| Relay Module | Output | GPIO 14 |
Trigger Pompa Air (Active Low) |
| Buzzer | Output | GPIO 25 |
Alarm Notifikasi |
Ikuti langkah ini untuk menjalankan server lokal:
-
Clone Repository
git clone https://github.com/Lesmana24/Proyek2 cd kebun-pintar-jondol -
Install Dependencies
composer install npm install
-
Konfigurasi Environment Salin file .env dan sesuaikan database.
cp .env.example .env php artisan key:generate
Edit .env bagian DB_DATABASE, DB_USERNAME, DB_PASSWORD.
-
Build Assets
npm run build
-
Migrasi Database
php artisan migrate
-
Jalankan Server
php artisan serve
Akses di: http://localhost:8000
Kode sumber lengkap (Full Code) dapat dilihat di folder /hardware.
- Dynamic WiFi Connect (
WiFiManager): Tidak perlu hardcode SSID/Password di kodingan. Jika gagal konek, alat akan membuat Hotspot untuk konfigurasi ulang via HP. - OTA Control (MQTT): Menerima perintah threshold dan jadwal baru secara real-time tanpa restart.
- Fail-Safe Logic: Sistem proteksi pompa otomatis mati jika koneksi terputus atau timer habis.
- Dual Protocol: Menggunakan MQTT untuk kontrol cepat dan HTTP POST untuk pelaporan data ke Laravel.
Sebelum upload, pastikan Library berikut terinstall di Arduino IDE:
WiFiManagerby tzapuPubSubClient(MQTT)DHT sensor libraryAdafruit Unified Sensor
Sesuaikan variabel server di file .ino jika menggunakan hosting berbeda:
// === KONFIGURASI API LARAVEL ===
// Ganti dengan domain hosting kamu
String serverName = "[https://proyek1d2.proyek.jti.polindra.ac.id/api/simpan-notif](https://proyek1d2.proyek.jti.polindra.ac.id/api/simpan-notif)";
// === MQTT BROKER ===
const char* mqtt_server = "broker.emqx.io";🚀 Cara Setting WiFi Pertama Kali (Tanpa Coding)
- Karena menggunakan WiFiManager, saat alat pertama kali dinyalakan di tempat baru:
- Alat akan menyebarkan Hotspot bernama IoT-Penyiraman-Config.
- Konek ke WiFi tersebut menggunakan HP/Laptop.
- Otomatis akan muncul halaman "Configure WiFi".
- Pilih WiFi yang tersedia (misal: WiFi Kampus/Rumah) dan masukkan Password.
- Klik Save, alat akan restart dan otomatis terhubung.
- Untuk mereset WiFi: Tekan tombol BOOT (Pin 0) pada ESP32.
👨💻 Pengembang Lesmana Adhi Kusuma Mahasiswa D3 Teknik Informatika - Politeknik Negeri Indramayu (Polindra)
Mata Kuliah Proyek 2: Implementasi Laravel dan Integrasi dengan IoT

