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:
Bagaimana membuat simulasi sistem pemantauan kondisi lingkungan tanaman menggunakan ESP32, sensor DHT22, dan potensiometer pada platform Wokwi?
Bagaimana membaca suhu, kelembapan udara, dan nilai simulasi kelembaban tanah serta mengirimkannya ke ThingsBoard menggunakan protokol MQTT?
Bagaimana menampilkan data telemetri pada dashboard ThingsBoard dalam bentuk indikator dan grafik riwayat data?
Bagaimana menerapkan mekanisme alarm otomatis ketika nilai simulasi kelembaban tanah berada di bawah ambang batas 30%?
1.3 Tujuan Laporan
Memahami penerapan teknologi IoT untuk memantau kondisi lingkungan tanaman.
Membuat simulasi perangkat IoT menggunakan ESP32, sensor DHT22, dan potensiometer pada platform Wokwi.
Menerapkan pembacaan suhu, kelembapan udara, dan nilai simulasi kelembaban tanah serta mengirimkan data tersebut ke ThingsBoard menggunakan protokol MQTT.
Memahami proses pemantauan dan visualisasi data telemetri melalui dashboard ThingsBoard.
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 melalui jaringan Wi-Fi menggunakan protokol MQTT ke platform ThingsBoard Cloud.
Menambah pemahaman mengenai visualisasi data sensor pada dashboard ThingsBoard untuk mempermudah pemantauan kondisi lingkungan.
Memahami penerapan Rule Chain untuk mendeteksi kondisi kelembapan tanah di bawah batas yang ditentukan, serta pembuatan alarm dan pengiriman notifikasi email.
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.
BAB 3
PEMBAHASAN
3.1 Penjelasan Simulasi dan Pengaturan ThingsBoard
3.1.1 Cara Kerja Sistem
- 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).
- 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.
- 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.
- Setelah
data telemetri berhasil diterima, data suhu, kelembapan udara, dan
kelembapan tanah ditampilkan pada dashboard ThingsBoard menggunakan widget
visualisasi, seperti gauge atau grafik. Visualisasi ini memudahkan
pengguna untuk memantau perubahan kondisi lingkungan berdasarkan data yang
dikirimkan dari simulasi Wokwi.
- Selain
menampilkan data sensor, sistem menggunakan Rule Chain untuk memeriksa
nilai kelembapan tanah yang diterima. Rule Chain tambahan dibuat untuk
memproses data telemetri dan dihubungkan ke Root Rule Chain agar
proses pemeriksaan dapat dijalankan ketika data telemetri masuk ke
ThingsBoard.
- Pada Rule
Chain tersebut, nilai kelembapan tanah diperiksa menggunakan kondisi
ambang batas kurang dari 30%. Apabila nilai soil_moisture kurang dari 30%,
sistem membuat alarm dengan jenis Soil Moisture Low dan tingkat
keparahan Critical. Apabila kondisi alarm tidak lagi terpenuhi,
sistem menjalankan proses pembersihan alarm sesuai konfigurasi yang telah
dibuat.
- Alarm
yang berhasil dibuat dapat ditampilkan pada dashboard ThingsBoard melalui
widget alarm. Dengan demikian, pengguna dapat mengetahui ketika kelembapan
tanah berada di bawah batas yang telah ditentukan tanpa harus memeriksa
nilai telemetri satu per satu.
- Sistem
juga dilengkapi dengan notifikasi email yang dikonfigurasi melalui Rule
Chain. Ketika kondisi yang ditentukan memicu proses notifikasi,
ThingsBoard mengirimkan informasi melalui email kepada penerima yang telah
diatur. Notifikasi ini berfungsi sebagai pemberitahuan tambahan ketika
kelembapan tanah berada dalam kondisi kritis.
- Dengan keseluruhan proses tersebut, sistem Smart Greenhouse & Soil Monitoring System dapat membaca data sensor melalui simulasi Wokwi, mengirimkan data ke ThingsBoard Cloud, menampilkan data dalam dashboard, serta memberikan alarm dan notifikasi email berdasarkan kondisi kelembapan tanah yang telah ditentukan..
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:
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
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:
Membaca data suhu dari sensor DHT22 melalui GPIO 15.
Membaca data kelembapan udara dari sensor DHT22 melalui GPIO 15.
Membaca nilai analog dari potensiometer melalui GPIO 34.
Mengonversi nilai analog potensiometer menjadi persentase kelembapan tanah.
Menyusun data hasil pembacaan ke dalam format JSON.
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 has
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.5
Proses koneksi dan pengiriman data telemetri pada Serial Monitor Wokwi.

