Différences entre versions de « Pi-WiringPi-Utilitaire-GPIO »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 43 : Ligne 43 :
 
Le flag -g est optionel. Il permet d'interpréter le numéro de broche comme une broche BCM_GPIO plutôt que d'utiliser [[Pi-WiringPi-GPIO-Numbering|la numérotation standard adoptée par wiringPi]].
 
Le flag -g est optionel. Il permet d'interpréter le numéro de broche comme une broche BCM_GPIO plutôt que d'utiliser [[Pi-WiringPi-GPIO-Numbering|la numérotation standard adoptée par wiringPi]].
  
== Standard input and output commands ==
+
== Commandes d'entrée/sortie standard ==
 +
 
 +
=== Un peu d'anglais ===
 +
Avant de sauter dans ce chapitre, il est peut-être opportun de faire un petit rappel d'anglais.
 +
 
 +
Les commandes utilisent des termes anglais... et en comprendre le vocabulaire permet de mieux les maîtriser.
 +
 
 +
* input : entrée (identifie une entrée). Souvent identifier par "in".
 +
* output: sortie (identifie une sortie). Souvent identifier par "out".
 +
* pin: broche.
 +
* down: bas. Indique une niveau logique bas (0v), parfois identifier par "low".
 +
* up: haut. Indique une niveau logique haut (3.3v), parfois identifier par "high".
 +
* write: écrire. Symbolise généralement une opération où l'on modifie quelque-chose (comme l'état d'une broche du GPIO).
 +
* read: lire. Symbolise une opération d'acquisition/lecture d'une information (comme lire l'état d'une broche du GPIO)
  
 
=== gpio mode ===
 
=== gpio mode ===
  <nowiki>gpio [-g] mode <pin> in/out/pwm/up/down/tri</nowiki>
+
  <nowiki>gpio [-g] mode <broche> in/out/pwm/up/down/tri</nowiki>
 +
 
 +
permet de configurer le mode d'une broche... si celle-ci est utilisée en entrée, en sortie, en PWM, ect. Cette commande permet également d'activer les résistances internes de pull-up/down, voire les désactiver.
 +
 
 +
* in: Activer la broche en entrée
 +
* out: Activer la broche en sortie
 +
* pwm: activer la broche en sortie PWM.
 +
* up: activer la résistance pull-up
 +
* down: activer la résistance pull-down
 +
* tri:
  
This sets the mode of a pin to be input, output or pwm and additionally can set the internal pull-up/down resistors to pull-up, pull-down or none.
+
Note: Voir notre article "[http://arduino103.blogspot.be/2011/05/entree-bouton-resistance-pull-up-pull.html Entrée Bouton - Résistance pull-up, pull-down et déparasitage]" pour en appendre plus sur l'usage des résistances pull-up/pull-down.
  
 
=== gpio write ===
 
=== gpio write ===
  <nowiki>gpio [-g] write <pin> 0/1</nowiki>
+
  <nowiki>gpio [-g] write <broche> 0/1</nowiki>
 +
 
 +
Permet de modifier l'état d'une broche de sortie.
  
This sets an output pin to high (1) or low (0)
+
* 0: place la sortie à l'état bas ("''low''" en anglais), soit 0v.
 +
* 1: place la sortie à l'état haut ("''high''" en anglais), soit 3.3v.
  
 
=== gpio pwm ===
 
=== gpio pwm ===
  <nowiki>gpio [-g] pwm <pin> <value></nowiki>
+
  <nowiki>gpio [-g] pwm <broche> <valeur></nowiki>
  
Set the pin to a PWM value (0-1023 is supported)
+
Modifie le signal de PWM de la broche.
 +
 
 +
* Valeur: valeur du cycle utile, de 0 à 1023 pour un cycle utile de 0% à 100%.
 +
 
 +
Note: Voir notre article "[http://arduino103.blogspot.be/2011/05/pwm-la-modulation-de-la-largeur.html PWM - La modulation de la largeur d'impulsion]" pour en apprendre plus sur le signal PWM.
  
 
=== gpio read ===
 
=== gpio read ===
  <nowiki>gpio [-g] read <pin></nowiki>
+
  <nowiki>gpio [-g] read <broche></nowiki>
  
Reads and prints the logic value of the given pin. It will print 0 (low) or 1 (high).
+
Lit et affiche la valeur logique correspond à la broche mentionnée.
 +
 
 +
Il affiche/retourne:
 +
* 0 pour un état bas, "''low''" en anglais. Cela correspond à 0v.
 +
