Senin, 14 September 2026

SISTEM MONITORING SUHU BERBASIS INTERNET OF THINGS (IoT) MENGGUNAKAN ESP32 DAN SENSOR DHT22 PADA WEB SIMULATOR

 SISTEM MONITORING SUHU BERBASIS INTERNET OF THINGS (IoT) MENGGUNAKAN ESP32 DAN SENSOR DHT22 PADA WEB SIMULATOR





Kelompok 11

Disusun Oleh:

Ramdani Mulyadi - 24051204137

Naufal Alif Prasetya - 24051204126

Syauqi Ihsan Ramadhan - 24051204110

Luthfi Fadli Zainuddin - 24051204200




Dosen Pengampu:

Aditya Prapanca, S.T., M.Kom.



PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI SURABAYA

2026



BAB I
PENDAHULUAN


1.1 Latar Belakang

Perkembangan teknologi informasi dan komunikasi telah melahirkan konsep Internet of Things (IoT), yaitu teknologi yang memungkinkan berbagai perangkat elektronik saling terhubung melalui jaringan internet untuk bertukar data secara otomatis. Teknologi IoT banyak diterapkan dalam berbagai bidang, seperti industri, pertanian, kesehatan, rumah pintar (smart home), hingga sistem monitoring lingkungan. Salah satu penerapan IoT yang sering digunakan adalah sistem monitoring suhu. Monitoring suhu secara real-time sangat penting untuk mengetahui kondisi lingkungan dan mencegah terjadinya perubahan suhu yang dapat menimbulkan kerugian. Sebagai contoh, monitoring suhu digunakan pada ruang server, laboratorium, gudang penyimpanan, rumah kaca, serta sistem pendingin ruangan.

Pada praktikum ini dibuat sebuah simulasi sistem monitoring suhu berbasis IoT menggunakan mikrokontroler ESP32 dan sensor DHT22. Sensor DHT22 digunakan untuk membaca data suhu dan kelembapan, sedangkan ESP32 berfungsi sebagai pengolah data sekaligus penghubung ke jaringan internet melalui Wi-Fi. Data yang diperoleh kemudian ditampilkan pada dashboard berbasis web sehingga dapat dipantau secara real-time melalui browser. Karena keterbatasan alat fisik, proses perancangan dan pengujian dilakukan menggunakan simulator Wokwi. Simulator ini memungkinkan pengguna untuk merancang rangkaian elektronik, menjalankan program, dan mengamati hasil kerja sistem secara virtual. Dengan adanya simulasi ini, mahasiswa dapat memahami konsep dasar Internet of Things, sensor, komunikasi data, dan monitoring berbasis web tanpa memerlukan perangkat keras secara langsung. Melalui praktikum ini diharapkan mahasiswa dapat memahami proses perancangan sistem IoT sederhana mulai dari pembacaan sensor, pengolahan data, komunikasi jaringan, hingga penyajian informasi melalui antarmuka web.


1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah diuraikan, maka rumusan masalah dalam praktikum ini adalah sebagai berikut:

  1. Bagaimana merancang sistem monitoring suhu berbasis Internet of Things menggunakan ESP32 dan sensor DHT22?

  2. Bagaimana menampilkan data suhu dan kelembapan pada dashboard berbasis web?

  3. Bagaimana melakukan simulasi sistem IoT menggunakan platform Wokwi?

  4. Bagaimana kinerja sistem dalam memantau perubahan suhu secara real-time?


1.3 Manfaat Praktikum

Manfaat yang diperoleh dari praktikum ini antara lain:

  1. Menambah pemahaman mengenai konsep Internet of Things (IoT).

  2. Memahami cara kerja sensor suhu dan kelembapan.

  3. Mempelajari penggunaan ESP32 dalam sistem monitoring.

  4. Mengetahui proses pengiriman dan penyajian data melalui jaringan internet.

  5. Melatih kemampuan perancangan dan simulasi sistem IoT menggunakan software simulator.

1.4 Batasan Masalah

Agar pembahasan lebih terarah, maka batasan masalah dalam praktikum ini adalah:

  • Sistem menggunakan mikrokontroler ESP32 sebagai pengendali utama.

  • Sensor yang digunakan adalah DHT22 untuk mengukur suhu dan kelembapan.

  • Simulasi dilakukan menggunakan platform Wokwi.

  • Data ditampilkan pada dashboard web sederhana.

  • Sistem hanya berfungsi untuk monitoring dan tidak melakukan pengendalian otomatis terhadap perangkat lain.



BAB II
TINJAUAN PUSTAKA


2.1 Internet of Things

