#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const int channel = 6;
const char* mqtt_broker = "broker.hivemq.com";
const int mqtt_port = 1883;
const char* topic = "wokwi/mqtt/chavaus";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
Serial.print("Menghubungkan ke WiFi");
WiFi.begin(ssid, password, channel);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println(" Terhubung ke Wi-Fi!");
client.setServer(mqtt_broker, mqtt_port);
while (!client.connected()) {
Serial.println("Menghubungkan ke MQTT Broker...");
if (client.connect("ESP32Client")) {
Serial.println("Terhubung ke MQTT Broker!");
} else {
Serial.print("Gagal Terhubung. Terjadi Kesalahan: ");
Serial.println(client.state());
delay(2000);
}
}
}
void loop() {
client.loop();
static unsigned long lastPubTime = 0;
if (millis() - lastPubTime > 5000) {
lastPubTime = millis();
String message = "MSIB 7!";
client.publish(topic, message.c_str());
Serial.print("Pesan terkirim ke topik ");
Serial.println(topic);
Serial.println(message);
}
}