Hi everyone,
I recently purchased an MKR WiFi 1010 board and an ENV Shield R2. I've managed to connect the device to the Arduino IoT Cloud, and it sends data as expected when connected to my computer. However, I'm facing an issue where the device only connects and sends data to the Arduino Cloud when it is connected to my computer. When I connect it to a power outlet or another PC, the device does not send data, and the board appears offline.
Here is the code I'm using:
// Incluye las librerías necesarias
#include <ArduinoIoTCloud.h>
#include <Arduino_ConnectionHandler.h>
#include <Arduino_MKRENV.h>
// Variables que se mostrarán en Arduino Cloud
CloudTemperature temperature;
CloudRelativeHumidity humidity;
CloudPressure pressure;
CloudIlluminance light;
// Configuración de red WiFi
const char SSID[] = SECRET_SSID; // Reemplaza con tu SSID
const char PASS[] = SECRET_OPTIONAL_PASS; // Reemplaza con tu contraseña
WiFiConnectionHandler ArduinoIoTPreferredConnection(SSID, PASS);
void setup() {
// Iniciar comunicación serial
Serial.begin(9600);
while (!Serial);
// Inicia el módulo ENV Shield
if (!ENV.begin()) {
Serial.println("Error al iniciar el módulo MKR ENV Shield R2.");
while (true);
}
// Configura Arduino IoT Cloud
initProperties();
ArduinoCloud.begin(ArduinoIoTPreferredConnection);
// Configura la conexión WiFi
setDebugMessageLevel(2);
ArduinoCloud.printDebugInfo();
}
void loop() {
ArduinoCloud.update();
readEnvData();
}
void initProperties() {
ArduinoCloud.addProperty(temperature, READ, 1 * SECONDS, NULL);
ArduinoCloud.addProperty(humidity, READ, 1 * SECONDS, NULL);
ArduinoCloud.addProperty(pressure, READ, 1 * SECONDS, NULL);
ArduinoCloud.addProperty(light, READ, 1 * SECONDS, NULL);
}
void readEnvData() {
// Lee datos del MKR ENV Shield
temperature = ENV.readTemperature();
humidity = ENV.readHumidity();
pressure = ENV.readPressure();
light = ENV.readIlluminance();
// Imprime datos en el monitor serial
Serial.print("Temperatura: "); Serial.println(temperature);
Serial.print("Humedad: "); Serial.println(humidity);
Serial.print("Presión: "); Serial.println(pressure);
Serial.print("Luz: "); Serial.println(light);
}
I've verified that the power supply is sufficient and have tried different USB cables and power sources, but the issue persists. I would appreciate any assistance or guidance you can provide to resolve this issue.
Thank you for your support!
Best regards,
JL