Internet of Things (IoT) merupakan konsep yang memungkinkan berbagai perangkat fisik terhubung ke jaringan internet sehingga perangkat tersebut dapat mengumpulkan, mengirimkan, menerima, dan bertukar data. Perangkat IoT umumnya dilengkapi dengan sensor, mikrokontroler, serta konektivitas jaringan yang memungkinkan proses pengumpulan dan pertukaran data secara otomatis. Dalam penerapannya, IoT dapat digunakan untuk melakukan monitoring terhadap kondisi suatu objek atau lingkungan. Data yang diperoleh dari sensor dapat dikirimkan melalui jaringan dan selanjutnya ditampilkan kepada pengguna dalam bentuk informasi yang lebih mudah dipahami. Pada sistem yang dibuat dalam praktikum ini, konsep IoT diterapkan melalui proses pembacaan suhu dan kelembapan menggunakan sensor DHT22. Data tersebut diproses oleh ESP32 dan dikirimkan melalui koneksi Wi-Fi untuk dapat diakses melalui antarmuka web.


2.2 ESP32

ESP32 merupakan mikrokontroler yang dikembangkan oleh Espressif Systems dan banyak digunakan dalam pengembangan sistem IoT. Salah satu keunggulan ESP32 adalah tersedianya fitur konektivitas Wi-Fi dan Bluetooth yang telah terintegrasi pada mikrokontroler sehingga tidak membutuhkan modul komunikasi tambahan untuk membangun sistem yang terhubung ke jaringan. ESP32 juga memiliki sejumlah GPIO (General Purpose Input/Output) yang dapat digunakan untuk menghubungkan berbagai sensor dan perangkat elektronik. Kemampuan pemrosesan serta konektivitas jaringan yang dimiliki ESP32 membuatnya sesuai digunakan untuk sistem monitoring berbasis IoT. Dalam praktikum ini, ESP32 digunakan sebagai pusat pengendali sistem. ESP32 menerima data dari sensor DHT22, melakukan pemrosesan data, kemudian menyediakan data tersebut melalui koneksi jaringan agar dapat ditampilkan pada dashboard monitoring berbasis web. 

2.3 Sensor DHT22

DHT22 merupakan sensor digital yang dapat digunakan untuk mengukur suhu dan kelembapan udara. Sensor ini memiliki kemampuan pengukuran yang lebih baik dibandingkan beberapa sensor sederhana lainnya dan dapat digunakan dalam berbagai proyek monitoring lingkungan. DHT22 menghasilkan data berupa suhu dan kelembapan yang dapat dibaca oleh mikrokontroler melalui komunikasi digital. Dengan demikian, sensor ini dapat digunakan untuk memperoleh informasi kondisi lingkungan secara berkala. Dalam sistem yang dibuat, DHT22 berfungsi sebagai sumber data utama. Nilai suhu yang diperoleh akan digunakan untuk menentukan kondisi lingkungan, sedangkan nilai kelembapan dapat digunakan sebagai informasi tambahan pada dashboard. Parameter utama yang digunakan dalam praktikum adalah:

  • Suhu: dinyatakan dalam derajat Celsius (°C).

  • Kelembapan: dinyatakan dalam persentase (%).

2.4 Sistem Monitoring Suhu

Sistem monitoring suhu merupakan sistem yang digunakan untuk memperoleh dan mengamati nilai suhu suatu lingkungan atau objek secara berkala. Sistem monitoring dapat dilakukan secara manual maupun otomatis. Pada sistem berbasis IoT, proses pengukuran dan penyampaian informasi dapat dilakukan secara otomatis. Sistem monitoring suhu berbasis IoT memiliki beberapa tahapan utama. Pertama, sensor melakukan pengukuran kondisi lingkungan. Kedua, mikrokontroler menerima dan mengolah hasil pengukuran. Ketiga, data dikirimkan atau disediakan melalui jaringan. Terakhir, data ditampilkan kepada pengguna melalui suatu antarmuka. Pada praktikum ini, sistem monitoring dirancang agar pengguna dapat mengetahui kondisi suhu tanpa harus membaca sensor secara langsung. Nilai suhu yang diperoleh sensor ditampilkan pada halaman web sehingga proses pemantauan dapat dilakukan melalui browser.

2.5 Wi-Fi dan Komunikasi Data

Wi-Fi merupakan teknologi komunikasi nirkabel yang memungkinkan perangkat elektronik terhubung ke jaringan tanpa menggunakan kabel. Pada sistem IoT, Wi-Fi dapat digunakan sebagai media komunikasi antara perangkat IoT dengan jaringan lokal maupun internet. ESP32 memiliki modul Wi-Fi terintegrasi sehingga dapat digunakan untuk menghubungkan sistem monitoring dengan jaringan. Setelah ESP32 terhubung ke jaringan, perangkat dapat menyediakan layanan web server yang dapat diakses oleh perangkat lain melalui browser. Dalam praktikum ini, koneksi Wi-Fi digunakan untuk mendukung komunikasi antara ESP32 dan perangkat pengguna. ESP32 akan terhubung ke jaringan simulasi yang tersedia pada platform Wokwi, kemudian menjalankan web server untuk menyediakan halaman monitoring.

