From cce2fb3629c8d8fc7ad844a615b6c71e59713356 Mon Sep 17 00:00:00 2001 From: Nicolas Schmauch Date: Fri, 14 Jun 2024 17:07:29 +0200 Subject: [PATCH] =?UTF-8?q?am=C3=A9liration=20du=20code?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.cpp | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e5dbf94..8699349 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,6 +17,7 @@ using namespace std; +// Variable pour accéder et gérer les préférences de l'application Preferences preferences; // Array of DHT sensors with their respective pins and types @@ -132,6 +133,8 @@ void setupWIFI(const char *wifi_name, const char *password) cpttry--; if (cpttry == 0) { + Serial.print("\n Connexion impossible au Wi-Fi, les données serons enregistrées en local et envoyées une fois le connexion rétablie.\n"); + Serial.print("wifi: 10 try go to sleep"); sleep(); } @@ -152,6 +155,8 @@ void reconnect(void) cpttry--; if (cpttry == 0) { + Serial.print("\n Connexion impossible au MQTT, les données serons enregistrées en local et envoyées une fois le connexion rétablie.\n"); + Serial.print("Mqtt: 10 try go to sleep"); sleep(); } @@ -245,7 +250,7 @@ unsigned long getTime() synctime.tv_usec = 0; if (settimeofday(&synctime, NULL) != 0) std::cout << "error\n"; - // TimeClient.forceUpdate(); //cet ligne crée un bug avec l'heure quand on est connecté au réseau du fablab + // TimeClient.forceUpdate(); // cette ligne crée un bug avec l'heure quand on est connecté au réseau du fablab. vTaskDelay(1000); if (!getLocalTime(&timeinfo)) { @@ -269,6 +274,7 @@ unsigned long getTime() */ void writeMessage(char *txt, float *temp, float *hum, int number) { + // time_t rawtime = TimeClient.getEpochTime(); int chargelvl1 = Battery.getBatteryChargeLevel(); int chargelvl2 = Battery.getBatteryChargeLevel(); int chargelvl3 = Battery.getBatteryChargeLevel(); @@ -280,34 +286,34 @@ void writeMessage(char *txt, float *temp, float *hum, int number) int chargelvl9 = Battery.getBatteryChargeLevel(); int chargelvl10 = Battery.getBatteryChargeLevel(); - /*début de l'enregistrement des données */ + //-------------------- Début de l'enregistrement des données --------------------// preferences.begin("chargelvl-hum-temp", false); int chargelvl = preferences.getInt("chargelvl", 1); - for (int i = 0; i < 5; i++) // debut de la boucle pour récuperer les valeur dans le tableau puis les enregistrer + // Boucle pour récupérer les valeurs dans le tableau puis les enregistrer. + for (int i = 0; i < 5; i++) { char Temp[5]; - char Humi[5]; + char Hum[5]; float newTemp = preferences.getFloat(Temp, temp[i]); - float newHum = preferences.getFloat(Humi, hum[i]); + float newHum = preferences.getFloat(Hum, hum[i]); preferences.putFloat("temp", newTemp); preferences.putFloat("hum", newHum); - Serial.printf("temp: %0.2f\n", newTemp); // print pour vérifier si les valeurs enregistrées sont les bonnes + Serial.printf("temp: %0.2f\n", newTemp); // print pour vérifier si les valeurs enregistrées sont les bonnes. Serial.printf("hum: %0.2f\n", newHum); } - chargelvl = (chargelvl1 + chargelvl2 + chargelvl3 + chargelvl4 + chargelvl5 + chargelvl6 + chargelvl7 + chargelvl8 + chargelvl9 + chargelvl10) / 10; // Calcul de la moyenne du niveau de charge de la batterie - // time_t rawtime = TimeClient.getEpochTime(); + chargelvl = (chargelvl1 + chargelvl2 + chargelvl3 + chargelvl4 + chargelvl5 + chargelvl6 + chargelvl7 + chargelvl8 + chargelvl9 + chargelvl10) / 10; // Calcul de la moyenne du niveau de charge de la batterie. - Serial.printf("chargelvl: %d\n", chargelvl); // print pour vérifier si les valeurs enregistrées sont les bonnes + Serial.printf("chargelvl: %d\n", chargelvl); // print pour vérifier si les valeurs enregistrées sont les bonnes. preferences.putInt("chargelvl", chargelvl); preferences.end(); - /* Fin de l'enregistrement des données sur le micro-controleur*/ + //-------------------- Fin de l'enregistrement des données sur le micro-controleur --------------------// delay(2000); @@ -470,7 +476,6 @@ void setup() TestBoot(REFRESHMEMBOOT); } - preferences.end(); // // ######### test time part ######### // Serial.println('\n'); // Serial.println(hours,DEC); @@ -519,12 +524,13 @@ void loop() // Serial.println(day,DEC); // Serial.println('\n'); - now = getTime(); + now = getTime(); // affiche le temps lenght = sprintf(date, "%s", ultoa(now, date, 10) /* "|%d-%d-%d ", year, month, day */); sprintf(date + lenght, time); sprintf(date + strlen(date), msg); MqttClient.publish(TOPIC, date); + preferences.clear(); Serial.println("-----------------DeepSleep---------------------"); delay(2000);