Dengan kemajuan teknologi Internet of Things (IoT), kita kini dapat membaca berbagai data sensor secara real-time melalui internet, salah satunya adalah suhu dan kelembapan. Dalam artikel ini, kita akan membahas cara membaca nilai suhu dengan IoT MQTT Panel menggunakan sensor DHT22. Dengan panduan ini, Anda bisa membuat sistem yang menampilkan nilai suhu dan kelembapan dari sensor secara langsung di smartphone atau perangkat lainnya.
Apa Itu MQTT?
MQTT (Message Queuing Telemetry Transport) adalah protokol komunikasi berbasis publish/subscribe yang sering digunakan dalam aplikasi IoT. Terdapat tiga komponen utama dalam sistem ini:
- Broker MQTT – Server yang mengelola komunikasi antara publisher dan subscriber.
- Publisher – Perangkat yang mengirimkan data ke broker.
- Subscriber – Perangkat yang menerima data dari broker.
MQTT cocok untuk proyek-proyek IoT karena efisien dalam penggunaan bandwidth dan rendah daya, sehingga ideal untuk perangkat dengan sumber daya terbatas.
Komponen yang Dibutuhkan
Untuk membuat sistem membaca nilai suhu dan kelembapan melalui MQTT, Anda memerlukan komponen berikut:
- ESP32 atau ESP8266 – Mikrokontroler dengan konektivitas Wi-Fi untuk menghubungkan perangkat ke internet.
- Sensor DHT22 – Sensor untuk membaca suhu dan kelembapan.
- Broker MQTT – Server untuk mengelola komunikasi.
- Platform untuk Panel Kontrol (IoT MQTT Panel) – Untuk menampilkan data suhu dan kelembapan di panel kontrol.
- Arduino IDE atau Platform Pengembangan Lain – Untuk menulis dan mengunggah kode ke mikrokontroler.
Langkah-langkah Membuat Sistem Pembacaan Suhu dengan MQTT
1. Menyiapkan Broker MQTT
Pada proyek ini, kita akan menggunakan broker MQTT gratis dari broker.emqx.io, sehingga perangkat bisa diakses dari mana saja selama terhubung ke internet.
2. Menulis Kode untuk ESP8266
Setelah broker MQTT siap, langkah berikutnya adalah menulis kode untuk ESP8266 agar bisa membaca data dari sensor DHT22 dan mengirimkannya ke broker MQTT. Berikut contoh kode untuk menghubungkan ESP8266 ke broker MQTT dan mengirim data suhu dan kelembapan.
#include <ESP8266WiFi.h>
#include <MQTT.h>
#include <DHTesp.h>
const char* ssid = "Isi Username";
const char* password = "Isi Password";
const char* mqtt_server = "broker.emqx.io";
WiFiClient net;
MQTTClient client;
#define DHTPIN D7
DHTesp dht;
void messageReceived(String &topic, String &payload) {
Serial.println("Pesan diterima:");
Serial.println("Topik: " + topic);
Serial.println("Isi Pesan: " + payload);
if (topic == "sensor/perintah") {
if (payload == "HIDUPKAN_LED") {
Serial.println("Menghidupkan LED");
} else if (payload == "MATIKAN_LED") {
Serial.println("Mematikan LED");
}
}
}
void setup() {
Serial.begin(115200);
dht.setup(DHTPIN, DHTesp::DHT22);
setup_wifi();
client.begin(mqtt_server, net);
client.onMessage(messageReceived);
reconnect();
client.subscribe("sensorsuh/#");
}
void setup_wifi() {
Serial.println("Menghubungkan ke WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi terhubung");
}
void reconnect() {
while (!client.connected()) {
Serial.print("Menghubungkan ke MQTT...");
if (client.connect("ESP8266Client")) {
Serial.println("terhubung");
client.subscribe("sensorsuh/suhu");
} else {
Serial.print("gagal, rc=");
Serial.println(client.lastError());
Serial.println(" mencoba lagi dalam 5 detik");
delay(5000);
}
}
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
TempAndHumidity data = dht.getTempAndHumidity();
if (isnan(data.temperature)) {
Serial.println("Gagal membaca dari sensor DHT!");
return;
}
String payload = String(data.temperature);
client.publish("sensorsuh/suhu", payload);
Serial.println("Data suhu terkirim: " + payload);
delay(2000);
}
3. Membuat Panel Kontrol di IoT MQTT Panel
Selanjutnya, kita akan membuat panel kontrol di IoT MQTT Panel untuk menampilkan nilai suhu dan kelembapan. Langkah-langkahnya sebagai berikut:
- Install aplikasi IoT MQTT Panel dari Google Play Store atau App Store.

- Buka aplikasi, ketuk ikon titik tiga di bagian atas layar dan pilih “All Connections”.

- Klik tombol plus (+) untuk menambah koneksi baru.

- Isi “Connection Name” dengan nama yang sesuai, “Client ID” yang unik, dan masukkan alamat broker MQTT pada “Broker Web/IP Address”.

- Pilih “Add Dashboard” untuk membuat dashboard baru, lalu klik “Create” untuk menyimpan pengaturan.

- Tambahkan panel Gauge pada dashboard untuk menampilkan data suhu dan kelembapan.

- Isi pengaturan panel dengan nama “Suhu” dan topik “sensor/suhu” untuk data suhu, serta tambahkan panel lain dengan topik “sensor/kelembapan” untuk data kelembapan.

Setelah itu klik “Create” untuk menyimpan pengaturan koneksi dan membuat dashboard
Setelah langkah-langkah ini selesai, panel kontrol Anda sudah siap untuk digunakan sebagai pengontrol lampu melalui MQTT, Dan ini Hasilnya

4. Menghubungkan dan Menguji Sistem
Setelah semua perangkat terhubung ke broker MQTT, Anda dapat menguji sistem. Jika sudah terhubung, data suhu dan kelembapan dari sensor DHT22 akan tampil secara real-time di panel IoT MQTT Panel.

Kesimpulan
Dengan menggunakan MQTT, Anda bisa membuat sistem monitoring suhu yang dapat diakses melalui internet. Sistem ini sangat cocok untuk aplikasi IoT, seperti monitoring suhu ruangan atau lingkungan lainnya. Anda dapat mengembangkan proyek ini lebih lanjut, misalnya dengan menambahkan alarm atau pengaturan otomatis untuk menghidupkan perangkat tertentu berdasarkan suhu.
Selamat mencoba, dan semoga tutorial ini bermanfaat untuk proyek IoT Anda!