2.6 Web Server

Web server merupakan perangkat lunak yang bertugas menerima permintaan dari client dan memberikan respons berupa data yang dapat ditampilkan oleh browser. Dalam sistem IoT, web server dapat digunakan sebagai media untuk menyediakan informasi yang diperoleh dari sensor. ESP32 dapat digunakan sebagai web server sederhana. Setelah ESP32 terhubung ke jaringan, perangkat tersebut dapat menerima HTTP request dari browser. Ketika pengguna membuka alamat IP ESP32, ESP32 akan memberikan halaman web yang berisi informasi monitoring. Pada praktikum ini, web server digunakan untuk menampilkan informasi suhu dan kelembapan yang diperoleh dari sensor DHT22. Dengan pendekatan tersebut, ESP32 tidak hanya berfungsi sebagai pengolah data sensor, tetapi juga sebagai penyedia antarmuka monitoring.

2.7 Dashboard Monitoring

Dashboard monitoring merupakan antarmuka yang digunakan untuk menyajikan data hasil pemantauan kepada pengguna. Dashboard dapat menampilkan data dalam bentuk angka, indikator status, tabel, maupun grafik sehingga informasi yang diperoleh dari sensor dapat dipahami dengan lebih mudah. Pada sistem ini, dashboard dirancang untuk menampilkan beberapa informasi utama, yaitu:

  1. Nilai suhu saat ini.

  2. Nilai kelembapan saat ini.

  3. Status kondisi suhu.

  4. Perubahan nilai suhu dari waktu ke waktu.

Status kondisi suhu dapat ditentukan berdasarkan nilai yang diperoleh dari sensor. Sebagai contoh, sistem dapat memberikan kategori normal, waspada, dan bahaya berdasarkan batas suhu yang telah ditentukan. Penggunaan dashboard membuat sistem monitoring menjadi lebih informatif dibandingkan hanya menampilkan data melalui Serial Monitor. Pengguna dapat melihat kondisi sistem melalui browser dengan tampilan yang lebih terstruktur.

2.8 HTTP

Hypertext Transfer Protocol (HTTP) merupakan protokol yang digunakan untuk melakukan komunikasi antara client dan server pada sistem web. Client dapat mengirimkan request kepada server, kemudian server memberikan response sebagai hasil dari request tersebut. Dalam sistem monitoring yang dibuat, browser berperan sebagai client, sedangkan ESP32 berperan sebagai server. Ketika pengguna mengakses alamat ESP32 melalui browser, browser mengirimkan HTTP request. ESP32 kemudian memberikan response berupa halaman web yang berisi data monitoring. Komunikasi tersebut memungkinkan data sensor dapat diakses menggunakan perangkat yang memiliki browser dan terhubung pada jaringan yang sama.

2.9 Simulator Wokwi

Wokwi merupakan platform simulasi elektronik berbasis web yang dapat digunakan untuk melakukan simulasi berbagai perangkat mikrokontroler dan komponen elektronik. Platform ini mendukung berbagai perangkat seperti ESP32, Arduino, sensor, LED, LCD, dan komponen elektronik lainnya. Penggunaan simulator memungkinkan proses perancangan dan pengujian dilakukan tanpa menggunakan perangkat keras secara langsung. Program yang dibuat dapat dijalankan pada mikrokontroler virtual dan hasilnya dapat diamati melalui lingkungan simulasi. Dalam praktikum ini, Wokwi digunakan sebagai lingkungan untuk mensimulasikan ESP32 dan sensor DHT22. Penggunaan simulator juga memudahkan proses pengujian karena perubahan program dan konfigurasi rangkaian dapat dilakukan tanpa risiko kerusakan pada komponen fisik.


2.10 Monitoring Real

Monitoring real-time merupakan proses pemantauan data yang dilakukan dengan jeda waktu yang relatif singkat sehingga perubahan kondisi dapat diketahui dengan segera. Pada sistem IoT, monitoring real-time dapat dilakukan dengan mengambil data sensor secara berkala dan memperbarui informasi yang ditampilkan kepada pengguna. Dalam sistem ini, ESP32 melakukan pembacaan sensor secara periodik. Data hasil pembacaan kemudian digunakan untuk memperbarui informasi pada dashboard. Dengan demikian, pengguna dapat mengamati perubahan suhu berdasarkan pembacaan terbaru dari sensor. Monitoring secara real-time memiliki manfaat terutama pada sistem yang membutuhkan pengawasan kondisi lingkungan secara berkelanjutan. Apabila nilai suhu melewati batas tertentu, sistem juga dapat memberikan indikator sehingga pengguna dapat mengetahui perubahan kondisi tersebut.


