1. #1
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut Trouver l'adresse des ports sur Raspberry 3

    bonjour je souhaiterais faire dialoguer un rapsberry 3 avec un arduino via usb le probleme c est que je ne trouve pas l'adresse des ports usb j'ai bien trouve des commandes pour ordinateur mais elles ne fonctionnent pas sur mon montage. l'un de vous aurait il quelques connaissances a partager ?

  2. #2
    Rédacteur/Modérateur

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : janvier 2009
    Messages : 8 831
    Points : 34 683
    Points
    34 683
    Billets dans le blog
    9

    Par défaut

    Bonjour,

    Normalement, cela se passe dans le dossier /dev (commande ls /dev/tty*). Tu as pas mal de détails ici.

  3. #3
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2011
    Messages : 257
    Points : 519
    Points
    519

    Par défaut

    Bonjour,

    faire dialoguer un rapsberry 3 avec un arduino via usb
    Tu souhaites dialoguer via l'USB : j'imagine que l'USB est le support physique mais que derrière c'est une "simple" liaison série ?
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  4. #4
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    merci de vos réponses. oui c est une liaison série j'ai trouvé les commandes en python (j'avoue ne pratiquer ce langage que depuis 3-4 semaines, j'ai encore du boulot ) et l'arduino est déjà configuré et programmé dans ce sens.

    je pense avoir réussi à trouver l'adresse (ACMO) mais je bloque sur write qui me demande un paramètre que je ne trouve pas (write(self,data)) que met on pour self ? (je doute que taper frites-ketchup pour passer la commande et blaguer lui plaise)

  5. #5
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : janvier 2011
    Messages : 257
    Points : 519
    Points
    519

    Par défaut

    Dans ce cas, essayes /dev/ttyUSBx où x peut être 0,1,2 ...
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  6. #6
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    apparement il y a des fichiers tty (puis d'autres lettres/chiffres) dans le repertoire je pense avoir trouve je bloque simplement sur write et ses parametres(voir message modifie ci dessus)

  7. #7
    Expert éminent
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    6 754
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 6 754
    Points : 9 204
    Points
    9 204

    Par défaut

    C'est plutôt "/dev/ttyACMX" pour parler avec l'arduino. Attention, il faudra peut-être changer les droits d'accès en écriture et lecture.
    Si tu as installé l'IDE Arduino, au moment de la connexion de la carte tu devrais voir apparaître le numéro du port.

    Un petit exemple :
    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
     
    # ouvrir un port avec un débit de 1200 bauds, provoque un redémarrage de la carte,
    # équivalent à l'appui sur le bouton Reset
    import serial
    print('Ok')
    ser = serial.Serial()
    ser.port='/dev/ttyACM0'
    ser.baudrate=1200
    ser.bytesize = serial.EIGHTBITS 
    ser.parity = serial.PARITY_NONE
    ser.stopbits = serial.STOPBITS_ONE
    ser.xonxoff = False     
    ser.rtscts = True     
    ser.dsrdtr = True
    ser.open()
    ser.close()
    print('Terminé')

  8. #8
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    3 553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 3 553
    Points : 9 354
    Points
    9 354
    Billets dans le blog
    1

    Par défaut

    Tu peux changer les droits d'un tty ? Tu n'es pas obligé de passer par des règles udev ou de lancer ton scrip via sudo ?

  9. #9
    Expert éminent
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    6 754
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 6 754
    Points : 9 204
    Points
    9 204

    Par défaut

    Je pense que je me suis mal exprimé sur ce point Ma phrase sous-entend qu'il faut utiliser chmod.
    Donc pour préciser ma pensée : Il faut ajouter l'utilisateur au groupe dialout pour ne pas être obligé de lancer les script en sudo.

    voilà un lien : http://www.leunen.com/linux/2012/11/...-ubuntudebian/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ sudo usermod -aG dialout votre_login

  10. #10
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    1 870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 1 870
    Points : 5 897
    Points
    5 897

    Par défaut

    Salut,
    Sous Debian ou Mint et sur un équivalent de Arduino, j'ai été obligé de créer une règle udev dans /etc/udev/rules.d/ pour éviter de lancer mon IDE en root. J'ai créé un fichier que j'ai nomé 60-tilaunchpad.rules

    # This file allows access to TI MSP430 Launchpad
    # See udev(7) for syntax.
    #


    SUBSYSTEM=="usb",ATTR{idVendor}=="0451",ATTR{idProduct}=="f432",GROUP="dialout",MODE="666"
    Pour connaître les valeurs de idVendor et idProduct, il suffit de faire un lsusb dans un console lorsque le Arduino est branché.

    Ensuite j'ai donné les droits à mon fichier (mais je pense que cela n'est pas nécessaire puisque j'ai créé un règle, dans le doute, je l'ai quand même fait)

    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    # chmod 666 /etc/udev/rules.d/60-tilaunchpad.rules

    Puis j'ai redémarré udev.
    Code BASH : Sélectionner tout - Visualiser dans une fenêtre à part
    # /etc/init.d/udev restart

    Plus de problème de droit sur ttyACMx
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  11. #11
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    donc si je comprends bien tous vos échanges je dois utiliser l'IDE de l'arduino et ensuite lui donner les droits d'accès aux ports usb. je voudrais utiliser le pi comme un 'cerveau' et l'arduino comme un écran/clavier/souris pensez vous que ca sera viable ?

  12. #12
    Expert éminent
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    6 754
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 6 754
    Points : 9 204
    Points
    9 204

    Par défaut

    J'ai évoqué l'IDE Arduino car j'ai supposé que tu l'utilisais pour programmer l'Arduino.

    Mais une fois que ta platine est programmée tu peux utiliser un langage quelconque (tu as parlé de Python) pour les échanges entre l'Arduino et le Py. La petite difficulté est qu'il faut autoriser les accès sur le port série pour ne pas travailler en root pour la communication et de savoir sur quel port série tu envoies ou lis les données. E t bien sûr il faut que le port série soit configuré (débit, bits de parité, bits de données, etc.) de la même manière des 2 côtés.

    Citation Envoyé par eponge
    l'arduino comme un écran/clavier/souris pensez vous que ca sera viable ?
    l'arduino en tant qu'écran, ne comprends pas bien où tu veux en venir. Pour le reste, sache, par exemple que Leonardo est capable d'émuler un clavier qwerty et une souris.

  13. #13
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    j'ai mis un écran tactile sur l'arduino et je peux le programmer comme un ecran/clavier/souris

  14. #14
    Expert éminent
    Avatar de Auteur
    Profil pro
    Inscrit en
    avril 2004
    Messages
    6 754
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2004
    Messages : 6 754
    Points : 9 204
    Points
    9 204

    Par défaut

    J'aimerais comprendre quelque chose : à quoi sert ton Arduino ? Car tu peux connecter un écran, un clavier, une souris sur le Py et aussi faire des calculs. La carte possède 40 ports GPIO, des ports série (I2C, SPI, etc). A moins que cela soit pour de l'apprentissage ?

  15. #15
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    en gros je veux rendre l ensemble transportable branché à une batterie donc l'écran tactile servant de sortie/entrée, le gpio va servir aussi pour l'instant je n'en suis qu'au début.

  16. #16
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    bonjour de retour après quelques jours. j'ai tenté vos méthodes et toutes me posent des problèmes la commande donnée par auteur m'envoie un retour comme quoi mon host n est pas reconnu. il y a t il un moyen pour trouver le bon user ? Pour les autres je tiens à signaler que je connais pas non plus linux donc l emplacement des fichier bash m est inconnu(a moins que ca ne soit un logiciel). j'ai réussi à obtenir "Bus 001 Device 010: ID 2341:0042 Arduino SA Mega 2550 R3 (CDC ACM)" avec la commande dans la console (je n'ai pas recopié le reste la marque du clavier et de la souris optique n'étant pas utile) quand j'ai tenté de faire un nouveau fichier '60-tilaunchpad.rules' je me suis fait jeté d'où mon hésitation pour la suite. des informations supplémentaires seraient les bienvenues, merci.

  17. #17
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    1 870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 1 870
    Points : 5 897
    Points
    5 897

    Par défaut

    Citation Envoyé par eponge Voir le message
    j'ai réussi à obtenir "Bus 001 Device 010: ID 2341:0042 Arduino SA Mega 2550 R3 (CDC ACM)" avec la commande dans la console (je n'ai pas recopié le reste la marque du clavier et de la souris optique n'étant pas utile) quand j'ai tenté de faire un nouveau fichier '60-tilaunchpad.rules' je me suis fait jeté d'où mon hésitation pour la suite. des informations supplémentaires seraient les bienvenues, merci.

    Je m'excuse, je ne m'adressais pas à toi lorsque j'ai répondu plus haut (sur les règles udev qui permettent de donner les droits à l'utilisateur pour dialoguer avec ttyACM0.)
    Ma réponse pourrait quand même te servir mais pas là tout de suite.

    Citation Envoyé par eponge Voir le message
    ]donc si je comprends bien tous vos échanges je dois utiliser l'IDE de l'arduino et ensuite lui donner les droits d'accès aux ports usb
    Je vois aussi qu'il y a peut être une ambiguïté avec l'IDE Arduino qui n'a rien a voir la dedans.

    ***************************************************

    Si je reformule la demande :
    Tu souhaites savoir sur quel ttyACM de ton Raspberry, est connecté le Arduino ?
    Et une fois le ttyACM connu, comment dialoguer avec le Arduino au travers du ttyACM ?


    Cela laisse sous entendre que le Arduino a déjà été programmé, avec l'IDE Arduino. Et que le programme qu'il y a dedans est fonctionnel à 100%, c'est à dire qu'il fait quelque chose de concret ! Tu confirmes donc qu'on ne part pas sur un problème à 2 inconnus, genre on essaye de mettre au point un programme sur Raspberry alors qu'on est pas sur que le programme dans le Arduino fonctionne..... souvent dans ce cas de figure, on arrive jamais a trouver le problème car on ne sait simplement pas de quel côté sa merde.

    Sommes nous à 100% d'accord ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  18. #18
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    bonjour pour l'instant l'arduino est programmé pour envoyer et recevoir des messages via la communication serie. je dois attendre de débloquer mon problème de communications avec le rapsberry pour terminer le programme(je sais ce que je veux faire mais je m'adapte aux problèmes rencontrés). quand je connecte l'arduino j'ai un fichier ttyACMO qui apparait je pense donc que c'est lui qui est en liaison avec l'arduino. pour l'instant toute utilisation de la commande write() ne marche pas. ce qui corroborerait le manque de permission.

  19. #19
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Ancien développeur matériel électronique (Hard/Soft)
    Inscrit en
    avril 2002
    Messages
    1 870
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ancien développeur matériel électronique (Hard/Soft)
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 1 870
    Points : 5 897
    Points
    5 897

    Par défaut

    Si c'est une question de droit alors connectes ton Arduino, ouvre une console est entre cette commande :
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "x" > /dev/ttyACM0

    Ça devrait envoyer le caractère 'x' sur le ttyACM0.

    Si la réponse est "permission non accordée" alors c'est bien une question de droit.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  20. #20
    Futur Membre du Club Avatar de eponge
    Homme Profil pro
    chomeur
    Inscrit en
    février 2017
    Messages
    26
    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 : 26
    Points : 7
    Points
    7

    Par défaut

    ca envoi seulement ce message ou tous ? si le texte est autre ?
    test réalisé il accepte la commande mais l'arduino ne réagit pas (ou trop rapidement peut etre)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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