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 :

Récupérer des données RS232


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut Récupérer des données RS232
    Bonjour

    J'essaie de prendre des données sur un PENTRA 60, à partir du Cable RS232. Les données passent par le cable serial.

    J'apprend à coder avec Python et j'ai fait un petit code pour recuperer les données en question.

    Voici mon code:
    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
     
    import serial
     
    # com port must be set here:
    port = "COM11"
    baud = 38400
     
    ser = serial.Serial(port, baud, timeout=1)
        # open the serial port
    if ser.isOpen():
         print(ser.name + ' is open...')
     
    while True:
        cmd = input("Enter command or 'exit':")
     
        if cmd == 'exit':
            ser.close()
            exit()
        else:
            ser.write(bytes.fromhex(cmd) + "\r\n".encode('ascii'))
            out = ser.read()
            print('Receiving... :'+out.decode('ascii'))
     
    # close per default
    ser.close()
    Malheureusement, j'ai une erreur comme vous le verrez en piece jointe.

    Je ne trouve pas de solution depuis.

    Pouvez-vous m'aidez s'il vous plait
    Images attachées Images attachées   

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

    Citation Envoyé par Moonyadza Voir le message
    Malheureusement, j'ai une erreur comme vous le verrez en piece jointe.
    L'erreur vous dit juste que le PENTRA 60 ne retourne ni de l'ASCII, ni de l'UTF-8.

    Comme pas grand monde dispose de cet équipement, il n'y a que vous pour ouvrir la documentation technique de l'appareil et vérifier que le format des messages retournés est bien celui que vous attendez.

    Si tel est le cas, peut être que le setting du port (vitesse, parité,...) est incorrect.

    En attendant d'avoir vérifié tout çà, vous pouvez toujours afficher les bytes reçus sous la forme de nombre hexadécimaux avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            print('Receiving... :'+binascii.hexlify(out))
    sans oublier l'import de binascii.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2019
    Messages : 2
    Par défaut
    Merci pour votre réponse.
    La vitesse et la parité sont réglées comme indiqué dans la documentation.
    Quant au format des données il n'y a pas grand chose dessus.

    Jai essayé d'afficher les bytes recu en hexadecimaux mais il me retourne une erreureNom : binascii.png
Affichages : 890
Taille : 178,1 Ko

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    ah oui, désolé, il faut remplacer le '+' par une ',':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             print('Receiving... :', binascii.hexlify(out))
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/05/2015, 12h00
  2. Récupérer des données via le port usb
    Par matmuth dans le forum C++Builder
    Réponses: 12
    Dernier message: 11/05/2005, 16h34
  3. Comment récupérer des données de Outlook Express ?
    Par frenchsting dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 29/04/2005, 11h07
  4. Récupérer des données Excel vers Interbase ...
    Par Djedjeridoo dans le forum InterBase
    Réponses: 2
    Dernier message: 20/07/2003, 18h16
  5. cherche module ou langage pour récupérer des données audio..
    Par Ry_Yo dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 12/05/2003, 17h44

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