2.11 Indikator Kondisi Suhu

Untuk memberikan informasi kondisi suhu secara lebih mudah dipahami, sistem dapat menggunakan indikator berdasarkan rentang nilai suhu. Indikator tersebut tidak dimaksudkan sebagai standar medis maupun standar keselamatan tertentu, tetapi digunakan sebagai parameter simulasi dalam praktikum. Contoh pembagian kondisi yang digunakan adalah:


Rentang Suhu

Status

Indikator

<25°C

Dingin

Normal

25°C - 30°C

Normal

Normal

30°C - 35°C

Waspada

Peringatan

>35°C

Bahaya

Alarm


Berdasarkan pembagian tersebut, sistem dapat memberikan respons yang berbeda sesuai dengan kondisi suhu. Ketika suhu berada pada kondisi normal, sistem menampilkan status normal. Ketika suhu meningkat melewati batas tertentu, sistem memberikan status waspada. Apabila suhu melebihi batas bahaya, sistem dapat mengaktifkan indikator seperti LED dan buzzer. Penggunaan indikator tersebut bertujuan untuk menunjukkan bagaimana data sensor dapat digunakan tidak hanya sebagai informasi numerik, tetapi juga sebagai dasar pengambilan keputusan otomatis dalam sistem IoT.


2.12 Prinsip Kerja Sistem

Prinsip kerja sistem monitoring suhu pada praktikum ini dimulai ketika sensor DHT22 melakukan pembacaan suhu dan kelembapan. Data hasil pembacaan kemudian diterima oleh ESP32 untuk diproses. ESP32 selanjutnya menentukan status kondisi berdasarkan nilai suhu yang diperoleh. Data tersebut kemudian disediakan melalui web server yang berjalan pada ESP32. Pengguna dapat mengakses halaman web melalui browser untuk melihat informasi suhu, kelembapan, dan status kondisi lingkungan. Secara keseluruhan, prinsip kerja sistem dapat dijelaskan melalui tahapan berikut:

  1. Sensor DHT22 membaca suhu dan kelembapan.

  2. ESP32 menerima data dari sensor.

  3. ESP32 melakukan pemrosesan terhadap data sensor.

  4. Sistem menentukan status berdasarkan nilai suhu.

  5. ESP32 menjalankan web server.

  6. Browser mengirimkan permintaan kepada ESP32.

  7. ESP32 memberikan data monitoring kepada browser.

  8. Dashboard menampilkan kondisi suhu dan kelembapan kepada pengguna.

  9. Sistem memperbarui data secara berkala sehingga perubahan kondisi dapat dipantau.



BAB III
PEMBAHASAN


3.1 Perancangan Sistem

Sistem yang dirancang pada praktikum ini merupakan sistem monitoring suhu dan kelembapan berbasis Internet of Things menggunakan ESP32. Sistem memperoleh data lingkungan melalui sensor DHT22, kemudian mengolah data tersebut dan menampilkannya melalui dashboard berbasis web. Selain menampilkan data melalui web, sistem juga menggunakan LED dan buzzer sebagai indikator kondisi suhu. LED digunakan untuk memberikan indikasi visual, sedangkan buzzer digunakan sebagai alarm ketika suhu berada pada kondisi yang telah ditentukan sebagai kondisi bahaya. Secara umum, sistem terdiri dari empat bagian utama, yaitu :

  1. Input, berupa sensor DHT22 yang membaca suhu dan kelembapan.

  2. Processing, berupa ESP32 yang mengolah data sensor.

  3. Output, berupa LED dan buzzer sebagai indikator kondisi.

  4. Monitoring, berupa web dashboard yang menampilkan informasi hasil pembacaan sensor.


3.2 Alat dan Komponen

Komponen yang digunakan dalam simulasi sistem adalah sebagai berikut :


No

Komponen

Jumlah

Fungsi

1

ESP32 DevKit

1

Mikrokontroler utama

2

DHT22

1

Mengukur suhu dan kelembapan

3

LED Hijau

1

Indikator kondisi normal

4

LED Kuning

1

Indikator kondisi waspada

5

LED Merah

1

Indikator kondisi bahaya

6

Buzzer

1

Alarm kondisi bahaya

7

Resistor 220 Ω

1

Pembatas arus LED

8

Breadboard

1

Media perancangan rangkaian

9

Kabel jumper

Secukupnya

Penghubung antar-komponen

10

Komputer/Laptop

1

Menjalankan simulator Wokwi


Seluruh komponen tersebut dapat direpresentasikan secara virtual pada simulator Wokwi sehingga tidak memerlukan perangkat keras fisik pada tahap praktikum.


3.3 Fungsi Masing-Masing Komponen

3.3.1 ESP32

