#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* mqttServer = "broker.hivemq.com";
int mqttPort = 1883;
const char* mqttTopic = "sija/iot/mqtt/Hani";
WiFiClient espClient;
PubSubClient mqttClient(espClient);
int angka = 0;
void setupMQTT(){
mqttClient.setServer(mqttServer, mqttPort);
}
void connectToInternet(){
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED){
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Connected to Wi-Fi");
}
void reconnectMQTT(){
Serial.println("Connecting to MQTT Broker...");
while (!mqttClient.connected()){
Serial.println("Reconnecting to MQTT Broker...");
String clientId = "ESP32Client-" + String(random(0xffff), HEX);
if (mqttClient.connect(clientId.c_str())){
Serial.println("Connected");
}
}
}
void setup() {
Serial.begin(115200);
connectToInternet();
setupMQTT();
}
void loop() {
if (!mqttClient.connected()){
reconnectMQTT();
}
if (angka < 100){
Serial.print("Angka : ");
Serial.println(angka);
mqttClient.publish(mqttTopic, String(angka).c_str());
delay(1000);
angka++;
} else {
angka = 0;
}
}