Pemantauan Kondisi Ruang Server Berstandar ASHRAE
dengan Alarm Tiga Tingkat dan Notifikasi Email Berbasis ESP32 dan ThingsBoard
Cloud
Disusun Oleh:
Muhammad Adrian Vibrianto 24051204124
Mohammad Rizqi Nova Triatmaja 24051204131
Adhim Musafak 24051204191
M. Faisal Alfiansyah 24051204205
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi informasi
membuat hampir semua layanan digital bergantung pada ruang server. Ruang server
menampung perangkat penting seperti server, switch, dan penyimpanan data yang
harus menyala terus-menerus. Perangkat tersebut menghasilkan panas dan sensitif
terhadap kondisi lingkungan. Menurut ASHRAE (2021), suhu yang direkomendasikan
untuk ruang pengolahan data berada pada rentang 18-27 °C. Suhu yang terlalu
tinggi dapat menurunkan kinerja dan mempercepat kerusakan komponen. Kelembaban
yang terlalu tinggi berisiko menimbulkan kondensasi dan korosi, sedangkan
kelembaban yang terlalu rendah meningkatkan risiko muatan listrik statis.
Di banyak tempat, pemantauan ruang
server masih dilakukan secara manual, yaitu petugas mengecek ruangan atau
membaca termometer. Cara ini tidak berlangsung terus-menerus, sehingga kenaikan
suhu di luar jam pengecekan baru diketahui setelah kerusakan terjadi.
Diperlukan sistem yang memantau kondisi lingkungan secara otomatis dan real-time,
serta memberi peringatan dini kepada pengelola.
Internet of Things (IoT) menjawab kebutuhan ini. Dengan mikrokontroler
ESP32 yang terhubung dengan sensor DHT22, data suhu dan kelembaban dapat dibaca
secara berkala dan dikirim ke cloud melalui protokol MQTT. Protokol ini
ringan dan sesuai untuk perangkat dengan sumber daya terbatas. Pada sisi cloud,
platform ThingsBoard menyediakan fitur penerimaan data telemetri, visualisasi
melalui dashboard, serta rule chain yang dapat memproses data dan
membuat alarm secara otomatis. Alarm tersebut dapat diteruskan sebagai
notifikasi email kepada pengelola, sehingga tindakan dapat segera
diambil.
Sebagian besar platform IoT cloud
bersifat komersial dan membatasi fitur pada paket gratisnya. Karena itu
praktikum ini menggunakan Wokwi sebagai simulator, sehingga rangkaian ESP32 dan
DHT22 dapat diuji tanpa perangkat fisik, dan ThingsBoard Cloud sebagai platform
IoT yang dapat dicoba tanpa biaya perangkat keras tambahan.
Berdasarkan uraian tersebut,
laporan ini membahas perancangan dan simulasi sistem pemantauan kondisi ruang
server berstandar ASHRAE, yaitu sistem pemantauan suhu dan kelembaban ruang
server berbasis ESP32, DHT22, MQTT, dan ThingsBoard Cloud, lengkap dengan dashboard,
alarm bertingkat, dan notifikasi email.
1.2 Rumusan Masalah
1. Bagaimana merancang simulasi ESP32 dan sensor DHT22
pada Wokwi yang mengirimkan data suhu dan kelembaban ruang server ke
ThingsBoard Cloud menggunakan protokol MQTT?
2. Bagaimana menampilkan data hasil pemantauan pada dashboard
ThingsBoard secara real-time?
3. Bagaimana membuat rule chain yang menghasilkan alarm bertingkat dan mengirimkan notifikasi email ketika suhu atau kelembaban melewati ambang batas?
1.3 Tujuan Laporan
1. Merancang simulasi ESP32 dan sensor DHT22 pada Wokwi
yang mengirimkan data suhu dan kelembaban ke ThingsBoard Cloud menggunakan
protokol MQTT.
2. Membuat dashboard ThingsBoard yang menampilkan
data suhu dan kelembaban secara real-time.
3. Membangun rule chain yang menghasilkan alarm
bertingkat (minor, major, critical) dan notifikasi email
saat kondisi melewati ambang batas.
1.4 Manfaat Penulisan
1.
Bagi penulis, menambah pemahaman
tentang alur kerja sistem IoT secara menyeluruh, mulai dari pembacaan sensor,
pengiriman data dengan MQTT, visualisasi, hingga alarm dan notifikasi.
2.
Bagi pembaca dan mahasiswa lain,
menjadi panduan langkah demi langkah untuk membangun sistem pemantauan
lingkungan sederhana dengan Wokwi dan ThingsBoard Cloud.
3.
Bagi pengelola ruang server,
memberi gambaran sistem peringatan dini berbiaya rendah yang dapat dikembangkan
dengan perangkat fisik.
BAB II
TINJAUAN PUSTAKA
2.1 Standar Lingkungan Ruang Server
Ruang server atau data center
memerlukan pengondisian lingkungan yang ketat untuk menjaga keandalan perangkat
keras. Perangkat jaringan dan server bekerja secara kontinu, sehingga
menghasilkan panas yang signifikan. Menurut American Society of Heating, Refrigerating
and Air-Conditioning Engineers (ASHRAE, 2021), standar dan rekomendasi
parameter lingkungan untuk ruang pengolahan data meliputi:
1. Suhu Operasional (Temperature): Suhu yang direkomendasikan berada pada rentang 18 °C
hingga 27 °C. Suhu melebihi 27 °C berpotensi menimbulkan overheating,
menurunkan efisiensi kerja komponen semikonduktor, serta memicu fitur
keselamatan thermal shutdown pada server.
2. Kelembaban Relatif (Relative Humidity): Kelembaban relatif yang direkomendasikan adalah 40%
hingga 60% RH (dengan batas toleransi hingga 70% RH). Kelembaban di atas batas
aman meningkatkan risiko kondensasi molekul air pada sirkuit elektronik yang
memicu korosi dan korsleting. Sebaliknya, kelembaban di bawah 30% RH
meningkatkan potensi pelepasan listrik statis (electrostatic discharge / ESD)
yang dapat merusak komponen sensitif.
2.2 Internet of Things (IoT)
Internet of Things (IoT) adalah
arsitektur teknologi yang menghubungkan objek fisik (perangkat keras) ke
jaringan internet, sehingga perangkat tersebut dapat mengumpulkan, mengolah,
dan membagikan data secara otomatis tanpa interaksi langsung manusia. Menurut
standar umum IoT, arsitektur pemantauan terdiri dari tiga lapisan utama:
1. Lapisan Persepsi (Perception Layer): Merupakan lapisan fisik yang terdiri dari sensor dan
aktuator. Pada sistem ini, sensor DHT22 bertindak sebagai pengumpul data fisik
lingkungan (suhu dan kelembaban).
2. Lapisan Jaringan (Network Layer): Bertanggung jawab untuk menyalurkan data dari
perangkat fisik ke server cloud. Lapisan ini menggunakan konektivitas Wi-Fi
(ESP32) dan protokol komunikasi tingkat aplikasi MQTT.
3. Lapisan Aplikasi (Application Layer): Lapisan antarmuka pengguna dan pemrosesan data
tingkat tinggi. Platform ThingsBoard Cloud berada pada lapisan ini untuk
memvisualisasikan data telemetri pada dashboard dan mengevaluasi logika
alarm.
2.3 Perangkat Keras (Hardware)
2.3.1 Mikrokontroler ESP32
ESP32 adalah sistem dalam chip
(System on a Chip / SoC) berbiaya rendah dan berdaya rendah yang dikembangkan
oleh Espressif Systems. ESP32 ditenagai oleh prosesor dual-core Tensilica
Xtensa 32-bit LX6 dengan frekuensi kerja hingga 240 MHz. Mikrokontroler ini
memiliki modul Wi-Fi terintegrasi (802.11 b/g/n) dan Bluetooth v4.2 BR/EDR
serta BLE. Dalam sistem ini, ESP32 berfungsi sebagai unit pemroses utama yang
membaca sinyal digital dari sensor DHT22, mengeksekusi logika indikator lokal
(LED dan buzzer), serta mengirimkan data ke ThingsBoard Cloud.
2.3.2 Sensor Suhu dan Kelembaban DHT22
DHT22 (juga dikenal sebagai AM2302)
adalah sensor digital yang digunakan untuk mengukur suhu dan kelembaban udara
sekitar dengan tingkat akurasi yang lebih tinggi dibandingkan sensor DHT11.
DHT22 memanfaatkan elemen pengukuran kelembaban tipe kapasitif dan sensor suhu
NTC thermistor.
1. Spesifikasi Suhu:
Jangkauan pengukuran suhu dari -40 °C hingga 80 °C dengan tingkat akurasi ±0,5
°C.
2. Spesifikasi Kelembaban: Jangkauan pengukuran kelembaban dari 0% hingga 100%
RH dengan akurasi ±2-5% RH.
3. Koneksi Data:
Menggunakan sinyal digital melalui komunikasi satu kabel (single-bus) yang
dihubungkan ke pin GPIO 15 pada ESP32.
2.3.3 Komponen Indikator dan Aktuator Lokal
Untuk memberikan tanggapan fisik
secara langsung di lokasi ruang server tanpa bergantung penuh pada jaringan
internet, digunakan beberapa komponen pendukung:
1. LED (Light Emitting Diode): Diode pemancar cahaya yang dipasang sebagai indikator
visual status ruangan. LED Hijau (dihubungkan ke pin GPIO 14) menandakan
kondisi lingkungan aman (suhu <= 38 °C dan kelembaban <= 75%), sedangkan
LED Merah (dihubungkan ke pin GPIO 13) menyala saat kondisi melebihi batas
aman.
2. Resistor 220 Ω:
Ditempatkan secara seri pada jalur anoda/katoda LED menuju GND untuk membatasi
arus listrik yang mengalir, sehingga melindungi LED dan pin GPIO ESP32 dari
kerusakan akibat arus berlebih.
3. Buzzer Piezoelektrik: Transduser audio piezoelektrik yang dihubungkan ke
pin GPIO 12. Buzzer memancarkan sinyal nada peringatan (tone 1000 Hz) saat suhu
atau kelembaban berada pada kondisi bahaya.
2.4 Perangkat Lunak dan Protokol Komunikasi
2.4.1 Simulator Wokwi
Wokwi adalah platform simulasi
sirkuit elektronik dan mikrokontroler berbasis web. Wokwi memungkinkan
pengembang untuk merancang rangkaian, menulis kode program C/C++ (Arduino
framework), serta menjalankan simulasi secara real-time. Wokwi mendukung integrasi
jaringan internet virtual melalui titik akses Wokwi-GUEST, sehingga
mikrokontroler simulasi ESP32 dapat berkomunikasi langsung dengan server broker
MQTT eksternal di internet nyata.
2.4.2 Protokol MQTT (Message Queuing Telemetry
Transport)
MQTT adalah protokol komunikasi
jaringan ringan (lightweight) berkonsep Publish/Subscribe yang berjalan di atas
protokol TCP/IP. MQTT dirancang khusus untuk perangkat dengan keterbatasan
sumber daya dan jaringan dengan bandwidth terbatas. Elemen utama MQTT pada
sistem ini meliputi:
1. Broker MQTT:
Server pusat yang bertindak sebagai penyalur pesan MQTT. Dalam sistem ini,
broker yang digunakan adalah mqtt.thingsboard.cloud pada port standard
1883.
2. Publisher:
Perangkat penerbit data. ESP32 bertindak sebagai publisher yang mengirimkan
data hasil pembacaan sensor.
3. Topik (Topic):
Kanal logis tempat data dipublikasikan. ThingsBoard menentukan topik telemetri
standar, yaitu v1/devices/me/telemetry.
4. Otentikasi & Access Token: Otentikasi perangkat ke ThingsBoard dilakukan dengan
memasukkan Access Token perangkat pada parameter username saat inisialisasi
koneksi MQTT.
2.4.3 Format Data JSON (JavaScript Object
Notation)
JSON adalah format pertukaran data
berbasis teks yang bersifat ringan dan mudah dibaca oleh manusia maupun mesin.
Data telemetri dikirim oleh ESP32 ke ThingsBoard dalam bentuk payload struktur
pasangan kunci dan nilai (key-value pair):
{
"suhu":
28.50,
"kelembaban":
60.00
}
2.4.4 Pustaka (Library) Arduino
Pengembangan program pada ESP32 memanfaatkan beberapa
pustaka utama:
1. WiFi.h:
Pustaka bawaan core ESP32 untuk mengatur koneksi Wi-Fi dalam mode Station (STA)
dan menghubungkan mikrokontroler ke titik akses Wokwi-GUEST.
2. PubSubClient.h:
Pustaka klien MQTT untuk mengelola koneksi TCP, melakukan koneksi ulang
otomatis (reconnect), serta mempublikasikan payload JSON ke topik
ThingsBoard
3. DHT.h:
Pustaka driver untuk mengomunikasikan mikrokontroler dengan sensor DHT22
melalui protokol single-bus.
2.5 Platform IoT ThingsBoard Cloud
ThingsBoard adalah platform IoT
sumber terbuka (open-source) yang digunakan untuk pengumpulan data, pemrosesan,
visualisasi, dan manajemen perangkat. Komponen ThingsBoard yang dimanfaatkan
meliputi:
1. Telemetry Data:
Layanan penyimpanan dan pengolahan data berurutan waktu (time-series data) yang
diterima dari perangkat IoT.
2. Dashboard Engine:
Antarmuka visual kustom berbasis web untuk menampilkan parameter suhu dan
kelembaban dalam bentuk widget grafik garis (timeseries chart), gauge, dan
indikator digital secara real-time.
3. Rule Chain:
Fitur pemrosesan logika visual di sisi cloud. Rule Chain mengevaluasi data
telemetri yang masuk terhadap batas ambang (threshold), kemudian secara
otomatis memicu pembentukan status alarm (Minor, Major, atau Critical).
4. Notification & Email Plugin: Modul pemicu pesan yang mengirimkan pemberitahuan
email secara otomatis kepada teknisi atau pengelola ruang server saat alarm
kategori Critical aktif.
BAB III
PEMBAHASAN
Bab ini menjelaskan langkah demi
langkah pembuatan sistem pemantauan kondisi ruang server, mulai dari penyiapan
komponen dan rangkaian pada Wokwi, penulisan program ESP32, pembuatan perangkat
pada ThingsBoard Cloud, hingga pembuatan dashboard pemantauan. Setiap langkah
disertai gambar dan keterangan agar dapat diikuti ulang.
3.1 Alat dan Bahan
Praktikum ini dilakukan sepenuhnya
secara virtual sehingga tidak memerlukan perangkat fisik. Komponen dan layanan
yang digunakan ditunjukkan pada Tabel 3.1.
Tabel 3.1 Alat dan bahan
|
No |
Nama |
Keterangan |
|
1 |
ESP32 DevKit (Wokwi) |
Mikrokontroler utama dengan Wi-Fi terintegrasi |
|
2 |
Sensor DHT22 |
Membaca suhu dan kelembaban, data pada GPIO 15 |
|
3 |
LED merah dan LED hijau |
Indikator lokal kondisi bahaya (GPIO 13) dan aman
(GPIO 14) |
|
4 |
Resistor 220 Ω (2 buah) |
Pembatas arus untuk masing-masing LED |
|
5 |
Buzzer piezoelektrik |
Alarm suara lokal, terhubung ke GPIO 12 |
|
6 |
Wokwi (wokwi.com) |
Simulator rangkaian dan program ESP32 berbasis web |
|
7 |
ThingsBoard Cloud (EU) |
Platform IoT untuk telemetri, dashboard, alarm, dan
notifikasi |
|
8 |
Library Arduino |
WiFi.h, PubSubClient.h, dan DHT.h |
|
9 |
Peramban web dan koneksi internet |
Untuk mengakses Wokwi dan ThingsBoard Cloud |
3.2 Perancangan Rangkaian pada
Wokwi
Rangkaian dibuat pada Wokwi
sehingga seluruh komponen dapat dirangkai dan diuji tanpa perangkat fisik.
Langkah-langkahnya sebagai berikut.
- Buka situs wokwi.com, lalu buat proyek baru dengan memilih papan ESP32.
Wokwi otomatis membuat tiga berkas proyek, yaitu sketch.ino (program),
diagram.json (rangkaian), dan libraries.txt (daftar pustaka).
- Pada panel Simulation, klik tombol tambah (+) lalu tambahkan komponen
satu per satu: DHT22, LED sebanyak dua buah, Resistor
sebanyak dua buah, dan Buzzer. ESP32 sudah tersedia secara bawaan
pada proyek. Hasilnya ditunjukkan pada Gambar 3.1.