ESP32 berfungsi sebagai pusat pengendali sistem. Mikrokontroler menerima data dari sensor DHT22, menentukan status suhu, mengendalikan LED dan buzzer, serta menyediakan web server untuk menampilkan data kepada pengguna.

3.3.2 DHT22

DHT22 digunakan untuk memperoleh nilai suhu dan kelembapan. Sensor mengirimkan data secara digital kepada ESP32 melalui satu jalur data. Data yang digunakan sistem terdiri dari:

  • Suhu dalam satuan °C.

  • Kelembapan dalam satuan %.

3.3.3 LED

Tiga LED digunakan sebagai indikator kondisi suhu.

  • LED hijau → kondisi normal.

  • LED kuning → kondisi waspada.

  • LED merah → kondisi bahaya.

Penggunaan beberapa indikator memungkinkan pengguna mengetahui kondisi sistem tanpa harus melihat nilai suhu secara langsung.

3.3.4 Buzzer 

Buzzer berfungsi sebagai indikator suara. Buzzer akan diaktifkan ketika suhu berada pada kondisi bahaya.

3.3.5 Resistor

Resistor digunakan pada LED untuk membatasi arus listrik sehingga LED dapat beroperasi dengan aman.


3.4 Perancangan Rangkaian

Rangkaian sistem dibuat menggunakan ESP32 sebagai mikrokontroler utama. Sensor DHT22 dihubungkan ke salah satu pin GPIO ESP32, sedangkan LED dan buzzer dihubungkan ke GPIO lainnya. Konfigurasi pin yang digunakan adalah:

Komponen

Pin Komponen

Pin ESP32

DHT22

VCC

3.3V

DHT22

DATA

GPIO 15

DHT22

GND

GND

LED Hijau

Anoda

GPIO 25

LED Kuning

Anoda

GPIO 26

LED Merah

Anoda

GPIO 27

Buzzer

Positif

GPIO 14

Buzzer

Negatif

GND


Setiap LED dihubungkan melalui resistor 220 Ω sebelum menuju GPIO ESP32. Pada simulator Wokwi, rangkaian tersebut dapat dibuat dengan menghubungkan komponen secara langsung pada breadboard virtual.


3.5 Perancangan Logika Kondisi Suhu

Sistem menggunakan beberapa batas suhu untuk menentukan kondisi lingkungan. Parameter yang digunakan adalah:

Kondisi

Rentang Suhu

LED

Buzzer

Dingin/Normal

<= 30°C

Hijau

Mati

Waspada

>30°C dan <= 35°C

Kuning

Mati

Bahaya

>35°C

Merah

Menyala


Batas tersebut digunakan sebagai parameter simulasi dan bukan merupakan standar keselamatan universal. Nilai batas dapat diubah sesuai dengan kebutuhan penerapan sistem. Logika tersebut memungkinkan sistem memberikan respons otomatis terhadap perubahan suhu. Sebagai contoh, apabila sensor membaca suhu sebesar 28°C, sistem akan menganggap kondisi berada dalam keadaan normal sehingga LED hijau dinyalakan. Jika suhu meningkat menjadi 33°C, sistem akan mengubah kondisi menjadi waspada dan menyalakan LED kuning.

Apabila suhu mencapai 37°C, sistem akan masuk ke kondisi bahaya. LED merah akan dinyalakan dan buzzer akan diaktifkan sebagai alarm.


3.6 Implementasi Program

Program dibuat menggunakan bahasa pemrograman C++ dengan framework Arduino. Library DHT digunakan untuk membaca sensor DHT22, sedangkan library WiFi dan WebServer digunakan untuk menyediakan konektivitas dan layanan web pada ESP32.

Kode program yang digunakan adalah sebagai berikut:


#include <WiFi.h> 

#include <WebServer.h> 

#include "DHT.h" 


#define DHTPIN 15 

#define DHTTYPE DHT22 

#define LED_GREEN 25 

#define LED_YELLOW 26 

#define LED_RED 27 

#define BUZZER 14 


const char* ssid = "Wokwi-GUEST"; 

const char* password = ""; 

DHT dht(DHTPIN, DHTTYPE); 

WebServer server(80); 

float temperature = 0.0; 

float humidity = 0.0; 


