#include #include // --- Ajustes WiFi --- const char* ssid = "MOVISTAR_DF4F_INV"; const char* password = "mTPYF7AgD2q6TEN4x7bz"; // --- Ajustes Broker (El mismo que el del Wio) --- const char* mqtt_server = "89.116.24.168"; const int mqtt_port = 31160; WiFiClient espClient; PubSubClient client(espClient); void setup() { Serial.begin(115200); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("\n[Wemos] WiFi OK!"); client.setServer(mqtt_server, mqtt_port); } void reconnect() { while (!client.connected()) { Serial.print("Wemos conectando a MQTT..."); // ID único para que no choque con el Wio if (client.connect("Wemos_Sensor_Emitter")) { Serial.println("¡Conectado!"); } else { Serial.print("Fallo, rc="); Serial.print(client.state()); delay(5000); } } } void loop() { if (!client.connected()) reconnect(); client.loop(); static unsigned long lastMsg = 0; if (millis() - lastMsg > 5000) { lastMsg = millis(); // Simulamos valores para el Assignment int sim_solar = random(100, 200); // Entre 100 y 200W float sim_temp = random(220, 260) / 10.0; // Entre 22.0 y 26.0 C // Publicamos en los tópicos client.publish("fabacademy/grupo/fotovoltaica", String(sim_solar).c_str()); client.publish("fabacademy/grupo/temperatura", String(sim_temp).c_str()); Serial.print("Datos enviados: Solar="); Serial.print(sim_solar); Serial.print("W, Temp="); Serial.println(sim_temp); } }