#include <WiFi.h>
#include <PubSubClient.h>
#define BUZZ 19
#define LED0 LED_BUILTIN // GPIO8 on C3
#define SWR0 1
volatile boolean sw_flag = false;
#define DevID "ESP32C3-Slave1"
const char* WiFiSSID = "Wokwi-GUEST";
const char* password = "";
const char* mqttServer = "broker.hivemq.com";
const uint16_t mqttPort = 1883;
const char* mqttID = DevID;
const char* DoorRL = "teste-sw/DoorBell/DoorRL";
const char* BellSW = "teste-sw/DoorBell/BellSW";
WiFiClient tcpSocket;
PubSubClient broker(tcpSocket);
void setup() {
Serial.begin(9600);
Serial.print("Connecting");
WiFi.begin(WiFiSSID, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nConnected to WIFI: " + String(WiFiSSID));
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
broker.setServer(mqttServer, mqttPort);
broker.setCallback(mqttCallback); //
pinMode(BUZZ, OUTPUT);
pinMode(LED0, OUTPUT);
pinMode(SWR0, INPUT_PULLUP);
digitalWrite(BUZZ, LOW);
digitalWrite(LED0, LOW);
attachInterrupt(digitalPinToInterrupt(SWR0), ISRflag0, RISING);
}
void loop() {
if (!broker.connected())
reconnect();
broker.loop();
mqttHandle();
}