String getStatus(float temp) {

 if (temp <= 30.0) { 

return "NORMAL"; 

} else if (temp <= 35.0) {

 return "WASPADA"; 

} else { 

return "BAHAYA"; } 


void updateIndicator(float temp) {

digitalWrite(LED_GREEN, LOW);

digitalWrite(LED_YELLOW, LOW);

digitalWrite(LED_RED, LOW); 

digitalWrite(BUZZER, LOW); 

if (temp <= 30.0) { 

digitalWrite(LED_GREEN, HIGH); 

} else if (temp <= 35.0) { 

digitalWrite(LED_YELLOW, HIGH); 

} else { 

digitalWrite(LED_RED, HIGH); 

digitalWrite(BUZZER, HIGH); } 



void handleRoot() { 

String status = getStatus(temperature); 

String html = R"rawliteral(

<!DOCTYPE html> 

<html> 

<head> 

<meta name="viewport" content="width=device-width, initial-scale=1"> 

<meta http-equiv="refresh" content="3"> 

<title>IoT Temperature Monitor</title> 

<style> 

body { 

font-family: Arial, sans-serif; 

background: #f2f2f2; 

text-align: center; 

margin: 0; padding: 30px; 


.container { 

max-width: 600px; 

margin: auto; } 


.card { 

background: white; 

padding: 25px; 

margin: 15px 0; 

border-radius: 15px; 

box-shadow: 0 4px 10px rgba(0,0,0,0.1); 


.value { 

font-size: 42px; 

font-weight: bold; 


.status { 

font-size: 28px; 

font-weight: bold; 

</style> 

</head> 

<body> 


<div class="container">


 <h1>IoT Temperature Monitor</h1> 

<div class="card"> 

<h2>Temperature</h2> 

<div class="value"> 

%TEMPERATURE% °C 

</div> 

</div> 


<div class="card"> 

<h2>Humidity</h2> 

<div class="value"> 

%HUMIDITY% % 

</div> 

</div>


 <div class="card"> 

<h2>Status</h2> 

<div class="status">

 %STATUS% 

</div> 

</div>


 <p>Data diperbarui secara otomatis.


</p> 

</div>

 </body>

 </html> 

)rawliteral"; 


html.replace("%TEMPERATURE%", String(temperature, 1));


html.replace("%HUMIDITY%", String(humidity, 1)); 


html.replace("%STATUS%", status); 

server.send(200, "text/html", html); } 

void setup() { Serial.begin(115200); 

pinMode(LED_GREEN, OUTPUT); 

pinMode(LED_YELLOW, OUTPUT); 

pinMode(LED_RED, OUTPUT); 

pinMode(BUZZER, OUTPUT); 

dht.begin(); 


Serial.println("Connecting to WiFi..."); 

WiFi.begin(ssid, password); 

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

delay(500); 

Serial.print("."); 


Serial.println(); 

Serial.println("WiFi connected"); 

Serial.print("IP Address: "); 

Serial.println(WiFi.localIP()); 

server.on("/", handleRoot); 

server.begin(); 

Serial.println("Web server started"); 

void loop() { 

server.handleClient(); 

float newTemperature = dht.readTemperature();

float newHumidity = dht.readHumidity(); 


if (!isnan(newTemperature) && !isnan(newHumidity)) { 

temperature = newTemperature; 

humidity = newHumidity; 

updateIndicator(temperature); 

Serial.print("Temperature: "); 

Serial.print(temperature); 

Serial.print(" °C | Humidity: "); 

Serial.print(humidity); 

Serial.print(" % | Status: "); 

Serial.println(getStatus(temperature)); } delay(2000); }


3.8 Penjelasan Program


Program diawali dengan pemanggilan library yang dibutuhkan, yaitu library WiFi, WebServer, dan DHT.


#include <WiFi.h>

#include <WebServer.h>

#include "DHT.h"


Library tersebut digunakan untuk menyediakan fungsi koneksi Wi-Fi, web server, serta pembacaan sensor DHT22.


Selanjutnya ditentukan pin yang digunakan:


#define DHTPIN 15

#define DHTTYPE DHT22


#define LED_GREEN 25

#define LED_YELLOW 26

#define LED_RED 27

#define BUZZER 14


Pin GPIO 15 digunakan untuk membaca data sensor DHT22. GPIO 25, 26, dan 27 digunakan untuk LED, sedangkan GPIO 14 digunakan untuk buzzer.


Koneksi Wi-Fi menggunakan jaringan simulasi Wokwi:


const char* ssid = "Wokwi-GUEST";

const char* password = "";


Setelah itu ESP32 mencoba terhubung ke jaringan melalui fungsi:


WiFi.begin(ssid, password);


Program akan menunggu hingga ESP32 berhasil terhubung.


3.8.1 Pembacaan Sensor

Data sensor diperoleh melalui:


float newTemperature = dht.readTemperature();

float newHumidity = dht.readHumidity();


Nilai tersebut kemudian disimpan ke variabel temperature dan humidity.

Program juga melakukan pengecekan terhadap data sensor menggunakan:


if (!isnan(newTemperature) && !isnan(newHumidity))


Pengecekan tersebut bertujuan memastikan data yang diperoleh valid sebelum digunakan oleh sistem.


3.8.2 Penentuan Status

Status suhu ditentukan menggunakan fungsi:


String getStatus(float temp)


Fungsi tersebut membagi suhu menjadi tiga kondisi, yaitu normal, waspada, dan bahaya.


3.8.3 Pengendalian Indikator

Fungsi:


updateIndicator(temperature);


digunakan untuk mengatur LED dan buzzer berdasarkan kondisi suhu. Ketika suhu berada pada kondisi normal, LED hijau menyala. Ketika kondisi waspada, LED kuning menyala. Ketika kondisi bahaya, LED merah dan buzzer menyala.


3.8.4 Web Server

Web server dibuat menggunakan:

WebServer server(80);

Port 80 merupakan port standar yang digunakan untuk HTTP.


Ketika pengguna mengakses halaman utama, fungsi berikut dijalankan:


server.on("/", handleRoot);


Fungsi handleRoot() kemudian menghasilkan halaman HTML yang berisi informasi suhu, kelembapan, dan status.


3.9 Perancangan Dashboard Web

Dashboard dirancang menggunakan HTML dan CSS sederhana yang disimpan langsung pada program ESP32.

Informasi utama yang ditampilkan terdiri dari:

  1. Temperature.

  2. Humidity.

  3. Status kondisi suhu.

Dashboard juga menggunakan mekanisme refresh otomatis:


<meta http-equiv="refresh" content="3">


Artinya halaman web akan melakukan pemuatan ulang setiap tiga detik sehingga nilai yang ditampilkan dapat mengikuti pembacaan sensor terbaru.


3.10 Pengujian Sistem

Pengujian dilakukan untuk mengetahui apakah sistem dapat merespons perubahan nilai suhu sesuai dengan logika yang telah dirancang. Pada simulator Wokwi, nilai sensor DHT22 dapat diubah untuk mensimulasikan perubahan kondisi lingkungan. Beberapa skenario pengujian yang digunakan adalah:


No

Suhu Input

Status yang Diharapkan

LED

Buzzer

1

20°C

Normal

Hijau

Mati

2

25°C

Normal

Hijau

Mati

3

30°C

Normal

Hijau

Mati

4

32°C

Waspada

Kuning

Mati

5

35°C

Waspada

Kuning

Mati

6

38°C

Bahaya

Merah

Menyala

7

40°C

Bahaya

Merah

Menyala





Hasil aktual dapat dicatat setelah simulasi dijalankan.

No

Suhu Input

Status yang Diharapkan

LED

Buzzer

Hasil

1

20°C

Normal

Hijau

Mati

Berhasil

2

25°C

Normal

Hijau

Mati

Berhasil

3

30°C

Normal

Hijau

Mati

Berhasil

4

32°C

Waspada

Kuning

Mati

Berhasil

5

35°C

Waspada

Kuning

Mati

Berhasil

6

38°C

Bahaya

Merah

Menyala

Berhasil

7

40°C

Bahaya

Merah

Menyala

Berhasil


3.11 Analisis Hasil Pengujian

Berdasarkan rancangan pengujian, sistem dapat membedakan kondisi suhu berdasarkan nilai yang diterima dari sensor DHT22. Ketika suhu berada pada atau di bawah 30°C, sistem memberikan status normal dan mengaktifkan LED hijau. Ketika suhu berada di atas 30°C hingga 35°C, sistem mengubah status menjadi waspada dan mengaktifkan LED kuning. Kondisi ini memberikan informasi bahwa suhu mulai mengalami peningkatan. Ketika suhu berada di atas 35°C, sistem memberikan status bahaya. Pada kondisi tersebut LED merah dan buzzer diaktifkan sehingga pengguna memperoleh indikator visual dan suara.


Selain indikator perangkat keras, perubahan kondisi juga dapat diketahui melalui dashboard web. Dengan demikian, sistem mampu menggabungkan monitoring melalui antarmuka web dengan indikator langsung pada perangkat. Berdasarkan hasil pengujian, logika sistem telah sesuai dengan parameter yang dirancang. Sistem mampu menerima data sensor, mengolah nilai suhu, menentukan status, mengaktifkan indikator, serta menampilkan data monitoring melalui web server.



BAB IV
PENUTUP


4.1 Kesimpulan

Berdasarkan perancangan sistem monitoring suhu dan kelembapan berbasis Internet of Things (IoT) yang telah dibahas, dapat disimpulkan bahwa sistem dapat dirancang menggunakan ESP32 sebagai mikrokontroler utama dan sensor DHT22 sebagai perangkat untuk memperoleh data suhu dan kelembapan. ESP32 berperan dalam menerima dan mengolah data dari sensor, sekaligus menyediakan konektivitas Wi-Fi dan web server. Data hasil pembacaan sensor kemudian dapat ditampilkan melalui dashboard berbasis web sehingga pengguna dapat melakukan monitoring kondisi suhu melalui browser.


Sistem juga dirancang dengan mekanisme klasifikasi kondisi suhu menjadi tiga kategori, yaitu normal, waspada, dan bahaya. Pada kondisi normal, LED hijau digunakan sebagai indikator. Ketika suhu memasuki kondisi waspada, LED kuning akan menyala. Sementara itu, ketika suhu berada pada kondisi bahaya, LED merah dan buzzer akan diaktifkan sebagai indikator peringatan. Berdasarkan skenario pengujian yang telah dirancang, sistem memiliki kemampuan untuk memberikan respons yang berbeda terhadap perubahan nilai suhu sesuai dengan batas yang telah ditentukan. Dengan demikian, rancangan tersebut telah mencakup konsep dasar sistem IoT, yaitu proses pengambilan data melalui sensor, pengolahan data oleh mikrokontroler, komunikasi melalui jaringan, serta penyajian informasi kepada pengguna melalui web.


Penggunaan Wokwi sebagai simulator juga memungkinkan keseluruhan rancangan sistem, mulai dari rangkaian elektronik hingga program ESP32, untuk diuji secara virtual tanpa memerlukan perangkat keras fisik. Hal ini dapat membantu proses pembelajaran mengenai implementasi IoT secara lebih mudah dan aman. Secara keseluruhan, rancangan sistem telah memenuhi tujuan praktikum untuk membuat simulasi monitoring suhu berbasis IoT menggunakan ESP32, sensor DHT22, konektivitas Wi-Fi, indikator LED dan buzzer, serta dashboard berbasis web.


4.2 Saran

Sistem yang telah dirancang masih memiliki beberapa keterbatasan sehingga dapat dikembangkan lebih lanjut. Beberapa pengembangan yang dapat dilakukan adalah sebagai berikut:

  1. Menggunakan perangkat keras secara langsung, sehingga sistem dapat diuji pada kondisi lingkungan sebenarnya dan dibandingkan dengan hasil simulasi.

  2. Menambahkan penyimpanan data, misalnya menggunakan database, sehingga data suhu dan kelembapan dapat disimpan dan digunakan untuk melihat histori monitoring.

  3. Menambahkan grafik secara real-time pada dashboard agar perubahan suhu dapat diamati secara visual berdasarkan waktu.

  4. Mengembangkan sistem notifikasi, misalnya dengan mengirimkan peringatan kepada pengguna ketika suhu mencapai kondisi bahaya.

  5. Menggunakan protokol komunikasi IoT seperti MQTT untuk meningkatkan fleksibilitas komunikasi antara perangkat IoT dan server.

  6. Mengembangkan sistem menjadi sistem kontrol otomatis dengan menambahkan aktuator seperti kipas. Dengan demikian, sistem tidak hanya memberikan peringatan ketika suhu tinggi, tetapi juga dapat melakukan tindakan untuk menurunkan suhu secara otomatis.

  7. Meningkatkan desain dashboard agar lebih informatif, responsif, dan mudah digunakan pada berbagai perangkat seperti komputer maupun smartphone.

Dengan pengembangan tersebut, sistem dapat ditingkatkan dari sekadar simulasi monitoring suhu menjadi sistem IoT yang mampu melakukan monitoring, pencatatan data, pemberian notifikasi, serta pengendalian kondisi lingkungan secara otomatis.




DAFTAR PUSTAKA


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

Adafruit. (n.d.). Adafruit SSD1306. GitHub. https://github.com/adafruit/Adafruit_SSD1306

Arduino. (2023). Wire library: Communication with I2C/TWI devices. Arduino Documentation.  https://docs.arduino.cc/language-reference/en/functions/communication/wire/ 

Espressif Systems. (n.d.). ESP32 series datasheet.  https://documentation.espressif.com/esp32_datasheet_en.pdf 

Espressif Systems. (n.d.). I2C. Arduino-ESP32 Documentation.  https://docs.espressif.com/projects/arduino-esp32/en/latest/api/i2c.html 

Hackster.io. (2017). ESP32 and OLED display: Internet clock - DHT22. https://www.hackster.io/mjrobot/esp32-and-oled-display-internet-clock-dht22-b142e4 

Monk, S. (2022). Programming Arduino: Getting started with sketches (3rd ed.). McGraw Hill. https://www.mheducation.com/highered/mhp/product/programming-arduino-getting-started-sketches-third-edition.html?viewOption=student 

Random Nerd Tutorials. (n.d.). ESP32 OLED display with Arduino IDE.  https://randomnerdtutorials.com/esp32-ssd1306-oled-display-arduino-ide/ 

Wokwi. (n.d.). Wokwi documentation.  https://docs.wokwi.com/ 

Wokwi. (n.d.). ESP32 simulation. Wokwi Documentation.  https://docs.wokwi.com/guides/esp32 


Tidak ada komentar:

Posting Komentar