bonjour
etant debutant en code , je copie , j essaye de comprendre.
j ai un bout de programme qui marche super bien sous une carte arduino uno.
il s agit de mesurer une temperature toutes les dix minutes.
j essaye de faire la meme chose avec une carte mkr fox 1200 mais ca marche pas .
Sous arduino j utilisé le mot Delay , j ai vu que certain utilise sleeptime.
un peu d aide svp
#include <RTCZero.h>
#include <ArduinoLowPower.h>//011217
#include <SigFox.h>
#define SLEEPTIME 15 * 60 * 1000 // Set the delay to 15 minutes (15 min x 60 seconds x 1000 milliseconds)
typedef struct __attribute__ ((packed)) sigfox_message { // see http://www.catb.org/esr/structure-packing/#_structure_alignment_and_padding
int16_t moduleTemperature; // 1 octet format 6009
//int32_t moduleTemperature; //2 octet format 6009000
} SigfoxMessage;
// stub for message which will be sent
SigfoxMessage msg;
//=================== UTILITIES ===================
void reboot() {
NVIC_SystemReset();
while (1);
}
// =================================================
void setup() {
Serial.begin(115200);
while (!Serial);
if (!SigFox.begin()) {
Serial.println("SigFox error, rebooting");
reboot();
}
delay(100); // Wait at least 30ms after first configuration
// Enable debug prints and LED indication
SigFox.debug(); //il faut enlever ca car led orange n arrete pas de clignoter
}
void loop() {
// Read and convert the module temperature
msg.moduleTemperature = (int16_t) (SigFox.internalTemperature()* 100.0);
//msg.moduleTemperature = (int32_t) (SigFox.internalTemperature()* 100.0); // température 1/100th of degrees
// Serial.print("Internal temp: ");
Serial.print(msg.moduleTemperature, HEX); // display what we will send in Hexadecimal
//Serial.print(" ");
// Serial.print(msg.moduleTemperature); // display what we will send in Decimal
//Serial.println(" x100 deg C)");
// Clears all pending interrupts
SigFox.status();
delay(1);
// Send the data
SigFox.beginPacket();
SigFox.write((uint8_t*)&msg, sizeof(SigfoxMessage));
// Serial.print("Status: ");
Serial.println(SigFox.endPacket());//011217
// delay(10000);
SigFox.end();
//Sleep for 15 minutes
LowPower.sleep(SLEEPTIME);
}