Senin, 12 Oktober 2026

LAPORAN PRAKTIKUM PENGUJIAN SUHU DAN KELEMBABAN DENGAN ESP32 DAN SENSOR DHT22 DI PLATFORM WOKWI YANG TERINTEGRASI DENGAN THINGSBOARD

LAPORAN PRAKTIKUM PENGUJIAN SUHU DAN KELEMBABAN DENGAN ESP32 DAN SENSOR DHT22 DI PLATFORM WOKWI YANG TERINTEGRASI DENGAN THINGSBOARD

Disusun Oleh:

Muhamad Rizaldhani Darmawan(24051204004)
Novanda Ega Arenta(24051204030)
Muhammad Fiqih Mu'azaidin(24051204031)
I Made Nandana Devadatta Giri(24051204090)

BAB I
PENDAHULUAN

1.1 Latar Belakang

Suhu dan kelembapan merupakan parameter lingkungan yang sangat penting untuk dipantau dalam berbagai sektor, seperti perindustrian, perkantoran, server, hingga lingkup rumah tangga. Pada kenyataannya, pemantauan suhu secara manual seringkali tidak efisien dan kurang akurat apabila data dibutuhkan secara terus-menerus. Perkembangan teknologi membuka peluang untuk mengatasi permasalahan tersebut melalui sistem otomatisasi dan monitoring jarak jauh berbasis mikrokontroler. Saat ini, pengembangan sistem Internet of Things (IoT) menjadi lebih mudah dengan hadirnya simulator perangkat keras berbasis web seperti Wokwi, yang memungkinkan mahasiswa dan pengembang untuk merangkai serta menguji mikrokontroler tanpa memerlukan komponen fisik. Untuk visualisasi dan manajemen data, platform open-source ThingsBoard menawarkan solusi dashboard yang andal untuk memantau data sensor (telemetri) secara real-time.Berdasarkan latar belakang tersebut, kelompok kami merancang dan melakukan pengujian sistem monitoring suhu dan kelembapan menggunakan mikrokontroler ESP32 dan sensor DHT22 yang disimulasikan melalui Wokwi. Data dari simulasi tersebut kemudian dikirimkan dan dipantau melalui platform IoT ThingsBoard.

1.2 Rumusan Masalah

1.Bagaimana merancang simulasi rangkaian sistem monitoring suhu dan kelembapan menggunakan mikrokontroler ESP32 dan sensor DHT22 di platform Wokwi?

2.Bagaimana mengonfigurasi dan mengintegrasikan ESP32 pada Wokwi agar dapat mengirimkan data telemetri ke server ThingsBoard?

3.Bagaimana memvisualisasikan data suhu dan kelembaban tersebut secara real-time melalui dashboard interaktif di ThingsBoard?

1.3 Tujuan Laporan

1.Merancang simulasi sistem monitoring nirkabel menggunakan modul ESP32 dan sensor suhu DHT22 di dalam platform Wokwi.

2.Memahami prinsip paengiriman data protokol jaringan berbasis Internet of Things dari klien (ESP32) menuju platform cloud (ThingsBoard).

3.Menerapkan dan merancang antarmuka dashboard pada platform ThingsBoard untuk memonitor data lingkungan dari jarak jauh.

1.4 Manfaat Penulisan

Penyusunan laporan praktikum ini diharapkan dapat memberikan manfaat yang komprehensif, baik secara teoritis maupun praktis, di antaranya adalah:

•Bagi mahasiswa teknik informatika, laporan ini menjadi sarana untuk memperdalam pemahaman mengenai konsep Internet of Things (IoT), integrasi data berbasis cloud, dan simulasi hardware virtual.

•Bagi dunia pendidikan, laporan ini dapat dijadikan referensi maupun bahan pembelajaran untuk praktikum sejenis secara virtual tanpa terkendala biaya pengadaan komponen fisik.

•Bagi masyarakat umum, konsep yang dibahas dalam laporan ini dapat dikembangkan lebih lanjut menjadi perangkat Smart Home yang membantu memantau kenyamanan ruangan secara praktis.

BAB II
TINJAUAN PUSTAKA

2.1 Dasar Teori

Internet of Things (IoT)

