from machine import RTC, deepsleep, wake_reason
from time import sleep
rtc = RTC()
# Vérifier si c'est le premier démarrage après la mise sous tension
if rtc.memory() == b'':
# Si la mémoire RTC est vide, c'est le premier démarrage
rtc.datetime((2023, 7, 19, 2, 14, 54, 0, 0)) # set a specific date and time
rtc.memory('0') # Enregistrez 0 sous forme de bytes
while True:
datetime = rtc.datetime()
annee, mois, jour, _, heure, minute, seconde, _ = datetime
date_formatee = "{:04d}-{:02d}-{:02d}-{:02d}-{:02d}-{:02d}".format(annee, mois, jour, heure, minute, seconde)
print('Date :', date_formatee)
# Lire la valeur enregistrée dans la mémoire RTC
valeur_enregistree = rtc.memory()
valeur_enregistree = int(valeur_enregistree.decode())
print("Valeur enregistrée :", valeur_enregistree)
valeur_enregistree += 1
rtc.memory(str(valeur_enregistree)) # enregistrer la valeur du compteur
raison_reveil = wake_reason()
print('*****************************************')
print("Raison de réveil :", raison_reveil)
print('Entrer dans le mode deep sleep !')
print('*****************************************')
sleep(4)
# Mettre l'ESP32 en veille profonde pour 8 secondes (8000 millisecondes)
deepsleep(8000)