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
- Menambah pemahaman mengenai penerapan IoT
untuk pemantauan kondisi lingkungan
- Memberikan pengalaman merancang dan menguji
rangkaian ESP32 melalui simulator Wokwi
- 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