Internet of Things (IoT) merupakan konsep yang menghubungkan berbagai perangkat fisik dengan jaringan internet sehingga perangkat tersebut dapat saling bertukar data dan dipantau secara jarak jauh.

Platform Simulasi Wokwi

Wokwi adalah simulator perangkat keras dan sirkuit elektronik daring yang digunakan untuk mensimulasikan sistem IoT. Wokwi mendukung berbagai mikrokontroler seperti Arduino dan ESP32, memungkinkan pengguna untuk menulis kode dan melihat hasilnya secara langsung di peramban web tanpa hardware fisik.

Mikrokontroler ESP32

ESP32 adalah mikrokontroler berbiaya rendah dan hemat daya yang sudah terintegrasi dengan fitur komunikasi nirkabel Wi-Fi dan Bluetooth. Dalam simulasi ini, ESP32 berfungsi sebagai klien yang memproses data sensor dan mengirimkannya ke internet.

Sensor DHT22 (Suhu dan Kelembapan)

Sensor DHT22 adalah sensor digital lanjutan yang mengukur suhu dan kelembaban dengan tingkat presisi dan rentang ukur yang lebih luas dan lebih akurat dibandingkan pendahulunya, DHT11.

ThingsBoard

ThingsBoard adalah platform IoT open-source yang menyediakan alat komprehensif untuk pengumpulan data, pemrosesan, visualisasi, dan manajemen perangkat IoT. Platform ini memungkinkan pengguna membuat dashboard interaktif dengan berbagai pilihan widget.

2.2 Komponen

Berikut adalah rincian komponen perangkat keras (virtual) dan perangkat lunak yang digunakan dalam implementasi simulasi berbasis Wokwi ini:

NoKomponenFungsi
1ESP8266 / ESP32Sebagai mikrokontroler utama yang memproses data sensor dan melakukan pengiriman data ke ThingsBoard.
2Sensor Suhu DHT22Membaca suhu lingkungan sekitarnya serta kelembaban, lalu mengirimkan nilai digital ke ESP32.
3Wokwi Virtual WiFiMenyediakan akses internet ke jaringan dengan SSID "Wokwi-GUEST" pada ESP32 dalam environment simulasi.
4Kabel Jumper VirtualMenghubungkan pin data dari komponen DHT22 ke mikrokontroler ESP32 secara digital di Wokwi.

BAB III
PEMBAHASAN

3.1 Penjelasan Simulasi

Sistem IoT yang dibuat merupakan alat monitoring suhu dan kelembaban menggunakan ESP32 dan sensor DHT22 yang disimulasikan pada platform Wokwi dan terintegrasi dengan platform cloud ThingsBoard. Sistem ini memanfaatkan koneksi WiFi dan protokol MQTT sehingga data hasil pembacaan sensor dapat dikirim ke server dan ditampilkan melalui dashboard ThingsBoard yang dapat diakses dari mana saja selama terhubung ke internet.

Cara kerja sistem dimulai ketika ESP32 dinyalakan. Pada tahap awal, ESP32 menginisialisasi komunikasi serial dengan baud rate 115200, menghubungkan diri ke jaringan WiFi (SSID Wokwi-GUEST), mengatur alamat server MQTT ThingsBoard (mqtt.thingsboard.cloud) pada port 1883, serta menginisialisasi sensor DHT22 pada pin GPIO 15. Serial monitor digunakan sebagai media untuk menampilkan status koneksi dan hasil pembacaan secara langsung, sedangkan WiFi dan MQTT digunakan agar ESP32 dapat mengirimkan data ke cloud.

Setelah WiFi terhubung dan alamat IP didapatkan, ESP32 melakukan koneksi ke broker MQTT ThingsBoard menggunakan client ID dan access token perangkat sebagai username, sedangkan password dikosongkan. Setelah koneksi berhasil, ESP32 membaca suhu dan kelembaban dari sensor DHT22 secara berkala setiap 5 detik. Pewaktuan ini memakai fungsi millis() sehingga program tidak terhenti (non-blocking) dan koneksi MQTT tetap dapat dipelihara melalui client.loop().

