#include <WiFi.h>
#include <AViShaMQTT.h>
const char *ssid = "Wokwi-GUEST";
const char *password = "";
const char *mqtt_server = "broker.hivemq.com";
AViShaMQTT mqtt(ssid, password, mqtt_server);
const char* topics[] = {
"relay1", "relay2", "relay3", "relay4",
"relay5", "relay6", "relay7", "relay8"
};
int relays[] = {17, 5, 4, 2, 16, 14, 13, 12};
unsigned long timer, intervalKirim = 1000;
void setup() {
Serial.begin(115200);
mqtt.begin();
}
void setup() {
Serial.begin(115200);
mqtt.begin();
for (int i = 0; i < 8; i++) {
pinMode(relays[i], OUTPUT);
mqtt.subscribe(topics[i], 1);
}
}
void loop() {
mqtt.loop();
String pesan = mqtt.getIncomingMessage();
String topik = mqtt.getIncomingTopic();
}
if (pesan != "") {
for (int i == 0; i < 8; i++) {
if (topik == topics[i]) {
digitalWrite(relays[i], pesan.toInt()); // 0 = mati, 1 = nyala
Serial.println("Relay" + String(i + 1) + " = " + pesan);
break;
}
}
mqtt.setIncomingMessage("");
}
for (int i = 0; i < 8; i++ ){
mqtt.subscribe(topics[i], 1);
}