Gambar 3.1 Komponen yang ditambahkan pada simulasi
Wokwi
3.
Klik masing-masing LED untuk
mengatur warnanya, satu menjadi merah dan satu menjadi hijau.
Klik masing-masing resistor lalu isi nilai hambatan 220 Ω.
4.
Hubungkan komponen dengan kabel:
klik kaki komponen sebagai titik awal, lalu klik pin tujuan pada ESP32.
Pemetaan sambungan mengikuti Tabel 3.2.
Tabel 3.2 Pemetaan sambungan pin
|
Komponen |
Pin komponen |
Dihubungkan ke |
|
DHT22 |
VCC |
3V3 (catu daya) |
|
DHT22 |
SDA (data) |
GPIO 15 |
|
DHT22 |
GND |
GND |
|
LED merah |
Anoda (A) |
GPIO 13, melalui resistor 220 Ω |
|
LED merah |
Katoda (C) |
GND |
|
LED hijau |
Anoda (A) |
GPIO 14, melalui resistor 220 Ω |
|
LED hijau |
Katoda (C) |
GND |
|
Buzzer |
Pin positif (1) |
GPIO 12 |
|
Buzzer |
Pin negatif (2) |
GND |
5.
Periksa kembali seluruh kabel.
Resistor 220 Ω wajib dipasang seri dengan LED agar arus pada pin GPIO dan LED
tetap aman. Rangkaian yang telah selesai dihubungkan ditunjukkan pada Gambar
3.2.

