#include <WiFi.h>
#include <MQTT.h>
const char ssid[] = "Wokwi-GUEST";
const char pass[] = "";
WiFiClient net;
MQTTClient client;
// Pin
const int ssrPins[8] = {16, 17, 18, 19, 23, 25, 26, 27};
const int rgbPins[3] = {26, 17, 32};
// Pin Status
const bool ssrStatus[8] = {16, 17, 18, 19, 23, 25, 26, 27};
String globalDeviceID = "";
void setup() {
// Inisialisasi SSR
for (int i = 0; i < 8; i++) {
digitalWrite(ssrPins[i], LOW);
pinMode(ssrPins[i], OUTPUT);
}
for (int i = 0; i < 3; i++) {
digitalWrite(rgbPins[i], LOW);
pinMode(rgbPins[i], OUTPUT);
}
rgb(0,0,0);
// Menghasilkan ID unik saat awal perangkat menyala
generateUniqueID();
WiFi.begin(ssid, pass);
client.begin("public.cloud.shiftr.io", net);
client.onMessage(messageReceived);
connect();
}
void loop() {
client.loop();
delay(10); // <- fixes some issues with WiFi stability
if (!client.connected()) {
connect();
}
// Aktifkan SSR
for (int i = 0; i < 8; i++) {
digitalWrite(ssrPins[i], ssrStatus[i]);
}
}