Skip to content

kelasrobot/MQTTESP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MQTTESP

MQTTESP adalah library yang menyederhanakan penggunaan dari library MQTT.h. Oleh karena itu, Anda harus menginstal MQTT.h terlebih dahulu sebelum menggunakan MQTTESP.

MQTTESP membungkus fungsi-fungsi dasar dari MQTT.h dan menyediakan pendekatan yang lebih praktis untuk penggunaan MQTT di ESP8266/ESP32. Library ini membantu Anda menghindari kode duplikat seperti koneksi WiFi, koneksi ulang MQTT, dan pengecekan pesan masuk.


✅ Fitur Utama

  • 📡 Auto Connect WiFi & MQTT
  • 🔁 Auto Reconnect saat koneksi terputus
  • 🔔 Callback per topik untuk respon instan
  • 📨 Publish & Subscribe dengan QoS dan Retain
  • 🧠 Simpan dan baca pesan terakhir dengan getIncomingMessage()
  • 🧩 Kompatibel dengan MQTT 3.1.1 dan MQTT 5
  • 🛠️ Mudah diintegrasikan dalam proyek IoT apapun

🔧 Instalasi

  1. Install MQTT.h: Unduh dari https://github.com/256dpi/arduino-mqtt

  2. Install MQTTESP:

    • Download atau clone library ini ke folder libraries Arduino Anda.

💡 Contoh Penggunaan

1. Contoh Dasar: Publish & Subscribe

#include <MQTTESP.h>

const char* ssid = "isi nama wifi";
const char* password = "isi password wifi";
const char* mqtt_server = "broker.emqx.io";

MQTTESP mqtt(ssid, password, mqtt_server);

const char* topicSensor = "tes/topic/sensor";
const char* topicLampu = "tes/topic/lampu";

unsigned long timer, counter = 0, intervalKirim = 1000;

void setup() {
  Serial.begin(115200);
  pinMode(2, OUTPUT);

  mqtt.begin();
  mqtt.subscribe(topicLampu);
}

void loop() {
  mqtt.loop();

  if (millis() - timer >= intervalKirim) {
    timer = millis();
    mqtt.publish(topicSensor, String(++counter));
  }

  String pesan = mqtt.getIncomingMessage();
  if (pesan != "") {
    digitalWrite(2, pesan.toInt());
    mqtt.setIncomingMessage("");
  }
}

2. Callback per Topik

void kontrolLampu(String pesan) {
  digitalWrite(2, pesan.toInt());
}

void setup() {
  Serial.begin(115200);
  pinMode(2, OUTPUT);

  mqtt.begin();
  mqtt.subscribe(topicLampu, kontrolLampu);
}

3. Publish dengan QoS dan Retain

mqtt.publish("tes/status", "ON", true, 1); // retain = true, QoS = 1

4. Auto-Reconnect MQTT dan WiFi

Library ini otomatis menghubungkan kembali jika WiFi atau broker MQTT terputus. Tidak perlu tambahan kode.


5. Gunakan beberapa topik callback sekaligus

mqtt.subscribe("sensor/1", [](String pesan) {
  Serial.println("Sensor 1: " + pesan);
});

mqtt.subscribe("sensor/2", [](String pesan) {
  Serial.println("Sensor 2: " + pesan);
});

📁 Struktur File

MQTTESP/
├── examples/
│   └── Simple_Publish_and_Subscribe/
│       └── Simple_Publish_and_Subscribe.ino
├── src/
│   └── MQTTESP.h
│   └── MQTTESP.cpp
├── library.properties
└── README.md

✍️ Kontribusi

Silakan fork dan pull request jika ingin menambahkan fitur atau memperbaiki bug.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages