IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

data logger / bibliothèque LOGGING


Sujet :

Python

  1. #1
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Juin 2014
    Messages : 219
    Par défaut data logger / bibliothèque LOGGING
    Bonjour

    Je souhaite "logger" des données que je reçois de différents appareils de mesure (balances, tensions, etc..) communiquant avec un PC (Raspberry pi / RPi) par USB (ou RS232/USB).

    Ces données sont soient reçues à intervalles régulier sans action du RPi, soit initiées en réponse à une commande envoyée par le RPi (Commandes de style AT auxquelles répondent les instruments de mesure ou les microcontrôleurs que j'ai programmés (style Arduino ou ESP32)

    Je souhaite maintenant logger ces données, ce que je souhaiterais faire avec Python.

    Je recherche sur le web, mais à chaque fois je suis renvoyé vers la bibliothèque logging qui sert principalement au débugage.

    Je me suis dit un moment que je pourrais détourner cette bibliothèque pour mon besoin puisqu'elle permet d'aiguiller différents flux vers différents fichiers, mais elle est assez difficile à prendre en mains pour moi qui débute et au final, je me demande si l'approche est bonne.

    Qu'en pensez vous ? Dois je persister dans cette voies ou trouver une autre solution ?

    Et sinon, auriez vous des tutos à proposer pour ce type de besoin (datalogger) ?

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 720
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 720
    Par défaut
    Salut,

    Citation Envoyé par hary66 Voir le message
    Je me suis dit un moment que je pourrais détourner cette bibliothèque pour mon besoin puisqu'elle permet d'aiguiller différents flux vers différents fichiers, mais elle est assez difficile à prendre en mains pour moi qui débute et au final, je me demande s'il l'approche est bonne.
    Si vous voulez écrire vos données dans différents fichiers textes, vous pouvez faire sans.

    Suivant l'usage que vous voudrez faire de ces données par la suite, il serait peut être plus intéressant de les stocker dans différentes tables d'une base de données.

    Après, il va falloir coder tout çà... et suivant les fonctionnalités non techniques attendues, ré-inventer des solutions qu'un module tel que logging (ou d'autres) apportent déjà.

    Le soucis est dans l'analyse des besoins et des ouvertures pour faciliter les évolutions futures... et l'intérêt qu'il pourrait y avoir à utiliser logging, et/ou une base de données et/ou...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par hary66 Voir le message
    mais à chaque fois je suis renvoyé vers la bibliothèque logging qui sert principalement au débugage.
    D'où tu sors cette assertion?
    La bibliothèque logging est fait pour faire du log. Et on peut utiliser le log pour debugguer effectivement mais elle n'a pas été créée "exprès" pour ça.

    Citation Envoyé par hary66 Voir le message
    Je me suis dit un moment que je pourrais détourner cette bibliothèque pour mon besoin puisqu'elle permet d'aiguiller différents flux vers différents fichiers, mais elle est assez difficile à prendre en mains pour moi qui débute et au final, je me demande s'il l'approche est bonne.
    Oui c'est vrai, il y a quelques subtilités.
    Ce qu'il faut savoir en résumé
    1. tu as un niveau général de log. Seuls les messages de niveau égal ou supérieur au niveau positionné passeront ce filtrage
    2. tu peux créer chaque gestionnaire de façon indépendante, avec son format d'affichage, son flux de sortie (fichier, mail, etc)
    3. chaque gestionnaire aura son propre niveau => seul les messages ayant passés le filtrage initial, de niveau supérieur ou égal au niveau positionné seront alors traités par le gestionnaire

    Et l'apprentissage commence par des exemples simples. On les tape et on regarde ce que ça donne.

    Citation Envoyé par hary66 Voir le message
    Je souhaite maintenant logger ces données, ce que je souhaiterais faire avec Python.
    La difficulté de compréhension vient de l'usage que tu fais du verbe "logger". Si dans ta tête cela signifie "traitement, analyse et enregistrement", alors ce n'est pas du log, c'est juste du "stockage" (fichier, bdd, ...). Le log c'est "mon programme envoie différentes infos à différents intervalles et je vais les enregistrer pour analyse ultérieure"...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Par curiosité (n'y connaissant rien) tu reçois sous quelle forme tes données ?

    Après comme suggéré par Wiz, utiliser une BDD pourrait s'avérer très pratique pour traiter les données, sqlite3 est relativement facile à prendre en main mais il a ses limites.
    Dernière modification par f-leb ; 29/06/2022 à 21h43. Motif: lien non pérenne, merci de privilégier les ressources de developpez.com

  5. #5
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Juin 2014
    Messages : 219
    Par défaut
    Merci pour toutes ces réponses qui permettent de faire le point et préciser quelques abus de langage de ma part.


    Je retiens que même si d'autres solutions sont possibles, l'utilisation de la bibliothèque LOGGING peut être une solution intéressante.



    @LeNarvalo
    Pourrais tu préciser ta question. Je reçois les données qui sont transmises sur le port RS232/USB, je ne sais comment le décrire, mais c'est assez classique pour ce que je peux en dire des appareil auxquels j'ai été confronté jusqu'ici.
    Je joins une doc de balance que j'utilise pour tenter de répondre à ta question.
    CBCP-01-User-Manual-EN.pdf

    Sinon, j'avais en effet un jour fouiné du coté des bases de données temporelle style InfluxDB liée à d'autre application comme Chronograf, Grafana mais tout cela est assez difficile à prendre en mains.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Pourrais tu préciser ta question.
    Euh, pas vraiment, je n'y connais rien de chez rien en protocole, raspberry pi, etc... Je me demandais juste comment l'information était réceptionnée et traitée par l'ordi ou la raspberry pi, si tu connais l'info. J'ai vu qu'il y avait un protocole SSH dans l'histoire... ??

    Merci pour le pdf, j'y vois un peu plus clair. =)

  7. #7
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 171
    Billets dans le blog
    47
    Par défaut
    Salut,

    Pour moi, il faut distinguer la journalisation des évènements et le stockage/traitement des données.

    Pour le 1er point, voir le tuto officiel Python : Tutoriel sur la journalisation
    1 événement = erreur dans le programme ou statut de la situation dans le programme, warning sur l'état de la batterie ou d'un capteur, état de la connexion réseau, etc.

    Pour le 2è point, une petite base de données relationnelle embarquée comme sqlite3 peut faire l'affaire, mais tout dépend du volume et de la fréquence d'acquisition des données. Un simple fichier texte séquentiel avec les données au format csv peut aussi convenir pour un faible volume de données.

  8. #8
    Membre confirmé
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juin 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Juin 2014
    Messages : 219
    Par défaut
    J'ai pris en main la bibliothèque LOGGING et c'est en effet très pratique !

Discussions similaires

  1. communication 1 wire avec deux data logger
    Par DyiDriss dans le forum MPLAB
    Réponses: 0
    Dernier message: 09/05/2016, 13h42
  2. communication labview avec un GPRS NET DATA LOGGER
    Par kernel75 dans le forum LabVIEW
    Réponses: 10
    Dernier message: 13/03/2014, 16h40
  3. [DATA] Masquer exécution étape data dans la log
    Par Deciprog dans le forum SAS Base
    Réponses: 2
    Dernier message: 12/03/2010, 15h01
  4. Mélange device de data et de logs
    Par arona dans le forum Sybase
    Réponses: 16
    Dernier message: 20/07/2007, 11h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo