Minggu, 11 Oktober 2026

SMART GREENHOUSE & SOIL MONITORING SYSTEM BERBASIS ESP32, DHT22, DAN THINGSBOARD PADA WOKWI

LAPORAN PRAKTIKUM INTERNET OF THINGS (IOT)

SMART GREENHOUSE & SOIL MONITORING SYSTEM

BERBASIS ESP32, DHT22, DAN THINGSBOARD PADA WOKWI




Disusun Oleh:

Revalina Natasya Sinaga                    24051204123

Muchammad Ainur Rizal                   24051204127

M. Mazidannur Jibril Murtadlo          24051204130

Akhmad Furqon Al Farid                   24051204134

Athallah Firmansyah                          24051204136




BAB 1
PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi Internet of Things (IoT) memungkinkan pemantauan kondisi lingkungan dilakukan melalui perangkat yang terhubung ke internet. Dalam bidang pertanian, teknologi ini dapat dimanfaatkan untuk memantau kondisi lingkungan tanaman, seperti suhu, kelembaban udara, dan kelembaban tanah. Informasi tersebut dapat membantu pengguna mengetahui kondisi tanaman tanpa harus melakukan pemeriksaan secara manual setiap saat.

Salah satu hal yang perlu diperhatikan dalam pemeliharaan tanaman adalah tingkat kelembaban tanah. Tanah yang terlalu kering dapat menyebabkan tanaman kekurangan air. Oleh karena itu, diperlukan sistem yang dapat membantu memantau kondisi lingkungan dan memberikan informasi ketika tingkat kelembaban tanah berada di bawah batas yang telah ditentukan.

Berdasarkan kebutuhan tersebut, dikembangkan proyek Smart Greenhouse & Soil Monitoring System, yaitu sistem pemantauan kondisi lingkungan tanaman berbasis IoT. Sistem ini menggunakan ESP32 sebagai mikrokontroler, sensor DHT22 untuk membaca suhu dan kelembapan udara, serta potensiometer untuk menyimulasikan nilai kelembapan tanah. Proyek dirancang dan diuji menggunakan platform Wokwi, sedangkan pengiriman data ke platform ThingsBoard dilakukan melalui protokol komunikasi MQTT.

Data yang dikirimkan meliputi suhu, kelembaban udara, dan nilai simulasi kelembaban tanah. Data tersebut dirancang untuk ditampilkan melalui dashboard ThingsBoard dalam bentuk indikator dan grafik riwayat data. Selain itu, sistem direncanakan memiliki mekanisme alarm otomatis apabila nilai kelembaban tanah berada di bawah ambang batas 30%.

Melalui proyek ini, praktikan dapat mempelajari penerapan IoT mulai dari pembacaan data sensor, simulasi perangkat, pengiriman data melalui MQTT, hingga pemantauan data pada platform IoT. Proyek ini juga menjadi sarana untuk memahami penerapan sistem peringatan berdasarkan kondisi yang ditentukan.

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut, rumusan masalah dalam praktikum ini adalah:

1.     Bagaimana membuat simulasi sistem pemantauan kondisi lingkungan tanaman menggunakan ESP32, sensor DHT22, dan potensiometer pada platform Wokwi?

2.     Bagaimana membaca suhu, kelembapan udara, dan nilai simulasi kelembaban tanah serta mengirimkannya ke ThingsBoard menggunakan protokol MQTT?

3.     Bagaimana menampilkan data telemetri pada dashboard ThingsBoard dalam bentuk indikator dan grafik riwayat data?

4.     Bagaimana menerapkan mekanisme alarm otomatis ketika nilai simulasi kelembaban tanah berada di bawah ambang batas 30%?

1.3 Tujuan Laporan

Tujuan pelaksanaan praktikum Smart Greenhouse & Soil Monitoring System adalah:

1.     Memahami penerapan teknologi IoT untuk memantau kondisi lingkungan tanaman.

2.     Membuat simulasi perangkat IoT menggunakan ESP32, sensor DHT22, dan potensiometer pada platform Wokwi.

3.     Menerapkan pembacaan suhu, kelembapan udara, dan nilai simulasi kelembaban tanah serta mengirimkan data tersebut ke ThingsBoard menggunakan protokol MQTT.

4.     Memahami proses pemantauan dan visualisasi data telemetri melalui dashboard ThingsBoard.

5.     Menerapkan dan menguji mekanisme alarm otomatis berdasarkan ambang batas kelembaban tanah yang telah ditentukan.

1.4 Manfaat Penulisan

  1. Menambah pemahaman mengenai penerapan IoT untuk pemantauan kondisi lingkungan
  2. Memberikan pengalaman merancang dan menguji rangkaian ESP32 melalui simulator Wokwi
  3. Memahami alur komunikasi data sensor menggunakan Wi-Fi dan MQTT

 

BAB 2
TINJAUAN PUSTAKA

2.1 Dasar Teori

2.1.1 ESP32

ESP32 merupakan mikrokontroler yang memiliki kemampuan pemrosesan serta konektivitas Wi-Fi dan Bluetooth. Dalam sistem ini, ESP32 membaca data dari DHT22 dan potensiometer, kemudian mengirimkan data tersebut ke ThingsBoard melalui MQTT.

2.1.3 Sensor DHT22

DHT22 merupakan sensor digital yang digunakan untuk mengukur suhu dan kelembapan relatif udara. Pada proyek ini, data yang dibaca dari DHT22 dikirim ke ThingsBoard dengan nama key telemetri `suhu` dan `kelembaban_udara`.

2.1.4 Potensiometer sebagai Simulasi Kelembapan Tanah

Potensiometer menghasilkan nilai analog yang berubah sesuai posisi penggeser. Pada simulasi Wokwi, potensiometer digunakan untuk mewakili keluaran sensor kelembapan tanah. Nilai ADC ESP32 berada pada rentang 0–4095 dan dipetakan ke rentang persentase 0–100%. Nilai tersebut dikirim dengan key `soil_moisture`.

2.1.5 MQTT

MQTT merupakan protokol komunikasi ringan dengan pola publish/subscribe yang umum digunakan pada perangkat IoT. ESP32 mengirim data dalam format JSON ke topik telemetri ThingsBoard `v1/devices/me/telemetry`.

2.1.6 ThingsBoard Cloud

ThingsBoard Cloud merupakan platform IoT yang dapat menerima telemetri dari perangkat, menyimpan data, serta menampilkannya melalui dashboard. Setiap device memiliki Access Token yang digunakan sebagai username MQTT untuk autentikasi koneksi perangkat.


2.2 Komponen

Komponen yang digunakan dalam simulasi sistem ini beserta fungsinya adalah sebagai berikut.

Komponen

Jumlah

Fungsi

ESP32 DevKit V1

1

Membaca input sensor dan mengirim data ke ThingsBoard.

Sensor DHT22

1

Mengukur suhu dan kelembapan udara.

Potensiometer

1

Mensimulasikan nilai kelembapan tanah melalui input analog.

ThingsBoard Cloud

1

Menerima dan menampilkan telemetri dari ESP32.

WiFi dan MQTT

1

Media koneksi dan protokol pengiriman data.


BAB 3
PEMBAHASAN

3.1 Penjelasan Simulasi dan Pengaturan ThingsBoard

3.1.1 Cara Kerja Sistem

1.     Pada tahap awal, mikrokontroler ESP32 membaca data dari lingkungan sekitar melalui sensor yang terhubung. ESP32 mengumpulkan data suhu dan kelembapan udara dari sensor DHT22 melalui pin GPIO 15, serta membaca nilai tegangan analog dari potensiometer pada pin GPIO 34 yang dikonversi menjadi persentase kelembapan tanah (soil moisture).

2.     Setelah memperoleh data dari sensor, ESP32 terhubung ke jaringan Wi-Fi dan mengirimkan data telemetri ke platform IoT ThingsBoard secara berkala menggunakan protokol komunikasi MQTT. Data yang dikirimkan meliputi suhu, kelembapan udara, dan kelembapan tanah. 

3.     ThingsBoard menerima data telemetri yang dikirimkan oleh ESP32 melalui MQTT. Data tersebut disimpan sebagai data telemetri pada device yang telah dikonfigurasi di ThingsBoard. Penerimaan data dapat diperiksa melalui bagian Latest Telemetry untuk memastikan bahwa data dari simulasi Wokwi berhasil dikirim dan diterima oleh platform. 

3.1.2 Rangkaian Simulasi pada Wokwi

Rangkaian Smart Green-House & Soil Monitoring System dirancang menggunakan mikrokontroler ESP32 pada platform Wokwi. Karena Wokwi tidak memiliki komponen sensor kelembapan tanah secara langsung, simulasi kadar air dalam tanah dilakukan menggunakan komponen Potensiometer. Sistem ini juga terintegrasi dengan sensor DHT22 untuk memantau suhu dan kelembapan lingkungan. Konfigurasi pin berdasarkan perancangan sistem adalah sebagai berikut.