* 1 pour un état haut, "''high'' en anglais. Cela correspond à la tension de 3.3v .
  
 
=== gpio readall ===
 
=== gpio readall ===
 
  <nowiki>gpio readall</nowiki>
 
  <nowiki>gpio readall</nowiki>
  
This reads all the normally accessible pins and prints a table of their numbers (both wiringPi and BCM_GPIO, so makes for a handy cross-reference chart), along with their modes and current values.
+
Lit toutes les broches normalement accessible et retourne une table constituée de:
 +
* leur numéro (les deux, celle de wiringPi et BCM_GPIO),  
 +
* le mode de la broche
 +
* la valeur actuelle.
 +
 
 +
Disposer des deux numéros d'identification (wiringPi et BCM_GPIO) permet de réaliser facilement des tableaux en références croisées.
  
 
== Module Load Commands ==
 
== Module Load Commands ==

Version du 2 octobre 2013 à 12:14


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

La commande "gpio"

WiringPi est distribué avec une programme séparé pour facilité la gestion du GPIO. Ce programme, appelé gpio, peut également être utilisé dans des scripts pour manipuler les broches du GPIO – lire les entrées et fixer l'état des sorties. Il est même possible d'écrire un programme entier en shell-script en utilisant la commande gpio... même si cela n'est pas terriblement efficace. Une autre façon d'atteindre le même but serait d'utiliser les fonctions system() en C/C++ ou leurs équivalents dans d'autres langages de programmation.

En plus de pouvoir contrôler les broches, l'utilitaire GPIO permet de:

  • Export/Unexport des broches via l'interface /sys/class/gpio permettant d'accéder aux GPIO comme un système de fichier. L'interface est accessible aux programmes utilisateurs (donc pas besoin d'exécuter vos programmes en root ou avec sudo)
  • Export des broches pour activer le déclenchement d'interruption (sur changement d'état) par l'intermédiaire de l'interface /sys/class/gpio.
  • Contrôler les broches du périphérique PiFace.
  • Charger les modules SPI et I2C et initialiser les permissions de /dev/ pour autoriser les lectures/écritures par les utilisateurs exécutant le programme gpio.
  • Permet de configurer:
    • La tailler du buffer SPI (la mémoire tampon SPI)
    • le débit I2C ("baud rate" en anglais) au moment du chargement du module.
  • Envoyer/écrire des valeurs vers le convertisseur digital/anaglogique (DAC) du Gertboard.
  • Recevoir/lire les valeurs d'entrée du convertisseur Analogique/digital (ADC) du Gertboard.
  • Déterminer la révision du Raspberry Pi.

Voir aussi les pages man pour le programme gpio pour avoir un aperçu de toutes les fonctionnalités disponibles.

Tapez la commande suivante dans un terminal pour accéder aux pages man de gpio.

man gpio


Utilisation

Version

Depuis une ligne de commande Linux:

gpio -v

Convention du brochage

Affiche la version du programme gpio.

gpio -g …

Le flag -g est optionel. Il permet d'interpréter le numéro de broche comme une broche BCM_GPIO plutôt que d'utiliser la numérotation standard adoptée par wiringPi.

Commandes d'entrée/sortie standard

Un peu d'anglais

Avant de sauter dans ce chapitre, il est peut-être opportun de faire un petit rappel d'anglais.

Les commandes utilisent des termes anglais... et en comprendre le vocabulaire permet de mieux les maîtriser.

  • input : entrée (identifie une entrée). Souvent identifier par "in".
  • output: sortie (identifie une sortie). Souvent identifier par "out".
  • pin: broche.
  • down: bas. Indique une niveau logique bas (0v), parfois identifier par "low".
  • up: haut. Indique une niveau logique haut (3.3v), parfois identifier par "high".
  • write: écrire. Symbolise généralement une opération où l'on modifie quelque-chose (comme l'état d'une broche du GPIO).
  • read: lire. Symbolise une opération d'acquisition/lecture d'une information (comme lire l'état d'une broche du GPIO)

gpio mode

gpio [-g] mode <broche> in/out/pwm/up/down/tri

permet de configurer le mode d'une broche... si celle-ci est utilisée en entrée, en sortie, en PWM, ect. Cette commande permet également d'activer les résistances internes de pull-up/down, voire les désactiver.

  • in: Activer la broche en entrée
  • out: Activer la broche en sortie
  • pwm: activer la broche en sortie PWM.
  • up: activer la résistance pull-up
  • down: activer la résistance pull-down
  • tri:

