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

Raspberry Pi Discussion :

Trouver l'adresse des ports sur Raspberry 3


Sujet :

Raspberry Pi

  1. #21
    Responsable Arduino et Systèmes Embarqués


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    Installe un terminal série sur le Pi, minicom ou cutecom, pour espionner le port.

  2. #22
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    non pas de réaction, connecter le berry sur un ordi via usb pour verifier ?

  3. #23
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    Ton port série est configuré de la même manière (débit, bits de données, bits de stop...) des 2 côtés ?

  4. #24
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Ok.
    Je voulais écarter un éventuel problème de droit.

    En complément des conseils des copains, peux tu nous poster ton programme dans le Arduino ?

    Pour la commande que je t'ai donné, en effet si tu avais tapé une chaîne de caractères elle serait partie mais le port ttyACM0 côté RPi n'était pas configuré (mon but était de m'assurer que tu n'allais pas te faire jeter d'entrée de jeu avec une permission non accordée sinon on aurait pu chercher longtemps)
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #25
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    le port série est configuré 'par défaut' des deux cotés (même configuration j'ai vérifié) pour le programme de l'arduino je pourrais vous faire un résumé ça serait plus 'lisible'. c'est un méga avec un écran tactile que j'ai programmé pour faire plusieurs 'écrans' (principal, option, heure, calculatrice, clavier, etc., etc.) donc là je n'utilise que 'l'écran principal' (dont j'ai simplifié le code pour éviter les interférences entre programmes) normalement quand il reçoit un message avec certaines particularités son affichage change jusqu'à la réinitialisation qui avant les tests de communication marchait, maintenant il faut faire reset ou couper l'alimentation pour le faire. je pense aussi recopier les messages d'erreur quand je tente d'envoyer des messages en python(ce qui pour moi montre que c'est de ce coté qu'est l'erreur).

  6. #26
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    voici ce que m'annonce le programme quand je tente un run:
    Traceback (most recent call last):
    File"/usr/lib/python3/dist-packages/serial/serialposix.py". Line 275, in open self.fd =os.open(self.portstr. os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)
    FileNoFoundError: [Errno 2] No such File or directory: '/dev/ttACMO'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/home/pi/Desktop/programme python/projet/communication.py", line 15, in <module>
    comm.open()
    File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 278, in open raise SerialException("could not open port %s (self._port, msg))
    serial.serialutil.SerialException: could not open port /dev/ttyACMO: [Errno 2] No such file or directory: '/dev/ttyACMO

    pour le programme de l'écran je me penche dessus

  7. #27
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    je peux voir ton script python ? tu utilises bien la bibliothèque pySerial ?

    Le script que j'ai posté précédemment fonctionne ? Ou tu as le même type d'erreur ?

  8. #28
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    j'ai justement utilisé le script (en adaptant les paramètres pour correspondre) mis ici pour testé et là j'ai recopié l'erreur telle quelle. d'ailleurs l'erreur affichée avec mon programme est la même.

  9. #29
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Postes les deux programmes s'il te plaît.
    Celui de Arduino et celui du Raspberry car là on tourne en rond.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #30
    Responsable Arduino et Systèmes Embarqués


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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 579
    Points : 56 603
    Points
    56 603
    Billets dans le blog
    40
    Par défaut
    No such file or directory: '/dev/ttyACMO
    ttyACM0 !! Avec un zéro, et non un 'O'.

  11. #31
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    ah effectivement je confondais O et 0 autant pour moi. la page d'erreur a depuis pas mal diminuée :
    Traceback(most recent call last):
    File "/home/pi/Desktop/programme python/projet/communication.py", line 16, in <module>
    comm.write('<ecran=1>')
    File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 475, in write
    n=os.write(self.fd,d)
    TypeError: 'str' does not support the buffer interface
    et voici le programme python que j'utilise :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import serial
     
    comm=serial.Serial()
    comm.port='/dev/ttyACM0'
    comm.baudrate=9600
    comm.bytesize= serial.EIGHTBITS
    comm.parity=serial.PARITY_NONE
    comm.stopbits=serial.STOPBITS_ONE
    comm.xonxoff=false
    comm.rtscts=true
    comm.dsrdtr=true
    comm.open()
    comm.write('<ecran=1>')
    comm.close()
    comme vous pouvez le lire j'ai juste adapté le code donné ici. <ecran=1> la forme m'est nécessaire pour l'arduino il est programmé pour recevoir et traiter tout message encadré par < et > avec = au milieu ce qui lui donne un ordre pour régler un paramètre quel qu'il soit. après je ne pense pas qu'il soit responsable des problèmes ici (la je pencherais plus pour mon ignorance pythonesque) quant à mettre son programme ici vu la tartine je préfèrerais éviter enfin si l'un de vous le veut vraiment je le ferais(de plus lui aussi évolue suivant l'inspiration de son créateur).

  12. #32
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Tu utilises probablement la version 3 de Python ?
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import serial
     
    comm=serial.Serial()
    comm.port='/dev/ttyACM0'
    comm.baudrate=9600
    comm.bytesize= serial.EIGHTBITS
    comm.parity=serial.PARITY_NONE
    comm.stopbits=serial.STOPBITS_ONE
    comm.xonxoff=false
    comm.rtscts=true
    comm.dsrdtr=true
    comm.open()
    comm.write(b'<ecran=1>')
    comm.close()

    Dans le programme ci dessus j'ai juste changé une ligne avec cette modification comm.write(b'<ecran=1>')
    Tu peux refaire un essai avec ce programme ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  13. #33
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    apparement ca fonctionne

  14. #34
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 185
    Points : 11 551
    Points
    11 551
    Par défaut
    Apparemment ?
    C'est à dire ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  15. #35
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    après un open() il faut laisser le temps à l'arduino de s'initialiser ! Ce qui est plus ou moins long selon la carte : ajoute un time.sleep(1) et importe la bibliothèque time
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import serial
    import time
    #.....
    comm.open()
    time.sleep(1)
    comm.write(b'<ecran=1>')
    comm.close()

  16. #36
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    je dis apparement car l'arduino ne semble rien recevoir et ce n est pas les paramètres de com vu que dans l autre sens le raps recoit bien les informations. je vais voir pour le temps de latence.

    temps d'attente ne change rien bon bah je vais revoir le prog sur l'arduino pas grave merci de votre aide

  17. #37
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    Essaye ceci :
    Arduino :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void setup() 
    {
      Serial.begin(9600);
    }
     
    void loop() 
    {
     
      if (Serial.available())
      {
        Serial.print(Serial.readStringUntil("\n"));
      }
      delay(500);
     
    }


    Python
    Code python : 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
    32
    33
    import serial
    import time
     
    ser = serial.Serial()
    ser.port='/dev/ttyACM0'
    ser.baudrate = 9600
    ser.bytesize = serial.EIGHTBITS 
    ser.parity = serial.PARITY_NONE
    ser.stopbits = serial.STOPBITS_ONE
    ser.timeout = 10
    ser.xonxoff = False     
    ser.rtscts = True     
    ser.dsrdtr = True
    ser.open()
    print('Ouverture du port serie')
     
     
    time.sleep(2)   # laisser le temps à l'arduino de s'initialiser
                    # +/- long selon la carte
     
    ser.flushInput()
    ser.flushOutput()
    print("envoi des données...")
    ser.write("Hello World !\n".encode("utf-8"))
    print(ser.readline())
     
    time.sleep(1)
    ser.write("Coucou !\n".encode("utf-8"))
    print(ser.readline())
     
    time.sleep(1)
    ser.close()
    print('Terminé')

    Le script Python envoie à l'Arduino un message qui est à nouveau transmis au script puis affiché dans la console.

  18. #38
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    alors là joli auteur! ca marche bien !(enfin sauf pour mes fautes de frappes mais bon passons) là tu m'as montré je pense des informations qui me seront très utiles!

    encore merci à tous de votre aide et de votre patience

  19. #39
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 646
    Points : 11 135
    Points
    11 135
    Par défaut
    fautes de frappe ? Où donc ?

    Citation Envoyé par eponge
    là tu m'as montré je pense des informations qui me seront très utiles!
    tu peux nous en dire plus ?

  20. #40
    Membre à l'essai Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2017
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2017
    Messages : 76
    Points : 12
    Points
    12
    Par défaut
    entre autres pour python le problème lié à write() et surtout sa solution, ensuite visiblement des corrections sur mon programme dans l'arduino et un exemple qui fonctionne.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Trouver le nom des ports COM sur le PC
    Par megamario dans le forum VB.NET
    Réponses: 6
    Dernier message: 02/10/2014, 14h18
  2. [Config] Modification des ports sur BOXI3
    Par lvandeginste dans le forum Administration-Migration
    Réponses: 5
    Dernier message: 07/06/2012, 11h42
  3. [Palm] Adresses de ports sur PALM
    Par barney94 dans le forum Mobiles
    Réponses: 2
    Dernier message: 10/02/2008, 20h18
  4. programme pour trouver l'adresse du port d'un élément
    Par nanou1983 dans le forum Windows Forms
    Réponses: 28
    Dernier message: 20/09/2007, 09h32
  5. connaitre les adresses des ports d'E/S
    Par duplo dans le forum Windows XP
    Réponses: 3
    Dernier message: 13/08/2006, 11h23

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