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

Administration système Discussion :

Activation de commande par branchement usb


Sujet :

Administration système

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Activation de commande par branchement usb
    Bonjour à tous j'écrit ce message afin de demander de l'aide à quelqu'un.

    Je suis étudiant et on m'a donné comme mission pour mon stage de faire en sorte que sur un raspberry lorsqu'on connecte un chargeur de téléphone par usb celui-ci active un programme ou une commande qui lance une vidéo.
    Actuellement j'ai réussi à faire un programme python qui permet de lancer une vidéo ainsi qu'une commande linux cependant je n'arrive pas à trouver le moyen de l'activer par usb
    Merci d'avance

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 452
    Points : 43 101
    Points
    43 101
    Par défaut
    Regardes du coté de udev.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup cela m'a beaucoup aidé cependant ma règle ne veut pas s'appliquer et je ne comprends pas pourquoi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="05ac", ATTRS{idProduct}=="12a8", RUN+="/root/ConsoleVersPythonS9.py"
    J'ai comme id pour mon chargeur apple 05ac:12a8
    Je pense que mon erreur se situe dans le subsystem mais je préférais demander si ma règle était juste dans l'écriture pour savoir quoi modifier.

  4. #4
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par B78A98 Voir le message
    ma règle ne veut pas s'appliquer et je ne comprends pas pourquoi
    t'as essayé de lancer plutôt RUN+="/usr/bin/python /root/ConsoleVersPythonS9.py" ?
    le script python n'est qu'un fichier texte, pas un binaire, il n'a pour lui que son éventuel shebang que udev n’interprète peut-être pas

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Problème rules usb
    Bonjour j'ai un problème d'exécution de ma rules sur mon raspberry mais je n'arrive pas à voir le problème et j'aurais besoin d'aide de manière urgente car je dois le finir pour vendredi 8
    Ceci est mon script python
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import os
    os.system("omxplayer SamsungGalaxyS9.mp4 &")
    print("lecture")
    Et la règle que j'ai essayé de faire est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{prouct}=="SAMSUNG_Android", RUN+="/root/CVPS9.py"
    J'ai essayé aussi avec du .sh mais fonctionne pas.
    Merci d'avance

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Désolé mais non, j'ai essayé mais ça ne fonctionne toujours, je pense que le problème est dans la lecture du script mais je ne sais pas comment le résoudre

  7. #7
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Bonjour,

    Déjà, ton system détermine comment que ton script c'est du python ?

    Il manquerait pas la première ligne avec le shebang qui va bien ?
    Cordialement.

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Bonjour,

    Déjà, ton system détermine comment que ton script c'est du python ?

    Il manquerait pas la première ligne avec le shebang qui va bien ?
    Je l'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RUN+="/usr/bin/python /root/ConsoleVersPythonS9.py"
    Mais ça n'a pas fonctionner mais merci de ton intervention

  9. #9
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Ok, et la faute,en rouge, c'est le copier/coller ou elle est réelle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{prouct}=="SAMSUNG_Android", RUN+="/root/CVPS9.py"
    Sinon, dans ton script tu rajoutes en toute première ligne (et vraiment la première ligne, pas une ligne vide avant) :
    Tu le rends exécutable et tu devrais pouvoir te passer du /usr/bin/python dans le RUN+
    Cordialement.

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Ok, et la faute,en rouge, c'est le copier/coller ou elle est réelle ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ACTION=="add", SUBSYSTEM=="usb", ATTRS{prouct}=="SAMSUNG_Android", RUN+="/root/CVPS9.py"
    Sinon, dans ton script tu rajoutes en toute première ligne (et vraiment la première ligne, pas une ligne vide avant) :
    Tu le rends exécutable et tu devrais pouvoir te passer du /usr/bin/python dans le RUN+
    Qu'est ce que tu entend dans rendre éxécutables ? et j'ai essayé et ça ne marche toujours pas
    Sinon j'avais pensé à modifier la rules qui fait apparaitre une appli permettant d'ouvrir ou non le périphérique mais je ne trouve rien sur google

  11. #11
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod +x /root/CVPS9.py
    Tu as corrigé l'erreur ?
    Cordialement.

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod +x /root/CVPS9.py
    Tu as corrigé l'erreur ?
    le rouge c'était du copié collé mais maintenant plus rien fonctionne ça reste bloqué au terminal avec une impossiblité d'ouvrir le fichier

  13. #13
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Je ne comprends quel fichier tu n'arrives plus à ouvrir et pourquoi ton terminal est bloqué...

    Soit dit en passant, je ne vois pas trop comment ton truc va ouvrir omxplayer, car si je ne me trompe pas, celui-ci est graphique, il lui faut donc connaitre le display du serveur X.

    Et pareil pour le print de ton script, tu ne le verras jamais, puisque la commande ne s’exécute pas dans un terminal.

    Sinon, comment as-tu récupéré les attributs de ton périphérique usb ?
    Cordialement.

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Je ne comprends quel fichier tu n'arrives plus à ouvrir et pourquoi ton terminal est bloqué...

    Soit dit en passant, je ne vois pas trop comment ton truc va ouvrir omxplayer, car si je ne me trompe pas, celui-ci est graphique, il lui faut donc connaitre le display du serveur X.

    Et pareil pour le print de ton script, tu ne le verras jamais, puisque la commande ne s’exécute pas dans un terminal.

    Sinon, comment as-tu récupéré les attributs de ton périphérique usb ?
    le projet qu'on m'a donné à faire est de faire en sorte sur un raspberry lorsqu'on branche un chargeur celui-ci lance une vidéo.
    Sur raspberry j'ai réussi à lancer des vidéo grâce à omxplayer et j'ai fait un script en python qui me permet de lancer cette commande cependant je n'ai pas trouver le moyen de lier les deux
    Donc voila mon problème.

  15. #15
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Personnellement, J'ai fait quelques tests avec une clé usb:

    Ce que j'ai dans mon fichier (/etc/udev/rules.d/99-test-toto.rules):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ACTION=="add", ATTR{product}=="U3 Cruzer Micro", RUN+="/bin/sh -c '/bin/echo Insertion de la cle >> /root/events'"
    ACTION=="remove", ENV{ID_SERIAL_SHORT}=="351552117B83601A", ENV{ID_MODEL_FROM_DATABASE}=="Cruzer Micro U3", RUN+="/bin/sh -c '/bin/echo Retrait de la cle >> /root/events'"
    Et mon fichier /root/events se rempli bien avec le message selon que je branche ou debranche ma clé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # cat /root/events 
    Insertion de la cle
    Retrait de la cle
    Et comme je le disais dans mon post précédent, udev n'a aucun lien avec ton terminal ou ta session X, ou même ton env utilisateur. Il faut que tes commandes se débrouillent pour trouver ta session X par exemple pour pouvoir lancer une commande graphique.
    Pour ma part, on voit que cela fonctionne car je redirige ma sortie vers un fichier.
    Cordialement.

  16. #16
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Personnellement, J'ai fait quelques tests avec une clé usb:

    Ce que j'ai dans mon fichier (/etc/udev/rules.d/99-test-toto.rules):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ACTION=="add", ATTR{product}=="U3 Cruzer Micro", RUN+="/bin/sh -c '/bin/echo Insertion de la cle >> /root/events'"
    ACTION=="remove", ENV{ID_SERIAL_SHORT}=="351552117B83601A", ENV{ID_MODEL_FROM_DATABASE}=="Cruzer Micro U3", RUN+="/bin/sh -c '/bin/echo Retrait de la cle >> /root/events'"
    Et mon fichier /root/events se rempli bien avec le message selon que je branche ou debranche ma clé.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # cat /root/events 
    Insertion de la cle
    Retrait de la cle
    Et comme je le disais dans mon post précédent, udev n'a aucun lien avec ton terminal ou ta session X, ou même ton env utilisateur. Il faut que tes commandes se débrouillent pour trouver ta session X par exemple pour pouvoir lancer une commande graphique.
    Pour ma part, on voit que cela fonctionne car je redirige ma sortie vers un fichier.
    Donc pour que je finisse mon projet demain il faut que je fasse en sorte que la commande trouve ma session root afin de pouvoir lancer le programme en graphique mais j'avoue ne pas savoir comment faire peux tu m'aider ?

  17. #17
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Ça risque d'être compliqué de mon coté, je ne connais pas du tout omxplayer et je ne suis pas chez moi, donc je ne peux rien installer pour faire des tests...

    Donc, déjà, est-ce que omxplayer ouvre bien une interface graphique comme vlc ou ton navigateur web par exemple ?

    Je suppose que tu ouvres un terminal, et là tu tape ta commande omxplayer ?
    Si oui, depuis le terminal ou tu lances omxplayer, peux-tu me dire si la variable DISPLAY existe et ce qu'elle contient:
    Et une autre question: as-tu fait un test qui ressemble à la ligne ACTION=="add" que j'ai testé mais avec ton intitulé ATTR{product} pour vérifier déjà que cela fonctionne bien chez toi ?
    Cordialement.

  18. #18
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    j'ai décidé de le faire seulement par script python car j'ai du formater ma carte sd cependant je n'arrive par à trouver le moyen de dire tu lance cette quand ce port usb est allumé
    Aurais tu des aider pour ça ?

  19. #19
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 280
    Points : 12 729
    Points
    12 729
    Par défaut
    Pas tout compris...

    Tu lances ton script python et il attend de voir que le port usb soit allumé pour lancer tes commandes.

    C'est bien ça ?
    Cordialement.

  20. #20
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par disedorgue Voir le message
    Pas tout compris...

    Tu lances ton script python et il attend de voir que le port usb soit allumé pour lancer tes commandes.

    C'est bien ça ?
    Le but c'est quand on branche un cable usb, cela active le script python qui lance la vidéo

Discussions similaires

  1. commande ouverture tiroir caisse par port USB
    Par Pascal88pm dans le forum 4D
    Réponses: 1
    Dernier message: 31/08/2010, 11h41
  2. Réponses: 17
    Dernier message: 24/04/2009, 10h14
  3. Authentification par clé USB
    Par jayado dans le forum Sécurité
    Réponses: 5
    Dernier message: 03/04/2006, 19h12
  4. Réseau local par ports usb ?
    Par progfou dans le forum Hardware
    Réponses: 3
    Dernier message: 17/03/2006, 20h59
  5. Installation par clef usb sous debian
    Par troumad dans le forum Debian
    Réponses: 3
    Dernier message: 16/03/2006, 20h49

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