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 :

Droit sur le GPIO de Raspberry Pi4


Sujet :

Raspberry Pi

  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    791
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 791
    Points : 505
    Points
    505
    Par défaut Droit sur le GPIO de Raspberry Pi4
    bonjour ,

    Je suis toujours à essayer de piloter des GPIO d'un Raspberry PI 4 avec Lazarus

    J'utilise le lien suivant https://wiki.freepascal.org/Lazarus_...atus_of_a_port pour essayer de m'en sortir.

    J'ai donc copier/coller les unités "PiGpio.pas" et "Unit1.pas" pour recréer ces unités dans un programme Lazarus.

    Tous ce passe bien lors de la compilation sur le Raspberry. Mais j'ai l'exception suivante lors de l'exécution "Accès violation", pas très explicite.
    J'ai aussi un message d'erreur déclenchée dans le "FormActivate" de le Form ou se trouve la fonction "MapIO" m'indiquant "Error mapping gpio registry". Donc il semblerait que ce mapping ne soit pas réalisé.

    J'ai lu que pour utiliser cette unité/function, on doit avoir accès à : "/dev/mem".

    Pour avancer j'ai essayé cela : "sudo adduser pi gpio" et le système me répond que ' l'utilisateur "pi" appartient déjà au groupe "gpio" '

    Je connais quasiment rien à Linus, quelqu'un peut-il m'aider à résoudre ce problème. Pour avoir enfin des gpio qui fonctionne.

    merci à vous d'avance !
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 891
    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 891
    Points : 58 636
    Points
    58 636
    Billets dans le blog
    46
    Par défaut
    Bonsoir,,

    As-tu essayé d'exécuter ton programme avec sudo (sudo ./nom_du_programme) ?

  3. #3
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    791
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 791
    Points : 505
    Points
    505
    Par défaut
    Bonjour F-leb et merci pour votre intérêt

    Oui j'ai essayé le sudo ./ , et sans succès, j'explique ce problème et demande des informations à ce sujet dans le post "Exécution avec des privilèges admin" qui a été déplacé dans le forum Linux.

    Je ne sais plus trop ou poster entre Lazarus , Raspberry , linux !

    Je commence un peu à désespérer d'utiliser les GPIO, donc le Raspberry !

    J'ai essayé plusieurs bibliothèques , "PiGpio", "PascalIO" et une 3éme donc j'ai plus le nom en tête.
    Toutes semblent être utilisées et semblent fonctionnelles chez autrui.
    Tous les programmes de test et les bibliothèques liées au GPIO que j'essais se compilent correctement, mais génèrent une exception quand je les exécute, soit en mode débug, soit directement depuis le programme exécutable.

    Mais toutes ces bibliothèques demandent des droits admin, d'où mon dernier post.

    merci de vos aides.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  4. #4
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    791
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 791
    Points : 505
    Points
    505
    Par défaut
    re bonjour

    J'ai aussi essayé : sudo su , pour être administrateur si j'ai bien compris. et quand j'exécute mes programmes c'est pareil !
    peut-être que mon problème n'est pas lié au privilèges.

    Donc je ne sais plus quoi penser !
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  5. #5
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 891
    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 891
    Points : 58 636
    Points
    58 636
    Billets dans le blog
    46
    Par défaut
    Bonjour,
    Citation Envoyé par petitcoucou31 Voir le message
    J'utilise le lien suivant https://wiki.freepascal.org/Lazarus_..._the_GPIO_port pour essayer de m'en sortir.
    Je ne sais pas ce que tu utilises exactement, mais tout m'a l'air périmé et obsolète depuis un moment sur cette page...

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 218
    Points : 623
    Points
    623
    Par défaut
    bonjour, je ne connais pas la librairie que vous utiliser, mais avez vous deja essayez de faire un test simple avant de se lancer dans un truc plus complexe?
    voici un cligontemment simple du gpio:

    Code bash : 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
     
     
    #faire clignoter le rpi5 en bash: 
    echo gpio2_on
    pinctrl set 2 op dh
    sleep 1
     
    echo gpio2_off
    pinctrl set 2 op dl
    sleep 1
     
    echo gpio2_on
    pinctrl set 2 op dh
    sleep 1
     
    echo gpio2_off
    pinctrl set 2 op dl
    sleep 1

    editer dans un fichier testgpio avec nano ,ensuite le rendre executable avec un

    chmod +x testgpio

    ensuite lancer l executable:

    ./testgpio

    mettre une led ou un multimetre en gpio2 normalement il n y aura pas de probleme de privilege, a tester sous bookworm noobs et dans
    un dossier /home/pi

    pour cela si c est pas le cas

    cd ~
    nano testgpio

  7. #7
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    791
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 791
    Points : 505
    Points
    505
    Par défaut
    Bonjour

    Merci à vous pour toutes vos aides.

    Mon problème venait du mapping de la mémoire (qui déclenchait une exception) et auquel tous mes essais pour avoir les droit sont restés infructueux.

    J'ai utilise l'unité "PiGpio.pas" dans laquelle j'ai fait la modification (trouvé sur le net) suivante en ligne 129 .

    Remplacement de "/dev/mem" par "/dev/gpiomem"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function TIoDriver.MapIo: boolean;
    begin
     Result := True;
    //  fd := fpopen('/dev/mem', O_RdWr or O_Sync); // Open the master /dev/memory device
         fd := fpopen('/dev/gpiomem', O_RdWr or O_Sync); // Open the master /dev/memory device
        if fd < 0 then
      begin
        Result := False; // unsuccessful memory mapping
      end;
    end;
    Je joins un petit programme de test pour les fonctions d'écriture et de lecture des Gpios avec l'unité "Pigpio.pas" modifiée.
    Cela fonctionne sur mon environnement : Raspberry PI 4 B, Raspbian , Lazarus 2.0.0 + dfsg-2 et FPC 3.0.4.

    Test_Gpio.zip

    bonne journée.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Installation CentOS sur Raspberry pi4
    Par erwannoo dans le forum Raspberry Pi
    Réponses: 0
    Dernier message: 14/09/2023, 17h25
  2. Impossible d’installer MQTT sur Raspberry PI4
    Par didiersee dans le forum Raspberry Pi
    Réponses: 2
    Dernier message: 20/03/2020, 10h10
  3. Mount / fstab - Problème de droit sur une partition
    Par Chance666 dans le forum Administration système
    Réponses: 5
    Dernier message: 17/01/2005, 16h57
  4. [JSP][Javascript] click droit sur un lien
    Par Stessy dans le forum Servlets/JSP
    Réponses: 22
    Dernier message: 24/09/2004, 11h14
  5. [Système] Droits sur un fichier
    Par maxvador dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 16/07/2004, 18h06

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