Différences entre versions de « Pi-WiringPi-Utilitaire-GPIO »
Ligne 3 : | Ligne 3 : | ||
== La commande "gpio" == | == La commande "gpio" == | ||
− | {{bloc-etroit|text= WiringPi | + | {{bloc-etroit|text= 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. |
− | {{ambox|text= | + | {{ambox|text= La commande '''gpio''' est conçue pour être installé comme un programme ''setuid'' et appelé par un utilisateur normal sans avoir besoin de sudo (ou d'être loggé en root). }} |
}} | }} | ||
− | + | En plus de pouvoir contrôler les broches, l'utilitaire GPIO permet de: | |
* Export/Unexport pins via the /sys/class/gpio interface, where they will then be available to user programs (that then do not need to be run as root or with sudo) | * Export/Unexport pins via the /sys/class/gpio interface, where they will then be available to user programs (that then do not need to be run as root or with sudo) |
Version du 1 octobre 2013 à 07:08
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.
La commande gpio est conçue pour être installé comme un programme setuid et appelé par un utilisateur normal sans avoir besoin de sudo (ou d'être loggé en root). |
En plus de pouvoir contrôler les broches, l'utilitaire GPIO permet de:
- Export/Unexport pins via the /sys/class/gpio interface, where they will then be available to user programs (that then do not need to be run as root or with sudo)
- Export pins to enable edge-triggered interrupts via the /sys/class/gpio interface.
- Control the pins on the PiFace peripheral device.
- Load SPI and I2C modules and set /dev/ permissions to enable read/write by the user running the gpio program.
- Set the SPI buffer size and I2C baud rate (when loading the modules)
- Output values to the Gertboard DAC
- Read inputs from the Gertboard ADC
- Determine your Raspberry Pi board hardware revision.
See the man page for the gpio program to see what all the features are by typing
man gpio
at the command prompt.
Usage
From the Linux command line:
gpio -v
This prints the version.
gpio -g …
The optional -g flag causes pin numbers to be interpreted as BCM_GPIO pin numbers rather than standard wiringPi pin numbers.
Standard input and output commands
gpio mode
gpio [-g] mode <pin> in/out/pwm/up/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.
gpio write
gpio [-g] write <pin> 0/1
This sets an output pin to high (1) or low (0)
gpio pwm
gpio [-g] pwm <pin> <value>
Set the pin to a PWM value (0-1023 is supported)
gpio read
gpio [-g] read <pin>
Reads and prints the logic value of the given pin. It will print 0 (low) or 1 (high).
gpio readall
gpio readall
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.
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.