Gambar 3.2 Rangkaian ESP32, DHT22, LED, resistor, dan
buzzer yang telah terhubung
3.3 Pemrograman ESP32
Program ditulis pada berkas
sketch.ino dengan bahasa C/C++ (framework Arduino). Penjelasan dibagi menjadi
beberapa bagian agar alur program mudah dipahami.
Sebelum menulis kode, alur kerja
program dirancang terlebih dahulu dalam bentuk flowchart seperti pada Gambar
3.3. Setelah data terkirim, alur kembali ke pengecekan waktu 2 detik berikutnya
sehingga proses berulang selama perangkat menyala.

Gambar 3.3 Flowchart alur kerja program ESP32
- Menambahkan pustaka. Buka tab
Library Manager pada Wokwi, lalu tambahkan pustaka DHT sensor library
dan PubSubClient. Pustaka WiFi.h sudah tersedia pada core ESP32
sehingga tidak perlu ditambahkan. Nama pustaka akan tercatat pada berkas
libraries.txt.
- Mendefinisikan pustaka dan pin. Bagian
awal program memanggil tiga pustaka lalu menetapkan nomor pin dan jenis
sensor sesuai rangkaian pada Tabel 3.2.
#include
<WiFi.h>
#include
<PubSubClient.h>
#include
"DHT.h"
#define
DHTPIN 15
#define
DHTTYPE DHT22
#define
BUZZER_PIN 12
#define
LED_RED 13
#define
LED_GREEN 14
3.
Mengatur
koneksi Wi-Fi dan MQTT. Wokwi
menyediakan jaringan virtual bernama Wokwi-GUEST tanpa kata sandi. Broker MQTT
diarahkan ke ThingsBoard Cloud, sedangkan Client ID, username, dan password
diisi sesuai kredensial perangkat yang dibuat pada subbab 3.4. Gambar 3.4
menunjukkan bagian konfigurasi ini pada editor Wokwi.
const
char* ssid = "Wokwi-GUEST";
const
char* password = "";
const
char* mqtt_server = "mqtt.thingsboard.cloud";
const
char* mqtt_clid = "<Client ID>";
const
char* mqtt_user = "<Username>";
const
char* mqtt_pass = "<Password>";
const
char* mqtt_topic = "v1/devices/me/telemetry";
DHT
dht(DHTPIN, DHTTYPE);
WiFiClient
espClient;
PubSubClient
client(espClient);
unsigned
long lastMsg = 0;

