0% encontró este documento útil (0 votos)
8 vistas3 páginas

GT2

Este código configura un ESP32 para conectarse a una red WiFi y a un servidor MQTT para controlar un LED. Utiliza el tema MQTT 'Mesa3' para recibir mensajes que encienden o apagan el LED según el contenido del mensaje. El programa incluye funciones para manejar la conexión y la recepción de mensajes del broker MQTT.

Cargado por

anderix9
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas3 páginas

GT2

Este código configura un ESP32 para conectarse a una red WiFi y a un servidor MQTT para controlar un LED. Utiliza el tema MQTT 'Mesa3' para recibir mensajes que encienden o apagan el LED según el contenido del mensaje. El programa incluye funciones para manejar la conexión y la recepción de mensajes del broker MQTT.

Cargado por

anderix9
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 3

#include <WiFi.

h>

#include <PubSubClient.h>

const char* ssid = "iPhone De Fernando"; // Nombre de tu red WiFi

const char* password = "123456789"; // Contraseña de tu red WiFi

const char* mqtt_server = "broker.emqx.io"; // Dirección IP o URL del servidor MQTT

const char* mqtt_topic = "Mesa3"; // Tema MQTT para controlar el LED

WiFiClient espClient;

PubSubClient client(espClient);

const int ledPin = 4; // Pin del LED conectado al ESP32

void callback(char* topic, byte* payload, unsigned int length) {

Serial.print("Mensaje recibido en el tema: ");

Serial.print(topic);

Serial.print(". Contenido: ");

String message;

for (int i = 0; i < length; i++) {

message += (char)payload[i];

Serial.println(message);

// Verificar si el mensaje recibido es "ON" o "OFF" y controlar el LED en consecuencia

if (message.equals("ON")) {

digitalWrite(ledPin, HIGH);

Serial.println("LED encendido");

} else if (message.equals("OFF")) {

digitalWrite(ledPin, LOW);

Serial.println("LED apagado");

void reconnect() {

// Loop hasta que estemos reconectados


while (!client.connected()) {

Serial.print("Intentando conexión MQTT...");

// Intentar conectar

if (client.connect(("ESP32Client_" + String(random(1000, 9999))).c_str())) {

Serial.println("Conexión MQTT establecida");

client.subscribe(mqtt_topic);

} else {

Serial.print("Fallo, rc=");

Serial.print(client.state());

Serial.println(" Intentando de nuevo en 5 segundos");

// Esperar 5 segundos antes de volver a intentar

delay(5000);

void setup() {

pinMode(ledPin, OUTPUT);

Serial.begin(115200);

// Conexión a la red WiFi

Serial.println();

Serial.println("Conectando a la red WiFi...");

WiFi.begin(ssid, password); // inicio de la conexcion wifi

while (WiFi.status() != WL_CONNECTED) {

delay(1000);

Serial.print(".");

Serial.println("");

Serial.println("Conexión WiFi establecida.");


// Conexión al broker MQTT

client.setServer(mqtt_server, 1883);

client.setCallback(callback);

// Intentar conexión al broker

reconnect();

void loop() {

if (!client.connected()) {

reconnect();

client.loop();

delay(1000); // Esperar 1 segundo antes de la próxima iteración del bucle

También podría gustarte