Accueil | Mini ordinateur : Raspberry Pi, Orange Pi, cartes de développement... | Orange Pi (Armbian) : installer la librairie WiringOP (équivalent WiringPi)

Orange Pi (Armbian) : installer la librairie WiringOP (équivalent WiringPi)

La librairie WiringPi qui permet d’utiliser le connecteur d’extension (GPIO) des Raspberry PI a été adaptée à l’Orange Pi. Le code source de la librairie est disponible sur GitHub à cette adresse https://github.com/zhaolei/WiringOP. La version pour Orange Pi prend le nom de WiringOP. De nombreux exemples sont disponibles dans le répertoire examples et montrent comment l’utiliser avec quelques cartes d’extension courantes : PiFace, PiGlow, GertBoard… Il ne reste plus qu’à tester tout ça !

Matériel utilisé

Pour ce tutoriel, j’ai utilisé un Orange Pi Lite (version Wi-Fi) mais la méthode devrait s’appliquer à toutes la gamme (à vérifier pour l’Orange Pi Zero qui possède un connecteur 26 broches au lieu de 40). J’ai installé la distribution Armbian (version Desktop).

Installation de la librairie WiringOP

Connectez-vous sur le compte utilisateur sur lequel vous désirez installer la librairie, placez vous dans le répertoire /home par exemple, puis lancez la récupération des sources depuis GitHub.

Ensuite, on lance la compilation après avoir donné les droits appropriés au script build.

Connaître l’état du GPIO (et la correspondance avec le GPIO du Raspberry)

Exécutez la commande gpio readall. En retour, vous obtiendrez l’état de chaque broche. Par exemple dans la colonne V, un 1 signifie que la sortie est active, non allons voir juste après. Dans le tableau, on a également la correspondance de chaque broche avec le GPIO du Raspberry.

orange pi wiringpi wiringop gpio librarie

Activer, désactiver une sortie

Branchez une Led sur la broche 29 (PG7) par l’intermédiaire d’une résistance 220Ω, puis fermez le circuit en retournant à une broche GND (0V dans le tableau ci-dessus).

Commençons par changer le mode de sortie de la broche 29 (GPIO21).

Maintenant, si on veut allumer la led

Regardez maintenant l’état des broches en faisant un gpio readall.

orange pi wiringpi wiringop gpio librarie write 29 on

Dans la colonne V en fasse de la sortie 29, la broche est bien à l’état 1.

Pour l’éteindre, on passe à off

Utiliser la librairie WiringOP dans un script

Ouvrez un nouveau script nommé testgpio.sh par exemple puis collez le code ci-dessous. Enregistrez le avec Ctrl+X puis Y

Ce script fait clignoter la Led (un pulsation par seconde) jusqu’à ce qu’on arrête le script au clavier (Ctrl+X).

Rendez le script exécutable

Et exécutez le

Voilà, vous pouvez maintenant utiliser le GPIO de l’Orange Pi dans vos scripts

  • @DfrgSeb

    Bonjour,
    Peut-on exploiter le GPIO de l’OrangePI sous Jeedom quand il est hébergé dessus ? (ARMBIAN).

    Cdt.
    Seb.

    • Bonjour Seb. Je n’ai pas testé (même pas encore installé Jeedom sur une Orange). A mon avis, en théorie c’est possible, mais en pratique ça ne fonctionnera pas. Je m’explique. L’Orange ressemble à la framboise mais ce n’est pas une framboise ! Sur le papier c’est compatible, caméra, GPIO… mais en pratique comme l’Orange est basée sur un microprocesseur différent du Raspberry Pi ( H3 Allwinner), toutes les librairies doivent être adaptées. WiringPi devient WiringOP. Donc à moins de mettre la main dans le code et de faire les adaptations nécessaires, ça ne fonctionnera pas. Si je me trompe, n’hésitez pas à partager. Je vais ajouter ce test à ma liste. A très bientôt.

      • @DfrgSeb

        Bonjour,
        L’objectif d’exploiter le GPIO sous Jeedom, c’est d’utiliser le plugin Mysensors pour pouvoir fabriquer à moindres frais mes propres capteurs (NRF24L01). Alors certes, utiliser l’interface SPI/USB est possible, mais pourquoi ne pas utiliser plutôt le GPIO ? En fait il fallait commencer par le début, sur le site de Mysensors, je pense avoir trouver mon bonheur : https://www.mysensors.org/build/orange .
        Je teste ça ASAP … cdt, Seb.

        • Bonsoir Seb. Effectivement, dans ce cas, aucun problème pour exploiter le GPIO. Je vais faire un tuto sur le sujet en Français prochainement pur ceux qui ne maitrisent pas l’anglais. Je suis en train d’écrire le tuto pour installer Jeedom sur un Orange PI. A très bientot

          • @DfrgSeb

            +1 sur le tuto Jeedom / OPI … de mon expérience OPI + 2E, en suivant le pas à pas sur Armbian.com ça c’est bien passé, j’ai juste galéré avec un bug sur le terminal avec lequel c’était pénible de saisir les commandes (j’ai trouvé une soluce sur le net je sais plus où), une fois ceci réglé l’OS installé, le réseau OK (j’utilise le Wifi) récupérer le package Jeedom et l’installer est une formalité … PS1 : j’ai découvert votre site il y a peu, il est génial ! PS2 : Sur le forum Jeedom les intégristes du RPI n’aiment pas trop le OPI 😉 : https://www.jeedom.com/forum/viewtopic.php?f=66&t=24225&start=20

          • Merci beaucoup. Je suis super content si les tutos répondent aux besoins de tout le monde. Moi j’ai coincé avec mysql access denied ‘root’@’localhoost’. J’imagine ne pas être le seul à qui ça arrive ,-) Oui le Terminal est casse pied. Perso, je passe toujours en SSH, c’est plus pratique pour coller les instructions depuis le Net. Je ne m’occupe pas trop des préjugés. Il y a toujours du pour et du contre quelque soit la technique. Je test, je dis ce qui est bien et moins bien, comme ça tout le monde peut se faire une idée avant d’acheter. A très bientôt alors 🙂

          • @DfrgSeb

            A propos de l’accès root sur Mysql je me suis fait avoir aussi, il faut prendre le temps de noter le mot de passe root (très complexe) qui est communiqué lors de l’install, et se le changer (par son propre mdp compliqué) si on le souhaite et surtout pour s’en rappeler par la suite si besoin. Pour ce qui est des tutos, je dirai d’abord que le site est super bien fait et agréable, et les tutos en particulier je suis frustré de ne pas avoir le temps de tout tester tellement i y en a de très intéressant, bon après c’est normal les possibilités sont infinies. Il faut se fixer des objectifs clairs et précis pour pas partir dans tous les sens.

          • Le script a planté durant l’installation, j’ai donc loupé l’épisode du mot de passe. C’est pas grave au moins j’ai trouvé comment faire pour ré-initialisé le mot de passe MySQL et relancer le script