toughc5_rtc_battery_log.ino

Kit de desarrollo IoT resistente a la intemperie M5Stack ToughC5 (ESP32-C5) · Archivo : toughc5_rtc_battery_log.ino · Lenguaje : C++ (Arduino) · Uso : Lire l'heure du RTC RX8130CE et sauvegarder des données dans la Flash avec gestion de la batterie.

Usa el RTC RX8130CE para registrar la hora de los eventos y guardarlos en el sistema de archivos LittleFS.

Requiere las bibliotecas 'RTClib' y 'LittleFS'. El RTC RX8130CE está en el bus I2C interno. Asegúrese de que la batería CR2032 esté insertada para mantener la hora durante el sueño. Los datos se escriben en un archivo de texto en Flash.

toughc5_rtc_battery_log.ino

#include <M5ToughC5.h>
#include <RTClib.h>
#include <FS.h>
#include <LittleFS.h>

RTC_DS3231 rtc; // Le RX8130CE est compatible avec la lib RTClib via I2C
File logFile;

void setup() {
    M5.begin();
    Serial.begin(115200);
    
    if (!LittleFS.begin()) {
        Serial.println("LittleFS Mount Failed");
        return;
    }
    
    if (!rtc.begin()) {
        Serial.println("Couldn't find RTC");
        return;
    }

    // Vérifier si l'heure est perdue (pile CR2032 vide)
    if (rtc.lostPower()) {
        Serial.println("RTC lost power. Setting to compile time.");
        rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    }
}

void loop() {
    DateTime now = rtc.now();
    
    // Formater la date/heure
    char timeStr[20];
    sprintf(timeStr, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
    
    Serial.print("Time: ");
    Serial.println(timeStr);
    
    // Écrire dans le fichier de log (simulant une prise de mesure)
    logFile = LittleFS.open("/data.log", "a");
    if (logFile) {
        logFile.print(now.year());
        logFile.print("-");
        logFile.print(now.month());
        logFile.print("-");
        logFile.print(now.day());
        logFile.print(" ");
        logFile.println(timeStr);
        logFile.close();
        Serial.println("Logged to Flash.");
    }
    
    delay(5000); // Log toutes les 5 secondes
}

← Volver a la ficha