Komponen

Pin Komponen

Fungsi

Sensor DHT22 

VCC, GND, Data (SDA) 

3V3, GND, GPIO 15 

Potensiometer 

VCC, GND, Signal 

3V3, GND, GPIO 34 (Pin Analog) 

Komponen

VCC dan GND

Disesuaikan dengan pin catu daya dan ground pada rangkaian

Potensiometer digunakan sebagai pengganti pembacaan kelembapan tanah karena tidak adanya komponen sensor tanah secara langsung pada Wokwi. Pin signal dari potensiometer menggunakan GPIO 34 yang merupakan pin analog khusus untuk membaca perubahan nilai simulasi kadar air tanah.

Gambar 3.1. Tampilan rangkaian Smart Green House pada Wokwi

3.1.3 Konfigurasi Device ThingsBoard dan Program

Konfigurasi sistem pada tahap ini terbagi  menjadi dua bagian, yaitu pengaturan device pada platform ThingsBoard dan penulisan program pada mikrokontroler ESP32 di Wokwi:

1.     Konfigurasi Device pada ThingsBoard:

Tahap pertama dilakukan dengan membuat device baru pada platform ThingsBoard. Device tersebut digunakan untuk merepresentasikan sistem ESP32 yang mengirimkan data sensor. Device diberi nama Smart Greenhouse agar mudah dikenali pada halaman pengelolaan perangkat.

Setelah device berhasil dibuat, kredensial berupa Access Token digunakan sebagai autentikasi koneksi MQTT. Token tersebut perlu dimasukkan ke dalam konfigurasi program ESP32 agar ThingsBoard dapat mengenali perangkat yang mengirimkan data.

Konfigurasi device ini menjadi bagian penting dalam proses komunikasi antara simulasi Wokwi dan platform ThingsBoard. Apabila konfigurasi koneksi dan autentikasi sesuai, data telemetri yang dikirimkan oleh ESP32 dapat diterima oleh device yang telah dibuat.

 

Gambar 3.2. Halaman awal menu Devices pada ThingsBoard

 

Gambar 3.3. Menu penambahan device baru 

 

Gambar 3.4. Pengisian detail nama device Smart Greenhouse 





2.               Konfigurasi Program ESP32 pada Wokwi 

Program ESP32 pada Wokwi dikonfigurasi agar dapat membaca sensor dan mengirimkan data ke ThingsBoard menggunakan protokol MQTT. ESP32 terlebih dahulu menghubungkan diri ke jaringan Wi-Fi virtual yang tersedia pada Wokwi, kemudian melakukan koneksi ke server MQTT ThingsBoard dengan menggunakan kredensial device.

Dalam program tersebut, ESP32 menjalankan beberapa proses utama, yaitu:

1.     Membaca data suhu dari sensor DHT22 melalui GPIO 15.

2.     Membaca data kelembapan udara dari sensor DHT22 melalui GPIO 15.

3.     Membaca nilai analog dari potensiometer melalui GPIO 34.

4.     Mengonversi nilai analog potensiometer menjadi persentase kelembapan tanah.

5.     Menyusun data hasil pembacaan ke dalam format JSON.

6.     Mengirimkan data telemetri ke ThingsBoard melalui protokol MQTT.

Data yang dikirimkan menggunakan tiga key telemetri, yaitu suhu, kelembapan_udara, dan soil_moisture. Contoh format data JSON yang sesuai dengan key tersebut adalah sebagai berikut.

{

  "suhu": 24.0,

  "kelembaban_udara": 40.0,

  "soil_moisture": 45.0

}

Angka pada contoh tersebut hanya merupakan ilustrasi format data. Nilai yang dikirimkan dalam simulasi sebenarnya mengikuti hasil pembacaan sensor dan pengolahan nilai potensiometer pada program ESP32.

3.1.4 Pengiriman Data dari Wokwi ke Device ThingsBoard

Pengiriman data dari Wokwi ke ThingsBoard dilakukan menggunakan protokol komunikasi MQTT (Message Queuing Telemetry Transport). Dalam proses ini, ESP32 berperan sebagai pengirim data, sedangkan ThingsBoard berfungsi sebagai platform penerima dan pengelola telemetri.

Setelah ESP32 berhasil terhubung ke jaringan dan server MQTT ThingsBoard, program membaca data dari sensor DHT22 serta potensiometer. Data yang diperoleh kemudian disusun dalam format JSON dan dikirimkan ke ThingsBoard melalui topik telemetri MQTT v1/devices/me/telemetry.

