WiringPi est l’une des bibliothèques incontournables pour tous ceux qui utilisent le Raspberry Pi avec des cartes d’extension.
Développée par Gordon, cette bibliothèque est écrite en C. Elle contient des routines permettant un accès facile à quelques un des périphériques les plus populaires.
Dominique, le créateur de MCHOBBY, est également un actif défenseur de l’open source et il passe un temps phénoménal à traduire les documentations pour les mettre à portée des utilisateurs francophones du Raspberry Pi.
Il vient de mettre en ligne la documentation en français de WiringPi sur son wiki.
Les périphériques supportés par WirinPi sont des afficheurs LCD (à base d’Hitachi HD44780U), des afficheurs graphiques (128×64 pixels à base de 12864H), l’horloge RTC DS1302 ainsi que les cartes d’interface Gertboard et PiFace etc….
WiringPi peut gérer les ports GPIO normalement dédiés aux différents bus (SPI, I2C, UART…) ce qui met à disposition 17 E/S pour piloter des éléments extérieurs.
Un utilitaire : gpio offre la possibilité d’utiliser WiringPi depuis la ligne de commande.
Comme vous le voyez sur la copie d’écran ci-dessus, le wiki de Dominique propose déjà un nombre conséquent de tutoriels pour le Raspberry. Mais visitez le wiki si vous êtes également intéressé par l’Arduino, il y a mille choses à découvrir !
Dans la rubrique Raspberry, allez faire un tour sur la documentation en français de la carte PiFace, dans laquelle vous trouverez ce menu très riche :
- Introduction
- Installer
- Tester
- PiFace & Python
- PiFace & WiringPi
- Interfacer PiFace
- Connecteur d’alimentation
- PiFace Avancé
- Scratch Pour PiFace
- Introduction
- Activer « Host Mesh »
- Démarrer Scratch et PiFace
- Entrée/sortie avec Scratch
Comment remercier Dominique pour ce travail de traduction totalement bénévole et gratuit ? N’hésitez pas à lui laisser un commentaire, et faites un tour sur MCHOBBY il y aura à coup sûr des articles qui vous intéresseront. Groupez les achats et contactez le pour demander des conditions de livraison plus intéressantes que celles affichées dans la boutique !
Par « librairie », vous entendez « bibliothèque », non ?
bonjour Sabcat
oups oui c’est ça de naviguer entre anglais et français library = bibliothèque et pas librairie!
Je rectifie
merci de votre relecture
Cordialement
François
bonjour,
je ne sais pas si je suis au bon endroit mais je pose une question.
je pense avoir un problème avec certains de mes GPIO.
en effet, depuis un terminal si je fais
gpio -g mode 4 OUT –> mon GPIO 7 passebien en OUT
gpio – g write 4 1 –> mon GPIO reste en low
même manip sur le GPIO 8 fonctionne.
Mon GPIO 7 est il mort ? comment ce fais t’il qu’il « réponde » au mode OUT ?
cela c’est produit suite au passage de mon RPi en safe Mode probablement après une mauvaise manipulation de ma part…
Merci par avance et merci pour tous les tutos !
Bonjour,
Je souhaite effectuer une communication de type UART entre un Rpi et un microcontrôleur PIC.
Comme mes premiers essais ne fonctionnent pas, j’ai utilisé le fichier « serialTest.c » fourni dans les exemples de la librairie wiringPi. Je l’ai renommé serialTest.cpp et compilé. Je reboucle Rx et Tx, et lorsque je le lance dans la console apparaît le début d’un comptage : 1, 2, 3 puis rapidement l’écran de la console se remplit de -1 -> -1 -> …
Si je reprends la main avec un CTRL+C ensuite le programme ne se lance plus. Il faut que j’éteigne le Rpi pour pouvoir refaire un test. J’ai essayé à 115200bits/sec (valeur donnée par défaut) et à 9600bits/sec même résultat.
Quelqu’un aurait-il mis en service cette librairie, et obtenu d’autres résultats ?
Merci d’avance.
Christian
Problème résolu, je n’avais pas modifié les fichiers inittab et cmdline.txt pour pouvoir utiliser l’UART en dehors du mode console.
bonjour,
je cherche une réponse sur un port en mode sortie. je voudrais savoir si il est possible de connaitre sa valeur (on ou off), en deux mots lire son positionnement, savoir si la led est allumée ou éteinte. Cela doit-être possible car la commande « gpio readall » indique ces valeurs.
un grand merci d’avance.
J’ai trouvé… je voulais de lire le port 23. Tout simplement : gpio -g read 23 ou gpio read 4
mon problème j’essayais de lire 23 sans faire le -g
bonne soirée à tous
la question… et la réponse ! merci du retour 😉
cordialement
François
Bonjour
Je souhaite utiliser la librairie wiringPi.h dans des programme C / C++. Au début du programme j’utilise :
if(wiringPiSetup()==-1) … pour tester l’accès à cette ressource.
Après compilation, cela oblige à exécuter le programme avec la commande sudo (exemle : pi@rasberrypi ~/job $ sudo ./blink ) en mode root donc.
Mais dès que j’utilise ce programme en tant que cgi appelé par une page web, rien ne fonctionne.
Après recherche, je m’aperçois que wiringPi est installé pour le groupe ROOT (/usr/local/lib).
Je travaille avec l’utilisateur de base (pi sur Raspberry Pi). Comment faire pour que cette ressource wiringPi soit accessible par n’importe quel utilisateur et pas seulement à l’utilisateur ROOT ?
Cordialement
Jean-Luc
Bonjour Jean-Luc
Voyez https://dissectionbydavid.wordpress.com/2013/10/21/raspberry-pi-using-gpio-wiringpi-without-root-sudo-access/
ou https://www.raspberrypi.org/forums/viewtopic.php?f=32&t=32177
si vous avez des problèmes avec la langue de Shakespeare dites le et je vous traduirai les articles ;
Cordialement
François
Bonjour j’ai acheté une coque avec un ventilateur 5V qui avant marchait très bien ouïs une petite poussière est entrée dans la coque j’ai du retirer le ventilateur connecté auX GPIO 4 et 6 il me semble et après l’avoir remis le ventilateur chauffe mais ne tourne pas essayé sur 2 ventilo 5 V prévu pour aidez moi s’il-vous-plaît :/
Bonjour Anthony
attention en informatique ou en électronique « il me semble » se finit souvent mal…
le port 4 est le +5v et le port 6 la masse
ça serait pas branché à l’envers?
cordialement
François
Oui en effet merci j’avais branché le petit câble à l’envers merci beaucoup pour tout ce que vous faite Anthony
Bonsoir Mr MOCQ, cela fait un moment que je cherche sans succès.
Et il possible de créer une tel bibliothèque pour contrôler les broche d’un port IDE d’une carte mère lambda ? Une tel bibliothèque a tel déjà été conçu ?
En attente de vous lire
Cordialement
Maxime L
bonjour Maxime
c’est quoi une carte mère Lambda ? une carte mère de PC ?
bin… là on n’est plus vraiment dans le Raspberry Pi … 😀
si oui : le contrôleur IDE de chaque carte mère peut être différent. c’est le Bios qui commande ce composant (qui n’existe d’ailleurs plus aujourd hui avec SATA)
Ce sont des composants « intelligents » dédiés à cette fonction, et pas des E/S standard qu’on pourrait réutiliser comme ce fut le cas à une autre époque avec la sortie parallèle qu’on réutilisait comme E/S.
En conclusion : ça m’étonnerait 🙁 qu’on puisse le faire
cordialement
François
bonjour,
la librairie WiringPi n’est plus disponible sur le serveur Down de Gordon
git.drogon.net is temporarily unavailable. Please look for alternatives for wiringPi, etc. -Gordon
Auriez vous une autre source ?
Merci par avance
bonjour
malheureusement non, désolé
Bonjour,
Si la bibliothèque WiringPi.h n’est plus disponible, les programmeurs vont délaisser le langage C pour programmer le Raspberry et utiliser Python avec sa bibliothèque Rpi-GPIO.
La bibliothèque WiringPi demande beaucoup de compétences en informatique pour arriver à créer quelque chose d’équivalent, il faut faire du nappage de mémoire, pour avoir une idée, je conseille de lire le livre « Raspberry Pi Assembly Language Programming » de Stephen Smith, au chapitre 8, l’auteur propose deux méthodes pour commander le port GPIO, soit écrire dans un fichier ses/class/gpio des instruction de direction, de numéro de broche etc, soit d’accéder directement aux broches du GPIO en zappant la mémoire en écrivant dans dev/mem.
L’auteur a réalisé ainsi un montage avec trois leds clignotantes. Pour écrire un programme aussi complexe que wiringPi.h, il faut s’intéresser aux différents protocoles reconnus par le raspberry, comme I2C.
Bon courage!