Gambar 3.6 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.1.5 Visualisasi Data pada Dashboard
ThingsBoard
Visualisasi
data dilakukan untuk menampilkan hasil pembacaan sensor yang telah dikirimkan
dari simulasi Wokwi ke ThingsBoard Cloud. Data suhu udara, kelembapan udara,
dan kelembapan tanah ditampilkan melalui widget pada dashboard sehingga kondisi
greenhouse dapat diamati dengan lebih mudah.
Langkah
1. Membuat Dashboard
Buka
ThingsBoard Cloud, kemudian masuk ke menu Dashboard. Klik tombol untuk
menambahkan dashboard baru, lalu isi judul dashboard, misalnya Smart
Greenhouse Monitoring. Setelah itu, simpan dashboard yang telah dibuat.

Gambar 3.7
Tampilan dashboard pada ThingsBoard.

Gambar 3.8
Tampilan pembuatan dashboard Smart Greenhouse pada ThingsBoard.
Penjelasan:
Dashboard digunakan sebagai halaman utama untuk menampilkan informasi
pemantauan greenhouse. Seluruh widget visualisasi sensor akan ditempatkan pada
dashboard ini.
Langkah
2. Menambahkan Widget Suhu Udara
Buka
dashboard yang telah dibuat, kemudian masuk ke mode edit dan pilih menu untuk
menambahkan widget. Pilih widget berbentuk Thermometer Scale, lalu atur sumber
data menggunakan device Smart Greenhouse. Pilih data key suhu sebagai data yang
akan ditampilkan. Sesuaikan nama widget menjadi Suhu Udara dan atur
satuan suhu menjadi °C. Setelah selesai, simpan konfigurasi widget.

Gambar 3.9
Pilih widget berbentuk Thermometer Scale

Gambar 3.10
Konfigurasi widget suhu udara pada dashboard ThingsBoard.
Penjelasan: Widget
suhu udara digunakan untuk menampilkan nilai temperatur yang dibaca oleh sensor
DHT22. Nilai pada widget akan mengikuti data telemetri yang diterima oleh
ThingsBoard.
Langkah
3. Menambahkan Widget Kelembapan Udara
Tambahkan
widget baru dengan cara yang sama seperti langkah sebelumnya. Pilih widget
Gauge, kemudian gunakan device Smart Greenhouse sebagai sumber data dan pilih
data key kelembaban_udara. Berikan nama widget Kelembapan Udara dan atur
satuan menjadi persen (%). Simpan konfigurasi widget.

Gambar 3.11
Pilih widget berbentuk Gauge

Gambar 3.12
Konfigurasi widget kelembapan udara pada dashboard ThingsBoard.
Penjelasan:
Widget ini menampilkan persentase kelembapan udara yang diukur oleh sensor
DHT22. Informasi tersebut dapat digunakan untuk mengamati kondisi udara di
sekitar tanaman.
Langkah
4. Menambahkan Widget Kelembapan Tanah
Tambahkan
widget Gauge untuk menampilkan kelembapan tanah. Pilih device Smart Greenhouse,
kemudian tentukan data key soil_moisture. Atur nama widget menjadi Kelembapan
Tanah dan gunakan satuan persen (%). Setelah itu, simpan konfigurasi
widget.

Gambar 3.13
Pilih widget berbentuk Gauge