Proses pengiriman dan pengelolaan data telemetri dari Wokwi menuju ThingsBoard berlangsung melalui tahapan berikut:

1.     Pembacaan data sensor. ESP32 membaca suhu dan kelembapan udara dari DHT22 serta nilai analog potensiometer sebagai simulasi kelembapan tanah.

2.     Pengolahan data. Nilai analog potensiometer dikonversi menjadi persentase kelembapan tanah. Selanjutnya, ketiga parameter disusun menggunakan key suhu, kelembaban_udara, dan soil_moisture.

3.     Pengiriman melalui MQTT. ESP32 mengirimkan data dalam format JSON ke ThingsBoard menggunakan topik telemetri yang telah ditentukan.

4.     Penerimaan data oleh ThingsBoard. Data yang berhasil dikirim akan diterima dan disimpan sebagai telemetri pada device Smart Greenhouse.

5.     Pemeriksaan hasil pengiriman. Keberhasilan pengiriman dapat diperiksa melalui Serial Monitor pada Wokwi dan halaman Latest Telemetry pada ThingsBoard.

Gambar 3.6. Proses koneksi dan pengiriman data telemetri pada Serial Monitor Wokwi. 

 

Gambar 3.7. Data telemetri yang diterima oleh device Smart Greenhouse. 

Berdasarkan hasil pengujian yang telah diamati, data telemetri yang diterima pada ThingsBoard mencakup parameter suhu, kelembapan udara, dan kelembapan tanah. Pada salah satu hasil pengamatan, nilai yang ditampilkan adalah suhu sebesar 24,0 °C, kelembapan udara sebesar 40,0%, dan kelembapan tanah sebesar 0,0%. Nilai tersebut merupakan hasil pengamatan pada saat simulasi dilakukan dan dapat berubah sesuai dengan pembacaan sensor serta pengaturan potensiometer.

Penerimaan data pada halaman Latest Telemetry menunjukkan bahwa data dari simulasi Wokwi telah sampai ke device ThingsBoard. Dengan demikian, proses komunikasi antara ESP32 dan ThingsBoard dapat diamati melalui data telemetri yang tersimpan pada platform.

3.2 Program

Program berikut merupakan kode yang digunakan untuk menjalankan simulasi Smart Green-House & Soil Monitoring System berbasis ESP32. Program memanfaatkan pustaka WiFi, PubSubClient, dan DHT untuk membaca data sensor serta mengirimkan telemetri ke ThingsBoard melalui protokol MQTT. 

#include <WiFi.h>

#include <PubSubClient.h>

#include "DHT.h"

 

#define DHTPIN 15          // Pin data DHT22 terhubung ke GPIO 15

#define DHTTYPE DHT22      

#define SOIL_PIN 34        // Potensiometer simulasi kelembapan tanah di GPIO 34

 

const char* ssid = "Wokwi-GUEST";

const char* password = "";

const char* mqtt_server = "mqtt.thingsboard.cloud";

 

const char* mqtt_clid = "greenhouse_team";

const char* mqtt_user = "token_anda";

const char* mqtt_pass = "";

const char* mqtt_topic = "v1/devices/me/telemetry";

 

WiFiClient espClient;

PubSubClient client(espClient);

DHT dht(DHTPIN, DHTTYPE);

unsigned long lastMsg = 0;

 

void setup_wifi() {

  delay(10);

  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {

    delay(500);

    Serial.print(".");

  }

  Serial.println("\nWiFi connected");

}

 

void reconnect() {

  while (!client.connected()) {

    if (client.connect(mqtt_clid, mqtt_user, mqtt_pass)) {

      Serial.println("Thingsboard connected!");

    } else {

      delay(5000);

    }

  }

}

 

void setup() {

  Serial.begin(115200);

  dht.begin();

  setup_wifi();

  client.setServer(mqtt_server, 1883);

}

 

void loop() {

  if (!client.connected()) {

    reconnect();

  }

  client.loop();

 

  unsigned long now = millis();

  if (now - lastMsg > 5000) { // Kirim data setiap 5 detik

    lastMsg = now;

   

    float h = dht.readHumidity();

    float t = dht.readTemperature();

    int soilRaw = analogRead(SOIL_PIN);

    float soilMoisture = map(soilRaw, 0, 4095, 0, 100); // Konversi ke persentase 0-100%

 

    // Format payload JSON

    String payload = "{";

    payload += "\"suhu\":" + String(t) + ",";

    payload += "\"kelembaban_udara\":" + String(h) + ",";

    payload += "\"soil_moisture\":" + String(soilMoisture);

    payload += "}";

 

    // Publikasi telemetry ke ThingsBoard

    client.publish(mqtt_topic, payload.c_str());

    Serial.println("Data sent: " + payload);

  }

}