Gambar 3.4 Konfigurasi pin, Wi-Fi, dan MQTT pada
sketch.ino
Parameter koneksi yang digunakan
dirangkum pada Tabel 3.3.
Tabel 3.3 Parameter koneksi MQTT
|
Parameter |
Nilai |
|
Broker MQTT |
mqtt.thingsboard.cloud |
|
Port |
1883 |
|
Topik telemetri |
v1/devices/me/telemetry |
|
Jenis kredensial |
MQTT Basic (Client ID, username, password) |
|
Format data |
JSON, kunci "suhu" dan
"kelembaban" |
|
Interval pengiriman |
2 detik |
4.
Membuat fungsi
koneksi Wi-Fi. Fungsi setup_wifi() mengatur ESP32
pada mode Station, menyambung ke Wokwi-GUEST, lalu menunggu sampai status
terhubung sambil mencetak titik pada Serial Monitor.
void
setup_wifi() {
delay(10);
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("\nWiFi
connected");
}
5.
Membuat fungsi
koneksi MQTT. Fungsi reconnect() mencoba
terhubung ke ThingsBoard menggunakan Client ID, username, dan password. Jika
gagal, kode kegagalan dicetak dan percobaan diulang setiap 5 detik.
void
reconnect() {
while
(!client.connected()) {
Serial.print("Attempting
MQTT connection...");
if
(client.connect(mqtt_clid, mqtt_user, mqtt_pass)) {
Serial.println("Connected
to ThingsBoard!");
}
else {
Serial.print("Failed,
rc=");
Serial.print(client.state());
Serial.println("
Try again in 5 seconds");
delay(5000);
}
}
}
6.
Menyusun
fungsi setup(). Fungsi ini dijalankan sekali saat
ESP32 menyala: membuka Serial Monitor pada 115200 baud, mengatur pin buzzer dan
LED sebagai output, memulai sensor DHT22, menyambung ke Wi-Fi, lalu menetapkan
alamat broker MQTT.
void
setup() {
Serial.begin(115200);
pinMode(BUZZER_PIN,
OUTPUT);
pinMode(LED_RED,
OUTPUT);
pinMode(LED_GREEN,
OUTPUT);
dht.begin();
setup_wifi();
client.setServer(mqtt_server,
1883);
}
7.
Menyusun
fungsi loop(). Program memastikan koneksi MQTT
aktif, lalu setiap 2 detik membaca suhu dan kelembaban dari DHT22. Jika
pembacaan gagal (nilai NaN), data tidak dikirim. Selanjutnya indikator lokal
diatur sesuai ambang batas pada Tabel 3.4, dan data dikirim ke ThingsBoard
dalam format JSON.
void
loop() {
if
(!client.connected()) {
reconnect();
}
client.loop();
unsigned
long now = millis();
if
(now - lastMsg > 2000) {
lastMsg
= now;
float
humidity = dht.readHumidity();
float
temperature = dht.readTemperature();
if
(isnan(humidity) || isnan(temperature)) {
Serial.println("Gagal
membaca sensor DHT!");
return;
}
if
(temperature > 38.0 || humidity > 75.0) {
digitalWrite(LED_RED,
HIGH);
digitalWrite(LED_GREEN,
LOW);
tone(BUZZER_PIN,
1000);
}
else {
digitalWrite(LED_RED,
LOW);
digitalWrite(LED_GREEN,
HIGH);
noTone(BUZZER_PIN);
}
String
payload = "{\"suhu\":" + String(temperature) +
",\"kelembaban\":"
+ String(humidity) + "}";
Serial.print("Publish
payload: ");
Serial.println(payload);
client.publish(mqtt_topic,
payload.c_str());
}
}
Tabel 3.4 Logika indikator lokal
|
Kondisi |
LED hijau |
LED merah |
Buzzer |
|
Aman (suhu ≤ 38 °C dan kelembaban ≤ 75%) |
Menyala |
Mati |
Mati |
|
Bahaya (suhu > 38 °C atau kelembaban > 75%) |
Mati |
Menyala |
Berbunyi 1000 Hz |
8.
Menjalankan
simulasi. Klik tombol hijau (Start the
simulation) pada panel Simulation. Serial Monitor di bagian bawah akan
menampilkan proses koneksi dan payload JSON yang dikirim tiap 2 detik, seperti
pada Gambar 3.5. Jika kredensial belum sesuai, Serial Monitor menampilkan pesan
Failed disertai kode rc.

Gambar 3.5 Payload JSON suhu dan kelembaban pada
Serial Monitor
3.4 Pembuatan Perangkat pada
ThingsBoard Cloud
Agar data dari ESP32 dapat
diterima, perangkat harus didaftarkan terlebih dahulu pada ThingsBoard Cloud.
Langkah-langkahnya sebagai berikut.
- Buka ThingsBoard Cloud, lalu daftar atau login. Pendaftaran dapat
dilakukan menggunakan akun Google. Setelah berhasil masuk sebagai Tenant
administrator, halaman Home menampilkan ringkasan perangkat, alarm, dan
dashboard (Gambar 3.6).
Gambar 3.6 Halaman Home ThingsBoard Cloud
2.
Pada menu di sebelah kiri, buka Entities
> Devices. Daftar perangkat masih kosong karena belum ada perangkat yang
dibuat (Gambar 3.7).

Gambar 3.7 Halaman daftar perangkat (Entities >
Devices)
3.
Klik tombol Add device di
kanan atas (Gambar 3.8).
Gambar 3.8 Tombol Add device
4.
Pada jendela Add new device, isi
kolom Name dengan nama perangkat, yaitu ServerRoom_Monitor. Kolom Label
dan Description boleh dikosongkan, Device profile dibiarkan pada nilai default,
dan opsi Is gateway tidak diaktifkan. Klik Next: Credentials (Gambar
3.9).

Gambar 3.9 Formulir Add new device
5.
Pada langkah Credentials, ubah
Credentials type menjadi MQTT Basic, lalu isi Client ID, User
Name, dan Password. Isian dapat diketik sendiri atau dibuat otomatis
dengan ikon panah melingkar di sebelah kolom. Client ID atau User Name wajib
diisi, jika kosong ThingsBoard menampilkan pesan peringatan berwarna merah
(Gambar 3.10). Klik Add untuk menyimpan.

Gambar 3.10 Pengaturan kredensial perangkat (MQTT
Basic)
6.
Salin ketiga nilai tersebut ke
konstanta mqtt_clid, mqtt_user, dan mqtt_pass pada sketch.ino di Wokwi.
Nilainya harus sama persis, termasuk huruf besar dan kecil.
7.
Jalankan kembali simulasi Wokwi.
Setelah Serial Monitor menampilkan pesan Connected to ThingsBoard!, klik
perangkat ServerRoom_Monitor pada daftar Devices, lalu buka tab Latest
telemetry. Kunci kelembaban dan suhu muncul beserta nilai terbarunya, yang
menandakan data dari ESP32 berhasil diterima (Gambar 3.11).

Gambar 3.11 Data telemetri suhu dan kelembaban pada
perangkat ServerRoom_Monitor
3.5 Pembuatan Dashboard
Dashboard dibuat untuk menampilkan
data telemetri secara real-time sehingga kondisi ruang server dapat dipantau
dari satu halaman. Langkah-langkahnya sebagai berikut.
- Buka menu Dashboards, klik tombol tambah, lalu pilih Create
new dashboard. Beri judul dashboard, misalnya Dashboard Server Room.
Dashboard otomatis masuk ke mode edit, dan toolbar di bagian atas
menyediakan tombol Add widget, pengaturan rentang waktu, pengaturan
dashboard, serta tombol Save (Gambar 3.12).
![]()
Gambar 3.12 Toolbar mode edit dashboard dengan tombol
Add widget
2.
Klik Add widget, lalu pilih
bundle widget yang sesuai. ThingsBoard menyediakan berbagai bundle seperti
Charts, Cards, Alarm widgets, Analogue gauges, dan Status indicators (Gambar
3.13). Pilih widget yang diinginkan dari bundle tersebut.

Gambar 3.13 Daftar bundle widget ThingsBoard
3.
Pada pengaturan data widget
(Datasource), pilih perangkat ServerRoom_Monitor sebagai entitas,
kemudian pilih kunci data (key) yang ditampilkan. Kunci data yang tersedia
adalah suhu dan kelembaban sesuai payload dari ESP32.
4.
Ulangi langkah 2 dan 3 untuk setiap
widget pada Tabel 3.5, lalu klik Add untuk menempatkannya pada
dashboard.
Tabel 3.5 Widget pada dashboard
|
Widget |
Data |
Fungsi |
|
Status |
Atribut perangkat |
Menampilkan status perangkat (Active atau Inactive) |
|
Last Activity |
Atribut perangkat |
Waktu aktivitas data terakhir |
|
Last Connect |
Atribut perangkat |
Waktu perangkat terakhir terhubung |
|
Temperature (gauge) |
suhu |
Nilai suhu terbaru dalam °C |
|
Humidity (gauge) |
kelembaban |
Nilai kelembaban terbaru dalam % |
|
Temperature Threshold Zones |
suhu |
Grafik suhu dengan zona warna sesuai rentang suhu |
|
Humidity Trend |
kelembaban |
Grafik tren kelembaban terhadap waktu |
|
Temperature & Humidity History |
suhu, kelembaban |
Riwayat suhu dan kelembaban dalam satu grafik dua
sumbu |
|
Alarms |
Alarm perangkat |
Tabel daftar alarm yang pernah terjadi |
5.
Atur ukuran dan posisi tiap widget
dengan menyeret dan mengubah ukuran kotaknya. Gunakan ikon jam pada toolbar
untuk mengatur rentang waktu data real-time yang ditampilkan.
6.
Klik Save di kanan atas
untuk menyimpan dashboard, lalu pastikan simulasi Wokwi tetap berjalan agar
data terus diperbarui.
Hasil dashboard saat simulasi
berjalan ditunjukkan pada Gambar 3.14. Kartu Status menunjukkan perangkat
Active, sedangkan gauge menampilkan suhu 36,3 °C dan kelembaban 71,5%. Grafik
Temperature Threshold Zones menampilkan garis batas pada nilai 0, 18, 27, 35,
dan 60 °C, dengan latar warna yang berbeda untuk tiap rentang. Grafik riwayat
memperlihatkan perubahan nilai sejak simulasi dimulai, dan tabel Alarms masih
kosong karena alarm belum dikonfigurasi.

Gambar 3.14 Tampilan dashboard pemantauan ruang server
BAB IV
PENUTUP
4.1 Kesimpulan
Berdasarkan hasil perancangan,
simulasi, dan pengujian sistem pemantauan kondisi ruang server yang telah
dilakukan, dapat ditarik beberapa kesimpulan sebagai berikut:
1. Perancangan dan Simulasi IoT:Simulasi perangkat keras
berbasis ESP32 dan sensor DHT22 pada platform Wokwi berhasil dirancang dan
dihubungkan ke ThingsBoard Cloud. Pengiriman data telemetri suhu dan kelembaban
berjalan secara kontinu dan stabil menggunakan protokol MQTT format JSON setiap
2 detik.
2. Visualisasi Real-Time:Dashboard ThingsBoard Cloud
berhasil menampilkan data pemantauan lingkungan ruang server secara real-time
melalui widget gauge dan grafik timeseries chart dengan latensi yang sangat
rendah.
3. Sistem Alarm dan Notifikasi Email:Mekanisme peringatan
dini berupa indikator lokal (LED dan Buzzer) serta sistem alarm bertingkat
(Minor, Major, Critical) pada Rule Chain ThingsBoard bekerja dengan akurat.
Pengiriman notifikasi email peringatan otomatis berhasil dipicu saat kondisi
lingkungan berada pada tingkat kritis (suhu > 38.0 °C atau kelembaban
>
75.0 %).
4.2 Saran
Untuk pengembangan dan
penyempurnaan sistem pemantauan ruang server ini di masa mendatang, beberapa
saran yang dapat diterapkan adalah:
1. Implementasi Perangkat Fisik:Implementasi sistem
menggunakan komponen perangkat keras fisik secara nyata dengan penambahan
pelindung fisik (enclosure) tahan debu serta sistem daya cadangan (UPS) untuk
memastikan kontinuitas operasional.
2. Integrasi Kontrol Otomatis:Penambahan modul aktuator
otomatis berbasis relay untuk mengendalikan sistem pendingin udara (AC cadangan
atau exhaust fan) secara otomatis ketika alarm Minor atau Major aktif, sehingga
tindakan pencegahan dapat dilakukan sebelum kondisi mencapai tingkat
kritis.
3. Diversifikasi Saluran Notifikasi:Pengembangan saluran
notifikasi tambahan yang memiliki tingkat respon lebih cepat dibandingkan
email, seperti integrasi bot aplikasi pesan instan Telegram atau WhatsApp API
melalui webhook.
DAFTAR PUSTAKA
ASHRAE.
(2021). Thermal guidelines for data processing environments (5th ed.).
ASHRAE Technical Committee 9.9. https://www.ashrae.org/file%20library/technical%20resources/bookstore/supplemental%20fil
es/therm-gdlns-5th-r-e-refcard.pdf
Al-Fuqaha,
A., Guizani, M., Mohammadi, M., Aledhari, M., & Ayyash, M. (2015). Internet
of Things: A survey on enabling technologies, protocols, and applications. IEEE
Communications Surveys & Tutorials, 17(4), 2347-2376.
Aosong
Electronics. (2015). Digital-Output Relative Humidity & Temperature
Sensor/Module DHT22 (AM2302) Specification. Guangzhou Aosong Electronics
Co., Ltd.
ASHRAE.
(2021). Thermal Guidelines for Data Processing Environments (5th ed.).
American Society of Heating, Refrigerating and Air-Conditioning
Engineers.
Espressif
Systems. (2022). ESP32 Series Datasheet v4.1. Espressif Systems.
OASIS.
(2019). MQTT Version 5.0. OASIS Standard.
https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html
ThingsBoard,
Inc. (2023). ThingsBoard IoT Platform Documentation. ThingsBoard
Community
Edition. https://thingsboard.io/docs/
Wokwi.
(2023). Wokwi - Online ESP32, STM32, Arduino Simulator Documentation.
Wokwi
Inc.
https://docs.wokwi.com/
Tidak ada komentar:
Posting Komentar