#include #include const char* ssid = "MOVISTAR_0CD0"; // replace with you SSID const char* password = "6pN5745BmUSLphq"; // replace with you password const char* mqtt_server = "broker.emqx.io"; WiFiClient espClient; PubSubClient client(espClient); const int buzzerPin = D2; // Pin del buzzer void setup() { Serial.begin(115200); pinMode(buzzerPin, OUTPUT); digitalWrite(buzzerPin, LOW); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(callback); } void setup_wifi() { delay(10); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); } void callback(char* topic, byte* message, unsigned int length) { String msg; for (int i = 0; i < length; i++) { msg += (char)message[i]; } Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); Serial.println(msg); if (msg == "1") { digitalWrite(buzzerPin, HIGH); delay(1000); // the buzzer sounds for 1 seconds digitalWrite(buzzerPin, LOW); } } void reconnect() { while (!client.connected()) { Serial.print("Attempting MQTT connection..."); if (client.connect("ESP32ClientBuzzer")) { Serial.println("connected"); client.subscribe("cristian/test1"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); delay(5000); } } }