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

Bibliothèques tierces Python Discussion :

Acquisition de données avec Arduino


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Par défaut Acquisition de données avec Arduino
    Bonjour,

    Voici un code python que j'utilisais il y a plusieurs mois pour acquérir des données via une carte Arduino. Normalement, c'était OK. Je mesurais les 50 premieres valeurs de tension aux bornes d'un condensateur et je crée le fichier texte correspondant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    import serial
     
    try:
        arduino=serial.Serial("com5", 9600)
    except:
        print("Vérifier le port série")
     
    file = open("Mesures.txt", "w+")
     
     
     
     
    compteur=0
     
     
     
    while compteur<51:   
     
         valeurs=str(arduino.readline())
         valeurs_propres1=valeurs[2:]
         valeurs_propres2=valeurs_propres1[:-5]
     
         print(valeurs_propres2)
         file.write(valeurs_propres2)
         file.write("\n")
         compteur=compteur+1
     
     
    file.close()
    arduino.close()
    Aujourd'hui, j'ai voulu me resservir de ce programme.
    A ma grande surprise, j'ai eu droit au message "name 'arduino' is not defined".
    Pourtant, il est bien défini à la ligne try.
    J'ai vérifié également le port de communication. J'ai bien revérifié que le module "pyserial" était bien installé. J'ai utilisé une carte arduino Mega a la place d'une carte Arduino Uno. Cela peut-il avoir une influence ??
    Il doit s'agir d'une erreur toute simple, mais j'avoue que je ne la trouve pas.....

    Quelqu'un voit ou est l'erreur ? Merci de votre aide.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Citation Envoyé par Olivier20000 Voir le message
    Quelqu'un voit ou est l'erreur ? Merci de votre aide.
    Si la variable arduino n'est pas définie, c'est que l'instruction serial.Serial("com5", 9600) à levé une exception et que vous devriez avoir vu s'afficher "Vérifier le port série" avant que çà plante plus loin.

    Et l'erreur est de permettre au programme de continuer dans ce cas là.

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

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Si la variable arduino n'est pas définie, c'est que l'instruction serial.Serial("com5", 9600) à levé une exception et que vous devriez avoir vu s'afficher "Vérifier le port série" avant que çà plante plus loin.

    Et l'erreur est de permettre au programme de continuer dans ce cas là.

    - W

    Non, justement....je ne vois pas le message "vérifier le port série".....Voici la copie d'écran....Nom : ecran.jpeg
Affichages : 561
Taille : 106,2 Ko

    Je pense que ca doit être une simple faute de frappe, ou une ligne que j'ai peut être supprimé sans faire exprès....mais j'ai beau regarder le script, je ne vois pas ce que je dois changer....
    Je cherche encore.....N'hésitez pas à me faire part d'autres suggestions. Merci.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Vous exécutez ce script via spyder dans un environnement IPython: c'est un environnement de travail qui vous est spécifique et pour lequel stdout et stderr sont lus séquentiellement via des "pipes". L'ordre des messages n'est pas respecté et pas sur qu'il affiche la sortie sur stdout après un plantage.

    Lancez le programme normalement depuis un terminal en tapant python script.py ou python3 script.py ou corrigez le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import serial
     
    try:
        arduino=serial.Serial("com5", 9600)
    except:
        print("Vérifier le port série")
        exit()
    - W
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Par défaut BESOIN D'AIDE
    Bonjour. Je vous prie de m'aider à utiliser le protocole ASTM sous Python. Je souhaite interfacer un automate de laboratoire et un serveur. Le but est de recueillir les données analysées par l'automate (résultats des examens) sur le serveur et effectuer un traitement. Je peux configurer l'automate pour qu'il envoie les données. Mais je ne sais pas comment faire la réception sur l'ordinateur qui sera mon serveur.
    Merci de m'aider. yaokouakou@ivoiro.com

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,

    Salut,

    Citation Envoyé par prinobel Voir le message
    Je souhaite interfacer un automate de laboratoire et un serveur. Le but est de recueillir les données analysées par l'automate (résultats des examens) sur le serveur et effectuer un traitement.
    Pourquoi cannibaliser une discussion avec un sujet sans rapport avec la discussion originale?

    Citation Envoyé par prinobel Voir le message
    Je vous prie de m'aider à utiliser le protocole ASTM sous Python.
    A vous de voir s'il existe des bibliothèques permettant au programmeur Python de dialoguer avec ce protocole (un moteur de recherche internet est fait pour çà) et choisir celle qui sera la plus adaptée (on ne peut pas tester à votre place) à vos besoins (qu'on ne connaît pas).

    On ne pourra (essayer de) vous aider que si on peut reproduire (ou comprendre) des problèmes constatés: ce qui suppose que vous avez choisi une bibliothèque et écrit du code.

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

Discussions similaires

  1. Simulink sur arduino : Acquisition de données
    Par chfakht dans le forum Simulink
    Réponses: 0
    Dernier message: 11/02/2015, 02h15
  2. Acquisition de données avec un ActiveX External Interface
    Par Mjama dans le forum Interfaces Graphiques
    Réponses: 0
    Dernier message: 14/09/2010, 23h43
  3. Acquisition de données Agilent PSA E4440 avec Labview
    Par savoma2000 dans le forum LabVIEW
    Réponses: 1
    Dernier message: 04/08/2008, 16h55
  4. Probleme avec l'acquisition des données dans un port dans le serveur
    Par soufian2290 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 12
    Dernier message: 04/11/2007, 12h48

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