suite à une question que j'ai posé pour traité un nombre assez important de données qui arrive via un port com , on m'a conseiller d'utiliser un tableau de structure.
j'ai fais un petit log sur une nuit et comme dans les données il y a un index .
ex: valeur 1->index 1 ; valeur 2->index 2 ...
le plus grand index trouvé est 99.
une valeur ressemble à cela : Fühler 1;0123;17;2;°C;
1°champ = nom de la valeur (type char)
2°champ = valeur (type int)
3°champ = index (type int)
4°champ = diviseur (type int)
5°champ = unité (type char)
en claire ,capteur 1 =61.5°c
en lisant une doc pour le C , on déclare se qui nous faut.
struct frocom2 // nom de la structure
{
char nom[100];
char unite[3];
int index;
int valeur;
int diviseur;
};
comme vous le voyez le nom de la valeur est en allemand, est il possible par le bias de l'index d'écrire la traduction ?
se que je voudrais faire c'est un datalogger (d'un port com) et sauvegarde sur la SD pour pouvoir utilisé les données directement dans excel ou autre.
ce que je voudrais faire c'est un datalogger (d'un port com) et sauvegarde sur la SD pour pouvoir utiliser les données directement dans excel ou autre.
Donc cela veut dire stocker sur la carte des informations compréhensible par Excel.
Le plus simple pour entrer des valeurs dans Excel via un fichier c'est le format CSV des champs séparées par une virgule ou un point virgule ou ce que tu veux du moment que ce caractère n'est pas utilisé par ailleurs dans les champs.
Donc tu peux très bien créer avec ton programme arduino un fichier texte dans lequel tu écriras
il n'y a pas besoin de manipuler de tableau de structures puisque tu stockes directement les valeurs sur la carte mémoire sous forme de texte.
Ensuite il suffit juste d'ouvrir le fichier avec Excel et les valeurs sous placées directement dans des colonnes de la feuille du tableur.
Les tableaux de structures c'est pratique pour échanger des données hétérogènes entre des fonctions à l'intérieur d'un programme. Pour l'export des données vers un programme externe il vaut mieux le faire dans un format compris directement par l'application qui exploite les données.
comme vous le voyez le nom de la valeur est en allemand, est il possible par le bias de l'index d'écrire la traduction ?
Tu mets ce que tu veux dans le fichier. lorsque ton programme reçoit "Fühler" rien ne t'empêche d'écrire "Température" dans le fichier. Par contre cela t'oblige à interpréter les informations qui arrivent sur le port série avant de les écrire dans la carte mémoire mais si elles n'arrivent pas un rythme effréné tu aura tout le temps de faire cette "traduction".
pour donner une idée du volume 1/4 d'heure de log représente 500ko !
pour le moment j'essaye de mettre se que je reçoit en forme , une fois cela effectuer je tenterais d’inséré l'heure puis un log par minute.
mais chaque chose en son temps
je viens de faire un petit essais avec excel:
j'ouvre le fichier tel que -> cela me fait du grand n'importe quoi .
je le met en forme , sur une ligne une valeur complète et la sous excel impecable.
donc lors de l'écriture sur la SD il faut que le programme compte 5 séparateur -> ;
et me fasse un retour à la ligne .