#include #include int sensor; // Configuración WiFi const char* ssid = "OTTORTUGA"; // Cambia por el nombre de tu red WiFi const char* password = "cucharon"; // Cambia por la contraseña de tu red WiFi // Configuración del broker MQTT const char* mqtt_server = "yaqua.cidemec.pe"; // Cambia por la dirección de tu broker MQTT const int mqtt_port = 1883; // Puerto MQTT (default es 1883) const char* mqtt_topic = "test/topic"; // Tema donde publicarás datos // Credenciales MQTT const char* mqtt_user = "stef"; // Cambia por tu usuario MQTT const char* mqtt_password = "Sibarita15!"; // Cambia por tu contraseña MQTT const char* client_id = "XIAOESP32C3_Stef"; // Cambia por un identificador único WiFiClient espClient; PubSubClient client(espClient); // Función para conectarse a WiFi void setupWiFi() { delay(10); Serial.println(); Serial.print("Conectando a "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi conectado"); Serial.print("Dirección IP: "); Serial.println(WiFi.localIP()); } // Función para conectarse al broker MQTT void reconnect() { while (!client.connected()) { Serial.print("Intentando conexión MQTT..."); // Intentamos conectar con usuario y contraseña if (client.connect(client_id, mqtt_user, mqtt_password)) { Serial.println("Conectado al broker MQTT"); } else { Serial.print("Falló, rc="); Serial.print(client.state()); Serial.println(" Intentando de nuevo en 5 segundos..."); delay(5000); } } } void setup() { Serial.begin(115200); pinMode(3,INPUT); setupWiFi(); client.setServer(mqtt_server, mqtt_port); // Intentamos conectar al broker reconnect(); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); /* // Subir un dato al broker String payload = "Hola desde XIAO ESP32-C3"; Serial.print("Enviando mensaje: "); Serial.println(payload); */ sensor=digitalRead(3); if (sensor==1) { if (client.publish(mqtt_topic, "1")) { Serial.println("Mensaje publicado correctamente"); } else { Serial.println("Error al publicar el mensaje"); }} else{ if (client.publish(mqtt_topic, "0")) { Serial.println("Mensaje publicado correctamente"); } else { Serial.println("Error al publicar el mensaje"); } } delay(1000); // Espera 5 segundos antes de enviar el siguiente mensaje }