#include #include const char* ssid = "ANLI"; const char* password = "Actua1455"; const char* mqtt_server = "broker.emqx.io"; const char* mqtt_Client = "FabAcademy_Colombia_ANDRU"; const char* mqtt_Topic_Pub = "FabAcademy/week11"; #define TOUCH_PIN D2 // D2 on XIAO ESP32 C3 WiFiClient espClient; PubSubClient client(espClient); 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.print("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { while (!client.connected()) { Serial.print("Attempting MQTT connection..."); if (client.connect(mqtt_Client)) { Serial.println("connected"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); delay(5000); } } } void setup() { Serial.begin(115200); pinMode(TOUCH_PIN, INPUT); setup_wifi(); client.setServer(mqtt_server, 1883); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); int touchValue = digitalRead(TOUCH_PIN); static bool lastTouch = false; if (touchValue == HIGH && !lastTouch) { client.publish(mqtt_Topic_Pub, "TOUCH"); Serial.println("Touch detected, message sent!"); lastTouch = true; delay(300); // debounce } else if (touchValue == LOW) { lastTouch = false; } }