Gambar 3.14
Konfigurasi widget kelembapan tanah pada dashboard ThingsBoard.
Penjelasan:
Widget kelembapan tanah menampilkan persentase kelembapan yang diperoleh dari
nilai analog potensiometer yang digunakan sebagai simulasi sensor kelembapan
tanah pada Wokwi. Nilai tersebut nantinya juga digunakan sebagai dasar
pemeriksaan kondisi alarm.
Langkah
5. Menyimpan dan Mengamati Dashboard
Setelah
seluruh widget selesai dikonfigurasi, simpan perubahan dashboard. Jalankan
simulasi Wokwi dan amati apakah nilai suhu udara, kelembapan udara, dan
kelembapan tanah muncul pada masing-masing widget. Ubah nilai potensiometer
untuk melihat perubahan nilai kelembapan tanah yang ditampilkan.

Gambar 3.15
Tampilan dashboard Smart Greenhouse setelah widget berhasil dikonfigurasi.
Penjelasan:
Dashboard yang telah dikonfigurasi menampilkan data sensor secara visual
berdasarkan telemetri yang diterima dari device. Perubahan nilai pada simulasi
dapat diamati melalui widget yang sesuai, sehingga proses pemantauan kondisi
greenhouse menjadi lebih mudah.
3.1.6 Konfigurasi Rule Chain dan Alarm
Langkah
1. Membuka Rule Chains
Buka
ThingsBoard Cloud, kemudian masuk ke menu Rule Chains. Pilih Root Rule Chain
yang digunakan oleh device Smart Greenhouse untuk memproses data telemetri yang
masuk.

Gambar 3.16
Tampilan menu Rule Chains pada ThingsBoard.
Penjelasan:
Menu Rule Chains digunakan untuk mengatur alur pemrosesan data telemetri. Pada
sistem ini, Root Rule Chain digunakan sebagai tempat untuk memeriksa nilai
kelembapan tanah dan menentukan apakah alarm perlu diaktifkan.
Langkah
2. Membuat Rule Chain Baru
Klik
tombol Add Rule Chain atau tombol tambah yang tersedia pada halaman Rule
Chains. Masukkan nama Rule Chain, misalnya Greenhouse Alarm, kemudian simpan
konfigurasi.

Gambar 3.17
Tampilan pembuatan Rule Chain baru.
Penjelasan:
Rule Chain baru dibuat untuk memisahkan proses pemeriksaan kelembapan tanah dan
pengelolaan alarm dari alur pemrosesan utama. Dengan begitu, konfigurasi alarm
dapat dikelola dalam alur tersendiri.
Langkah
3. Menambahkan Node pada Rule Chain Baru
Buka
Rule Chain Greenhouse Soil Moisture Alarm yang telah dibuat. Tambahkan node
Script Filter, Create Alarm, dan Clear Alarm pada area kerja Rule Chain.

Gambar 3.18
Tampilan penambahan node pada Rule Chain Greenhouse Soil Moisture Alarm
Penjelasan:
Setiap node memiliki fungsi yang berbeda. Script Filter memeriksa nilai
kelembapan tanah, Create Alarm membuat alarm ketika kondisi kritis terpenuhi,
sedangkan Clear Alarm menangani penghapusan alarm ketika kondisi sudah tidak
memenuhi kriteria.
Langkah
4. Menambahkan Script Filter
Tambahkan
node Script Filter pada Rule Chain. Masukkan kode berikut untuk memeriksa nilai
kelembapan tanah.
return msg.soil_moisture < 30;

Gambar 3.19 Konfigurasi
Script Filter untuk memeriksa kelembapan tanah.
Penjelasan:
Kode tersebut memeriksa nilai soil_moisture pada data telemetri. Jika nilainya
kurang dari 30%, data diteruskan melalui jalur True. Jika nilainya 30% atau
lebih, data diteruskan melalui jalur False.
Langkah
5. Mengatur dan Menghubungkan Node Alarm
Tambahkan
node Create Alarm untuk membuat alarm ketika kelembapan tanah kurang dari 30%.
Atur jenis alarm menjadi Soil Moisture Low dan tingkat keparahannya menjadi
Critical. Selanjutnya, tambahkan node Clear Alarm untuk menangani kondisi
ketika kelembapan tanah sudah tidak memenuhi kondisi alarm. Hubungkan Script
Filter ke node Create Alarm melalui jalur True, kemudian ke node Clear Alarm
melalui jalur False. Pastikan alur tersebut terhubung dengan pemrosesan
telemetri pada Root Rule Chain.