Note: Voir notre article "Entrée Bouton - Résistance pull-up, pull-down et déparasitage" pour en appendre plus sur l'usage des résistances pull-up/pull-down.

gpio write

gpio [-g] write <broche> 0/1

Permet de modifier l'état d'une broche de sortie.

  • 0: place la sortie à l'état bas ("low" en anglais), soit 0v.
  • 1: place la sortie à l'état haut ("high" en anglais), soit 3.3v.

gpio pwm

gpio [-g] pwm <broche> <valeur>

Modifie le signal de PWM de la broche.

  • Valeur: valeur du cycle utile, de 0 à 1023 pour un cycle utile de 0% à 100%.

Note: Voir notre article "PWM - La modulation de la largeur d'impulsion" pour en apprendre plus sur le signal PWM.

gpio read

gpio [-g] read <broche>

Lit et affiche la valeur logique correspond à la broche mentionnée.

Il affiche/retourne:

  • 0 pour un état bas, "low" en anglais. Cela correspond à 0v.
  • 1 pour un état haut, "high en anglais. Cela correspond à la tension de 3.3v .

gpio readall

gpio readall

Lit toutes les broches normalement accessible et retourne une table constituée de:

  • leur numéro (les deux, celle de wiringPi et BCM_GPIO),
  • le mode de la broche
  • la valeur actuelle.

Disposer des deux numéros d'identification (wiringPi et BCM_GPIO) permet de réaliser facilement des tableaux en références croisées.

Module Load Commands

gpio load spi

gpio load spi [buffer size in KB]

This loads the SPI kernel modules and optionally sets the internal buffer to the given size in KB (multiples of 1024). The default is 4KB and is usually more than enough for most application which only exchange a byte or 2 at a time over the SPI bus.

The /dev/spi* entries are set to be owned by the person using the gpio program, so there is no need to run subsequent programs as root (unless they use other wiringPi functions)

gpio load i2c

gpio load i2c [baud rate in Kb/sec]

This loads the I2C kernel modules and optionally sets the baud rate to the given speed in Kb/sec (multiples of 1000). The default is 100Kb/sec.

The /dev/I2c* entries are set to be owned by the person using the gpio program, so there is no need to run subsequent programs as root (unless they use other wiringPi functions)

/sys/class/gpio mode commands

gpio export

gpio export <pin> in/out

This exports the given pin (BCM-GPIO pin number) as an input or output and makes it available for a user program running as the same user to use.

gpio unexport

gpio unexport <pin>

Removes the export of the given pin.

gpio unexport all

gpio unexportall

Removes all /sys/class/gpio exports.

gpio exports

gpio exports

This prints a list of all gpio pins which have been exported via the /sys/class/gpio interface and their modes.

gpio edge

gpio edge <pin> rising/falling/both/none

This enables the given pin for edge interrupt triggering on the rising, falling or both edges. (Or none which disables it)

Note: The pin numbers in the sys mode are always BCM-GPIO pin numbers.

Exemples

gpio mode 0 out
gpio write 0 1

This uses the wiringPi pin numbers to set pin 0 as an output and then sets the pin to a logic 1.

gpio -g mode 0 in
gpio -g read 0

This uses the BCM_GPIO pin numbering scheme and reads pin 0 (SDA0 on a Rev. 1 Raspberry Pi)

Internal pull up/down resistors

The GPIO lines have internal pull up or pull-down resistors which can be controlled via software when a pin is in input mode.

gpio mode 0 up
gpio mode 0 down
gpio mode 0 tri

These set the resistors to pull-up, pull-down and none respectively on wiringPi pin 0.

Commandes PiFace

The PiFace is somewhat limited in that it has 8 inputs pins and 8 output pins and these are fixed in the hardware, so only the write and read commands are implemented:

gpio -p write <pin> 0/1

Writes the value 0 (off) or 1 (on) to the output pin on the PiFace

gpio -p read <pin>

Reads and prints the value on the given input pin.

gpio -p mode <pin> up/tri

This enables (up) or disables (tri) the internal pull-up resistor on the given input pin. You need to enable the pull-up if you want to read any of the on-board switches on the PiFace board.


Source: WiringPi.com. WiringPi est une libraire sous licence GPL écrite par Gordon Henderson. Crédit: wiringpi.com

Traduit de l'anglais par Meurisse D. pour MCHobby.be

Traduit avec l'accord de Gordon Henderson, créateur de wiringPi - Translated with authorization of Gordon Henderson, creator of wiringPi

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.