Un bon Data logger a me conseiller ?

Coucou tout le monde

Je dois stocker de nombreux paramètres sur une micro-carte SD puis exploiter les infos sous Excel. Le truc très classique ...

Je dispose d'une Mega 2560, une Shield Wifi, une RTC et une carte SD et une brouette de capteurs qui fonctionnent

J'ai trouvé de nombreux sketches, plus ou moins rescents et plus ou moins bien faits.

Vous pourriez me conseiller un sketch particulièrement optimisé pour traiter le Datalogging sur carte SD ?

Yamasan:
Coucou tout le monde

Je dois stocker de nombreux paramètres sur une micro-carte SD puis exploiter les infos sous Excel. Le truc très classique ...

Je dispose d'une Mega 2560, une Shield Wifi, une RTC et une carte SD et une brouette de capteurs qui fonctionnent

J'ai trouvé de nombreux sketches, plus ou moins rescents et plus ou moins bien faits.

Vous pourriez me conseiller un sketch particulièrement optimisé pour traiter le Datalogging sur carte SD ?

bonsoir
dans ce genre d'appli, le gros point critique est : quelle qte d'infos à logger/seconde ?

Oui, effectivement j'aurais du commencer par ca. C'est pour une gestion climatique d'une serre à orchidées.

Donc 6 paramètres captés toutes les secondes et enregistrés toutes les minutes.

J'utilise en parallele Xively et le Shield Wifi pour le stockage et l'affichage des paramètres pour pouvoir verifier finement que le climat a été correctement maintenu

Sur mon ecran, j'ai programmé un petit sketche pour "voir rapidement si tout va bien". Ce sont ces infos que je voudrait stocker et visualiser sur la carte uSD

En résumé : 6 paramètres dont on fait la moyenne et qu'on archive toutes les minutes
1 fichier par jour qui sortirait en format .CSV ou .TXT
quelques infos en plus stockées en fin de fichier

Merci d'avance a ceux qui qui pourront me conseiller un bon bout de code pour faire ce job :))

Personne ne stocke ses infos sur une carte SD et à trouvé un code sympa svp ? :smiley:

si moi je stok a mort , voici le code que j'utilise si sa peut te servir!

void DattaLog(){
char Buff_Nom_Fichier[50];
char Buff_Afichage[25];
  Serial.println(F("dattalog en cours..."));

  long fin;
  boolean fichierok;
  sprintf(Buff_Nom_Fichier, "DATLOG/%02i%02i%04i.txt", rtcD.j, rtcD.m, rtcD.a);//affichage heure et date
  sprintf(Buff_Afichage, "%02i:%02i:%02i", rtcH.h, rtcH.m, rtcH.s);//impresion heure

  fichierok= SD.exists(Buff_Nom_Fichier);

  file =SD.open(Buff_Nom_Fichier, FILE_WRITE);
  if(file==true){
    if (fichierok==false) {

      file.print(F("Fichier du : "));
      file.print(rtcD.j);
      file.print(F("/"));
      file.print(rtcD.m);
      file.print(F("/"));
      file.println(rtcD.a);
      
      file.println(F("les donnees sont au format suivant : "));
      file.println(F("hh:mm:ss;Temperature piece; Temperature Terra; humidite Piece "));
      file.println();
      file.print(Buff_Afichage);
      file.print(F(";"));
      file.print(piecetemp);
      file.print(F(";"));
      file.print(terratemp);
      file.print(F(";"));
      file.println(HumiditePiece);
    };
    if (fichierok==true) {
      fin=file.size();
      file.seek(fin+1L); 
      file.print(Buff_Afichage);
      file.print(F(";"));
      file.print(piecetemp);
      file.print(F(";"));
      file.print(terratemp);
      file.print(F(";"));
      file.println(HumiditePiece);
    };
  };
  file.close();
  Serial.println(F("dattalog terminer!"));
  return;
}

il y a des des variable a modifier notament pour les date et certaine valeur de taille de buffer ! mais ça devrai te servir de base pour ton propre code!

petite question, perso je travaille aussi avec un SD et j'ai longtemps chercher sans jamais trouvé.
Arrives-tu à générer plusieurs fichiers d'enregistrements? pcq moi au mieux, j'aiun seul fichier et ça se met à la suite(avec un espace pour différencier les différents moments).

Si c'est pas clair, dans ma SD,j'arrive a faire qu'un seul fichier alors que tu dis en vouloir un différents pour chaque 24heures.

oui biensur que tu peut créé plusieur fichier , tu peut meme créé des répertoire dans des répertoir avec pluiseur fichier a differents endroit de l'arboressence
le code que j'ai donné plus haut génére un fichier avec la date chaque jour et il réecri les donné en fin de fichier , ce n'est pas optimiser au mieux mais c'est parfaitement fonctionel :wink:

Bonjour,

Perso pour faire du dataloging j'utilise un module "OpenLog" et des Serial.
Côté carte maitre c'est ultra simple (juste des Serial bien pensé) et côté logger ça ce fait tout seul sur carte SD.

Même pas besoin de changer le firmware pour avoir du multi-fichier c'est prévu de base, bien pratique comme petite bête.

Bonus : si tu utilises actuellement la carte SD sur ta carte maitre uniquement pour le logging ça te fait un max de place libre ne RAM / Flash vu que tu peut te passer de toute la librairie SD.

Merci de toutes ces infos, je part eplucher tout ca