Gambar 3.20
Konfigurasi node Create Alarm.

Gambar 3.21
Konfigurasi node Clear Alarm.

Gambar 3.22
Alur Rule Chain untuk pemrosesan alarm kelembapan tanah.
Penjelasan:
Node Create Alarm digunakan untuk mencatat kondisi kritis pada sistem.
Sementara itu, Clear Alarm digunakan untuk menghapus status alarm aktif ketika
kondisi kelembapan tanah kembali normal, sesuai alur yang telah dikonfigurasi.
Hubungan antar-node menentukan tindakan yang dilakukan sistem berdasarkan nilai
kelembapan tanah. Dengan konfigurasi tersebut, sistem dapat memicu alarm ketika
kelembapan tanah di bawah ambang batas yang ditentukan.
Langkah
6. Menghubungkan Rule Chain Baru ke Root Rule Chain
Setelah
Rule Chain Greenhouse Alarm selesai dikonfigurasi, buka kembali Root Rule
Chain. Tambahkan node Rule Chain pada Root Rule Chain, lalu pilih Greenhouse
Alarm sebagai Rule Chain tujuan. Hubungkan node pemrosesan telemetri, melalui
relasi Post telemetry, ke node Rule Chain tersebut. Setelah itu, simpan
perubahan Root Rule Chain.

Gambar 3.23
Tampilan penambahan node Rule Chain pada Root Rule Chain

Gambar 3.24
Penghubungan Root Rule Chain dengan Rule Chain Greenhouse Alarm
Penjelasan:
Root Rule Chain merupakan alur utama pemrosesan telemetri. Dengan menambahkan
node Rule Chain dan mengarahkannya ke Greenhouse Alarm, data telemetri dapat
diteruskan ke alur pemeriksaan kelembapan tanah. Relasi Post telemetry
digunakan pada alur untuk memproses pesan telemetri yang masuk. Pastikan
hubungan tersebut sesuai dengan alur yang digunakan pada konfigurasi
kelompok.
3.1.7 Menampilkan Alarm pada Dashboard ThingsBoard
Langkah
1. Membuka Dashboard
Masuk
ke menu Dashboards, kemudian buka dashboard Smart Greenhouse Monitoring yang
sebelumnya digunakan untuk menampilkan suhu, kelembapan udara, dan kelembapan
tanah.

Gambar 3.25
Screenshot dashboard Smart Greenhouse.
Penjelasan:
Dashboard yang sama digunakan agar informasi kondisi sensor dan alarm dapat
dipantau dalam satu halaman.
Langkah
2. Menambahkan Widget Alarm
Masuk
ke mode edit dashboard, pilih Add Widget, lalu cari widget kategori Alarms.
Pilih widget daftar alarm yang tersedia, kemudian atur sumber data atau filter
agar menampilkan alarm dari device Smart Greenhouse.

Gambar 3.26
Screenshot pemilihan dan konfigurasi widget alarm.
Penjelasan:
Widget alarm digunakan untuk menampilkan informasi alarm yang dibuat oleh Rule
Chain. Informasi yang ditampilkan bergantung pada konfigurasi widget, termasuk
device dan jenis alarm yang dipilih.
Langkah
3. Menyimpan dan Menguji Widget Alarm
Simpan
konfigurasi dashboard. Jalankan simulasi Wokwi, kemudian ubah nilai
potensiometer hingga soil_moisture kurang dari 30%. Periksa apakah alarm Soil
Moisture Low dengan severity Critical muncul pada widget alarm.

Gambar 3.27
Screenshot dashboard yang memperlihatkan alarm Critical.
Penjelasan:
Jika alarm muncul, hal tersebut menunjukkan bahwa Rule Chain berhasil membuat
alarm dan widget dashboard berhasil menampilkan informasi alarm tersebut.
3.1.8 Konfigurasi Notifikasi Email
Langkah
1. Menambahkan Node To Email
Pada
Rule Chain, tambahkan node To Email untuk menyiapkan informasi penerima dan isi
pesan email yang akan dikirim ketika alarm terjadi.