Data yang berhasil dibaca disimpan ke dalam variabel temp (suhu dalam derajat Celcius dengan dua angka desimal) dan hum (kelembaban dalam persen dengan satu angka desimal). Kedua nilai tersebut dirangkai menjadi payload berformat JSON, yaitu {"suhu":xx.xx,"kelembaban":xx.x}. Payload ini dipublikasikan ke topik v1/devices/me/telemetry, yaitu topik standar ThingsBoard untuk menerima data telemetri. ThingsBoard kemudian membaca kunci suhu dan kelembaban dan menampilkannya pada widget dashboard, baik berupa nilai terkini maupun grafik perubahan data terhadap waktu. Nilai yang sama juga dicetak pada Serial Monitor sebagai pemantauan lokal.

Sistem ini memiliki mekanisme penanganan koneksi sebagai berikut:

•Penantian Koneksi WiFi: Pada fungsi setup_wifi(), sistem akan terus mengecek status koneksi setiap 500 milidetik dan menampilkan tanda titik pada Serial Monitor hingga ESP32 berhasil terhubung ke jaringan.

•Koneksi Ulang MQTT: Apabila koneksi ke broker ThingsBoard terputus atau gagal, fungsi reconnect() akan dijalankan. Sistem menampilkan kode kesalahan (return code) pada Serial Monitor, lalu mencoba menghubungkan kembali setiap 5 detik sehingga sistem tetap berjalan tanpa perlu melakukan restart secara manual.

Secara keseluruhan, alur kerja pemrosesan data adalah:

•DHT22 → ESP32 → Serial Monitor (Untuk monitoring lokal).

•DHT22 → ESP32 → WiFi → MQTT Broker (ThingsBoard Cloud) → Dashboard ThingsBoard (Untuk monitoring nirkabel jarak jauh).

3.2 Kode Program

//untuk menghubungkan sensor DHT dengan perangkat WiFi
#include <WiFi.h>
//mengirim data ke server MQTT
#include <PubSubClient.h>
//untuk berkomunikasi dengan sensor DHT
#include <DHTesp.h>

//untuk menentukan pin pada perangkat
const int DHT_PIN = 15;
//untuk membaca data dari sensor DHT
DHTesp dht;
const char* ssid = "Wokwi-GUEST"; /// wifi ssid
const char* password = "";
//variabel string untuk menyimpan alamat server MQTT
const char* mqtt_server = "mqtt.thingsboard.cloud";// thingboardserver url
const char* mqtt_clid = "workshop_IOT_informatika"; // client id
const char* mqtt_user = "94ij253zpyqijx3g2whl"; // ganti dengan token ThingsBoard Anda
const char* mqtt_pass = ""; // dikosongkan saja
const char* mqtt_topic = "v1/devices/me/telemetry"; //topik ke device

WiFiClient espClient;
PubSubClient client(espClient);
unsigned long lastMsg = 0;

//untuk menginisialisasi dan mengatur koneksi WiFi pada perangkat.
void setup_wifi() {
delay(10);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password,6);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}

Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}

//menjaga koneksi yang stabil dengan server MQTT dan mencoba kembali jika terjadi gangguan koneksi.
void reconnect() {
while (!client.connected()) {
Serial.print("Attempting MQTT connection...");
//ini untuk konek sesuai credential thingsboard
if (client.connect(mqtt_clid, mqtt_user, mqtt_pass)) {
Serial.println("Thingsboard is Connected !!");
}
else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}}
}
//untuk mengatur perangkat sebelum memulai operasi utama.
void setup() {
Serial.begin(115200);
setup_wifi();
client.setServer(mqtt_server, 1883);
dht.setup(DHT_PIN, DHTesp::DHT22);
}
//memeriksa koneksi MQTT, mengelola koneksi, dan mempublikasikan data suhu dan kelembaban ke server MQTT
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
//milis = timer khas arduino, lebih simple
unsigned long now = millis();
if (now - lastMsg > 5000) { //perintah publish data tiap 5 detik

lastMsg = now;

//ambil pengukuran TempAndHumidity DHT22
TempAndHumidity data = dht.getTempAndHumidity();

String temp = String(data.temperature, 2);
String hum = String(data.humidity, 1);
String publish;

publish += "{";
publish += "\"suhu\":";
publish += temp;
publish += ",\"kelembaban\":";
publish += hum;
publish += "}";

client.publish(mqtt_topic, publish.c_str()); // publish ke thingsboard

Serial.print("Temperature: ");
Serial.println(temp);
Serial.print("Humidity: ");
Serial.println(hum);
}
}

