#include <WiFi.h>
#include <PubSubClient.h>
//WiFi
const char *ssid = "Wokwi-GUEST";
const char *pass = "";
// MQTT Broker
const char *mqtt_host = "broker.emqx.io";
const char *topic_pub = "ivansahaja";
const int mqtt_port = 1883;
String client_id = "mqttx_06c5cd0d";
WiFiClient espClient;
PubSubClient client(espClient);
int waktu_sebelum, waktu_interval = 1*1000;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.println("Menghubungkan ke WiFi...");
}
Serial.print("Terhubung ke WiFi");
// Menghubungkan ke mqtt broker
client.setServer(mqtt_host, mqtt_port);
while (!client.connected()) {
if (client.connect(client_id.c_str())) {
Serial.println("Terhubung ke mqtt broker");
} else {
Serial.print("Gagal Terhubung ");
Serial.print(client.state());
delay(2000);
}
}
// untuk mengirim data bisa menggunakan perintah variable.publish()
// publish and subscribe (send data sekali saja)
client.publish(topic_pub, "Hi Ivan");
waktu_sebelum = millis();
}
// jika ingin mengirimkan pesan secara berulang
void loop() {
client.loop();
if(millis() - waktu_sebelum >= waktu_interval) {
client.publish(topic_pub, "hi Ivan");
Serial.println("hi Ivan");
waktu_sebelum = millis();
}
client.publish(topic_pub, "Hi Ivan");
waktu_sebelum = millis();
}