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

  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 melalui jaringan Wi-Fi menggunakan protokol MQTT ke platform ThingsBoard Cloud.

  4. Menambah pemahaman mengenai visualisasi data sensor pada dashboard ThingsBoard untuk mempermudah pemantauan kondisi lingkungan.

  5. 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.

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. 
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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:

  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 

  1. 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 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