Arduino MKRFox 1200 problemas con LowPower

Buenas a todos!

Recientemente compré una placa MKRFox 1200 para un proyecto que estoy intentando echar a andar, pero me encuentro con el problema de que no consigo que llegue a funcionar de forma continua. Concretamente, si pongo la placa a dormir usando la librería LowPower, antes o después, y no sé por qué, se queda bloqueada y no despierta.

En el código he incluido la interrupción, tal y como indican en este hilo (LowPower.sleep(120000) does not work - MKRFOX1200 - Arduino Forum) y nada. Envía uno o ningún mensaje.

También he modificado la librería SigFox como indican en este otro (MKRFOX power saving issue - MKRFOX1200 - Arduino Forum), y he conseguido que envíe correctamente 6 veces y luego para. Envío los mensajes cada 10 o 15 minutos, con lo cual no es por el límite de mensajes de SigFox.

El código que estoy usando es el siguiente:

#include <SigFox.h>
#include <ArduinoLowPower.h>

void setup() {

  // Inicia el módulo SigFox
  if(!SigFox.begin()){
    return;
  }

  // Apaga el módulo SigFox
  SigFox.end();

  // Interrupción para evitar que no despierte
  LowPower.attachInterruptWakeup(RTC_ALARM_WAKEUP, dummy, CHANGE);

  // Espera 10 segundos a enviar el primer mensaje
  delay(10000);
}

void loop() {

  // Inicia el módulo SigFox
  SigFox.begin();

  // Espera 200 ms hasta que conecta
  delay(200);

  // Lee la temperatura internat del módulo
  int8_t temperatura = (int)SigFox.internalTemperature();

  // Limpieza de todas las interrupciones pendientes
  SigFox.status();
  delay(10);

  // Comenzamos el proceso para transmitir el mensaje
  SigFox.beginPacket();

  // Escribimos el mensaje
  SigFox.write(temperatura);

  // Terminamos el proceso de enviar el mensaje
  int resultado = SigFox.endPacket();

  Serial1.println(SigFox.status(SIGFOX));
  Serial1.println(SigFox.status(ATMEL));

  // Apagamos el módulo
  SigFox.end();

  // Duerme 15 minutos hasta enviar el siguiente mensaje
  LowPower.sleep(15 * 60 * 1000);

}

void dummy() {
  volatile int ttt = 0;
}

A ver si alguien de por aquí me da alguna idea más, porque veo que es un problema bastante habitual.

Muchas gracias y saludos.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.