3.3 Penjelasan Alur Kerja Program

Sistem monitoring ini dikendalikan oleh mikrokontroler ESP32 dengan program yang disusun menggunakan kerangka Arduino IDE (dalam simulator Wokwi). Berikut adalah alur kerjanya:

1.Inisialisasi Perangkat dan Jaringan: Saat sistem dinyalakan pada setup(), ESP32 menginisialisasi pin DHT22 dan mulai mencoba terhubung ke jaringan WiFi dengan SSID Wokwi-GUEST tanpa menggunakan sandi.

2.Koneksi Cloud MQTT: Pada blok loop(), ESP32 memverifikasi apakah ia sudah terhubung dengan server ThingsBoard (contoh menggunakan demo.thingsboard.io). Jika belum, sistem akan mencoba melakukan autentikasi ke alamat tersebut menggunakan akses Token dari device.

3.Pembacaan Sensor: Menggunakan library DHTesp, mikrokontroler mengambil nilai suhu dan kelembaban dari komponen simulasi virtual setiap 2000 milidetik (2 detik).

4.Distribusi Payload/Telemetri: Jika data berhasil dibaca secara valid, nilai tersebut dilempar ke ThingsBoard menggunakan function sendTelemetryFloat(). Fungsi ini akan memaketkan data secara struktural dengan penamaan identitas "temperature" dan "humidity" agar dapat ditangkap oleh widget di tampilan dashboard ThingsBoard.

BAB IV
PENUTUP

4.1 Kesimpulan

Berdasarkan hasil perancangan simulasi yang telah dilakukan, alat monitoring suhu dan kelembaban berbasis IoT dengan memanfaatkan platform Wokwi berhasil berjalan sesuai dengan logika program. Sistem ini berhasil memanfaatkan ESP32 dan sensor virtual DHT22 untuk mengukur parameter udara, serta secara mulus mengirimkan hasil pengukuran tersebut ke luar platform simulator menuju ke cloud ThingsBoard. Tampilan pada ThingsBoard berhasil memvisualisasikan data sensor tersebut menggunakan dashboard interaktif secara real-time dan responsif.

4.2 Saran

Sistem ini masih memiliki potensi untuk dikembangkan lebih lanjut agar lebih optimal. Beberapa saran untuk pengembangan kedepannya adalah:

1.Integrasi Aturan dan Aktuator: Pada platform ThingsBoard, dapat dibuat fitur Rule Chain untuk mengontrol pin virtual aktuator (seperti menyalakan kipas/LED di Wokwi) jika suhu melebihi ambang batas tertentu.

2.Notifikasi Alarm Proaktif: Menambahkan sistem Alarm di ThingsBoard untuk mengirimkan email otomatis kepada pengguna apabila kondisi lingkungan tidak lazim/berada di atas tingkat kewajaran.

3.Penerapan pada Perangkat Nyata: Mengimplementasikan seluruh konfigurasi kode dan desain dashboard yang sudah teruji di simulator Wokwi langsung ke dalam modul ESP32 dan sensor fisik sesungguhnya.

DAFTAR PUSTAKA

Aosong / Mouser Electronics. (2026). DHT22/AM2302 Humidity & Temperature Sensor Datasheet. Diakses dari dokumentasi resmi sensor komponen elektronik.

Espressif Systems. (2026). ESP32 Series Datasheet dan Hardware Design Guidelines. Diakses dari https://www.espressif.com/en/support/documents/technical-documents

ThingsBoard. (2026). ThingsBoard Documentation: Getting Started & Telemetry Upload API. Diakses dari https://thingsboard.io/docs/

Wokwi Docs. (2026). Wokwi Simulator Documentation: ESP32 and WiFi. Diakses dari https://docs.wokwi.com/

LAMPIRAN

Link video presentasi: https://youtu.be/Lq-48t4JTEE

Tidak ada komentar:

Posting Komentar