BAB 4
PENUTUP

4.1 Kesimpulan

Berdasarkan simulasi yang telah dirancang, ESP32 dapat mengimplementasikan dengan baik sebagai pusat kendali pada Smart Green-House & Soil Monitoring System. Penggunaan potensiometer pada Wokwi berhasil disimulasikan sebagai pembacaan kelembapan tanah, berdampingan dengan sensor DHT22 yang secara akurat membaca suhu dan kelembapan udara.

Sistem komunikasi berjalan lancar dengan pemanfaatan protokol MQTT untuk mentransmisikan data telemetri dari mikrokontroler ke platform ThingsBoard. Visulisasi menggunakan gauge dan chart terbukti mempermudah pemantauan parameter greenhouse secara real-time. Selain itu, integrasi Rule Chain pada ThingsBoard berhasil menciptakan sistem otomatisasi keamanan tanaman, di mana Critical Alarm dapat muncul secara otomatis ketika kelembapan tanah menyentuh angka di bawah batas minimal 30%. Secara keseluruhan, simulasi ini menunjukkan alur kerja sistem IoT yang utuh mulai dari akuisisi data perangkat keras, pengiriman cloud, hingga visualisasi dan peringatan otomatis.

4.2 Saran

Berdasarkan hasil simulasi yang telah dilakukan, terdapat beberapa saran yang dapat dipertimbangkan untuk pengembangan sistem Smart Greenhouse & Soil Monitoring System selanjutnya:

1.  Menggunakan sensor kelembapan tanah yang sebenarnya. Pada simulasi ini, kelembapan tanah hanya diwakili oleh potensiometer. Pada implementasi nyata, sebaiknya digunakan sensor kelembapan tanah seperti capacitive soil moisture sensor beserta proses kalibrasi nilai ADC agar pembacaan lebih akurat terhadap kondisi tanah yang sebenarnya.

2.  Menambahkan aktuator untuk penyiraman otomatis. Sistem saat ini baru sebatas memberikan peringatan (Critical Alarm) ketika kelembapan tanah di bawah 30%. Pengembangan berikutnya dapat menambahkan pompa air atau solenoid valve melalui modul relay, sehingga penyiraman dapat dilakukan secara otomatis tanpa menunggu tindakan manual dari pengguna.

3.  Menambahkan notifikasi ke perangkat pengguna. Peringatan yang hanya muncul pada dashboard mengharuskan pengguna membuka ThingsBoard. Notifikasi melalui email, Telegram, atau SMS dapat ditambahkan agar pengguna segera mengetahui kondisi kritis meskipun tidak sedang memantau dashboard.

4.  Menambah parameter pemantauan. Sistem dapat dikembangkan dengan sensor tambahan, seperti sensor intensitas cahaya (LDR/BH1750), pH tanah, atau level air, sehingga pemantauan kondisi greenhouse menjadi lebih lengkap.

5.  Mengatur ambang batas yang menyesuaikan jenis tanaman. Batas kelembapan 30% bersifat umum. Setiap jenis tanaman memiliki kebutuhan air yang berbeda, sehingga ambang batas sebaiknya dapat diubah, misalnya melalui atribut perangkat (shared attributes) di ThingsBoard.

6.  Melakukan pengujian pada perangkat keras fisik. Hasil simulasi di Wokwi belum sepenuhnya mencerminkan kondisi lapangan, seperti gangguan jaringan Wi-Fi dan noise pembacaan sensor. Pengujian pada rangkaian nyata diperlukan untuk memastikan keandalan sistem sebelum diterapkan.


DAFTAR PUSTAKA 

Adafruit. (n.d.). DHT sensor library. GitHub. https://github.com/adafruit/DHT-sensor-library

Espressif Systems. (n.d.). Arduino ESP32 documentation. https://docs.espressif.com/projects/arduino-esp32/en/latest/

Knolleary. (n.d.). PubSubClient. GitHub. https://github.com/knolleary/pubsubclient

ThingsBoard. (n.d.). MQTT API: Telemetry upload. https://thingsboard.io/docs/reference/mqtt-api/telemetry/

Wokwi. (n.d.). ESP32 WiFi networking. https://docs.wokwi.com/guides/esp32-wifi


LAMPIRAN

Gambar 3.8 Dokumentasi Praktikum




Tidak ada komentar:

Posting Komentar