Membaca Nilai Suhu Dengan IoT MQTT Panel

Membaca Nilai Suhu Dengan IoT MQTT Panel

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!

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

    Tinggalkan Balasan

    Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *