#include <WiFi.h>
#include <MQTT.h>
const int pinRed = 19;
const int pinGreen = 18;
const int pinBlue = 5;
WiFiClient net;
MQTTClient client;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
void setup() {
Serial.begin(115200);
Serial.print("Initializing WiFi...");
// Set mode pin sebagai output
pinMode(pinRed, OUTPUT);
pinMode(pinGreen, OUTPUT);
pinMode(pinBlue, OUTPUT);
client.begin("broker.emqx.io", net);
WiFi.begin(ssid, pass);
connect();
client.onMessage(messageReceived);
}
void loop() {
client.loop();
if (!client.connected()) {
connect();
}
delay(100);
}
void connect() {
Serial.print("checking wifi...");
color(1, 0, 0);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
Serial.print("\nconnecting...");
while (!client.connect("unique ID")) {
Serial.print("Unconnected");
color(1, 0, 1);
delay(500);
}
Serial.println("\nconnected!");
color(1, 1, 0);
delay(500);
client.subscribe("Hello/#", 1);
}
void messageReceived(String &topic, String &payload) {
Serial.print("topic"); Serial.println(topic);
Serial.print("payload"); Serial.println(payload);
}
void color(bool r, bool g, bool b) {
digitalWrite(pinRed, r);
digitalWrite(pinGreen, g);
digitalWrite(pinBlue, b);
}