Gambar 3.28
Pengaturan Email sender dan Recipients

Gambar 3.29
Pengaturan Subject dan Body email
Penjelasan:
Node To Email digunakan untuk menyiapkan pesan notifikasi. Konfigurasi ini
menjadi bagian dari alur pengiriman informasi kepada pengguna.
Langkah
2. Menambahkan Node Send Email
Tambahkan
node Send Email dan konfigurasi pengiriman menggunakan SMTP Gmail. Gunakan
server smtp.gmail.com, port 587, TLS, serta App Password Gmail yang telah
disiapkan.

Gambar 3.30 Konfigurasi
SMTP pada node Send Email.
Penjelasan:
Konfigurasi SMTP memungkinkan ThingsBoard mengirimkan pesan melalui layanan
email. App Password digunakan sebagai autentikasi. Informasi rahasia tersebut
tidak perlu ditampilkan dalam laporan.
Langkah
3. Menghubungkan To Email dan Send Email
Hubungkan
node To Email ke node Send Email melalui jalur yang sesuai. Setelah itu, simpan
konfigurasi Rule Chain dan pastikan node terhubung dengan alur pemicu alarm.

Gambar 3.31
Alur pengiriman notifikasi email pada Rule Chain.
Penjelasan:
Ketika alur pemrosesan mencapai node Send Email, ThingsBoard akan menjalankan
proses pengiriman pesan sesuai konfigurasi. Keberhasilan pengiriman perlu
dibuktikan melalui hasil pengujian dan email yang diterima.
3.1.9 Pengujian dan Hasil Simulasi
Bagian
pengujian juga harus bertahap, supaya pembaca tahu bagaimana hasil tersebut
diperoleh.
Langkah
1. Menjalankan Simulasi pada Wokwi
Jalankan
simulasi ESP32 pada Wokwi. Pastikan sensor DHT22 dan potensiometer memberikan
data, lalu periksa apakah program mengirimkan telemetri ke ThingsBoard.

Gambar 3.32
Rangkaian Wokwi ketika simulasi berjalan
Penjelasan:
Tahap ini bertujuan memastikan program berjalan dan data sensor berhasil dibaca
sebelum memeriksa hasil pada ThingsBoard.
Langkah
2. Memeriksa Data Telemetri
Buka
device Smart Greenhouse pada ThingsBoard, kemudian periksa bagian Latest
Telemetry. Pastikan data suhu, kelembaban_udara, dan soil_moisture muncul.

Gambar 3.33 Latest
Telemetry yang memperlihatkan ketiga data
Penjelasan:
Data yang muncul menunjukkan bahwa telemetri dari simulasi berhasil diterima
oleh device ThingsBoard.
Langkah
3. Menguji Kondisi Alarm
Ubah
nilai potensiometer pada Wokwi hingga nilai soil_moisture kurang dari 30%.
Periksa menu Alarms pada ThingsBoard untuk memastikan alarm Soil Moisture Low
muncul dengan severity Critical.

Gambar 3.34
Nilai kelembapan tanah di bawah 30% dan alarm Critical pada ThingsBoard.
Penjelasan:
Pengujian ini dilakukan untuk mengetahui apakah Script Filter dan node alarm
berjalan sesuai ambang batas yang ditentukan.
Langkah
4. Memeriksa Notifikasi Email
Setelah
alarm terpicu, periksa kotak masuk email penerima. Pastikan pesan notifikasi
dari ThingsBoard diterima.

Gambar 3.35 Email
notifikasi yang berhasil diterima. Sembunyikan alamat email pribadi atau
informasi sensitif jika diperlukan.
Penjelasan:
Email yang diterima menjadi bukti bahwa konfigurasi pengiriman notifikasi
berhasil dijalankan.
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 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
Wokwi.
(n.d.). DHT22 sensor reference. https://docs.wokwi.com/parts/wokwi-dht22
LAMPIRAN

Gambar 3.36
Dokumentasi Praktikum
Tidak ada komentar:
Posting Komentar