📅 17 Mei 2026 | ⏱ 5 menit baca | 👤 SUGENK WAVE
🔄 MQTT Keep Alive & Last Will
MQTTESP32KeepAliveLastWill
Dua fitur MQTT yang sering diabaikan padahal penting untuk proyek IoT serius: Keep Alive (biar koneksi stabil) dan Last Will (deteksi device offline).
Keep Alive — Cegah Koneksi Putus
Keep Alive adalah interval ping antara client dan broker. Jika broker tidak mendengar ping dalam waktu tertentu, koneksi dianggap mati.
PubSubClient client(espClient);
client.setKeepAlive(30); // ping setiap 30 detik
Last Will — Deteksi Device Mati
Last Will adalah pesan yang otomatis dipublish broker jika client disconnect secara tidak normal (power loss, jaringan putus).
client.connect("ESP32", mqtt_user, mqtt_pass, "status/esp32", 1, true, "offline");
Implementasi Lengkap
void reconnect() {
if (client.connect("ESP32", mqtt_user, mqtt_pass, "status/esp32", 1, true, "offline")) {
client.publish("status/esp32", "online", true);
client.subscribe("cmd/esp32");
}
}
💡 Dengan Last Will, lo bisa tahu persis kapan ESP32 mati atau jaringan bermasalah. Status "offline" muncul otomatis di broker tanpa perlu nunggu timeout manual.