Les GPIO sur le Raspberry Pi
Le moyen fourni par les créateurs du Raspberry Pi pour nous permettre d’accéder aux ports d’entrée / sortie du processeur BCM2837.
Intitulé des broches
La broche 1 est identifiée sous la carte par une pastille carrée.
Les ports du connecteur GPIO ont tous un rôle bien déterminé. On trouve des alimentations 5V et 3,3V ainsi que des masses. Les ports GPIO sont identifiés par un chiffre ; GPIO1, GPIO2, … Certains ont une fonction supplémentaire précisée entre parenthèses. Cette fonction n’empêche pas d’utiliser les GPIO de façon classique, comme entrée/sortie numérique (0 ou 1).
Les GPIO utilisables comme entrée/sortie numérique sont au nombre de 26. Ils ne fonctionnent qu’en tout ou rien, 0 ou 1, 0V ou 3,3V. Il n’y a pas de port analogique (tension continument variable). Si vous avez besoin de plus de ports ou de ports analogiques, il faudra ajouter des cartes d’extension.
Attention! L’utilisation des broches 27 et 28 (ID_SD et ID_SC) est interdite. Elle sont réservées à l’accès aux mémoires EEPROM des cartes HAT connectées sur le Raspberry Pi.
Limitations
Les entrées/sorties GPIO ne peuvent pas consommer / fournir un courant important. Des limitations existent, même si de nombreuses sources donnent des informations différentes. Le courant maximum (en entrée ou en sortie) par broche est de 16mA et le courant total pour l’ensemble du GPIO ne peut pas dépasser 50mA. Il vous appartient de dimensionner les composants pour ne pas aller au delà de ces limites, et de prévoir éventuellement un "buffer" (amplificateur) entre le GPIO et le composant externe (LED par exemple).
Attention!
- Une sortie ne fournit que le courant demandé par ce qui est connecté sur la broche. Ce n’est donc pas parce que la sortie est à 1 que le courant est de 16mA.
- Il n’y a pas de protection sur les entrées / sorties. Si le composant externe consomme plus que le courant maximum, la tension de sortie diminue et les niveaux logiques ne sont plus assurés.
- Si le courant maximum pour une broche ou pour l’ensemble des broches est dépassé, cela peut provoquer la détérioration définitive de l’entrée / sortie et / ou du CPU complet.
Instructions sur la façon d'intégrer la capacité GPIO d'un Raspberry Pi dans Home Assistant.
L'intégration rpi_gpio
est la base de toutes les plateformes GPIO associées dans Home Assistant. Aucune configuration n'est nécessaire pour l'intégration elle-même, pour les plates-formes, veuillez consulter leurs pages correspondantes.
ha_category:
- DIY
- Binary Sensor
- Cover
- Switch
Binary Sensor
La plateforme de capteur binaire rpi_gpio
vous permet de lire les valeurs des capteurs des GPIO de votre Raspberry Pi 3B+.
Configuration
Pour utiliser le GPIO de votre Raspberry Pi dans votre installation, ajoutez ce qui suit à votre fichier configuration.yaml
:
# Example configuration.yaml entry
binary_sensor:
- platform: rpi_gpio
ports:
11: PIR Office
12: PIR Bedroom
Variable de configuration
ports
(map) (Required)
List of used ports.
port: name
(string) (Required)
The port numbers and corresponding names.
bouncetime
(integer) (Optional)
The time in milliseconds for port debouncing.
Default value:
50
invert_logic
(boolean) (Optional)
If true, inverts the output logic to ACTIVE LOW.
default value:
false (ACTIVE HIGH)
pull_mode
(string) (Optional)
Type of internal pull resistor to use.
Options are UP - pull-up resistor and DOWN - pull-down resistor.
default value:
UP
Pour plus de détails sur la mise en page GPIO, visitez l'article Wikipedia sur le Raspberry Pi.
Cover
La plateforme d'état rpi_gpio
vous permet d'utiliser un Raspberry Pi pour lire ou contrôler l'état des broches reliées à des périphériques, comme les portes de garage.
Il utilise deux broches sur le Raspberry Pi.
- Le
state_pin
détectera si l'état est fermé, et - le
relay_pin
déclenchera létat d'ouverture ou de fermeture.
Configuration
Pour activer les états du Raspberry Pi dans votre installation, ajoutez ce qui suit à votre fichier configuration.yaml
:
# Example configuration.yaml entry
cover:
- platform: rpi_gpio
covers:
- relay_pin: 10
state_pin: 11
Variable de configuration
relay_time
(float) (Optional)
The time that the relay will be on for in seconds.
default value:
0.2
invert_relay
(boolean) (Optional)
Invert the relay pin output so that it is active-high (True).
default value:
false
state_pull_mode
(string) (Optional)
The direction the State pin is pulling. It can be UP or DOWN.
Default value:
UP
invert_state
(boolean) (Optional)
Invert the value of the State pin so that 0 means closed.
Default value:
false
covers
(list) (Required)
List of your doors.
relay_pin
(integer) (Required)
The pin of your Raspberry Pi where the relay is connected.
state_pin
(integer) (Required)
The pin of your Raspberry Pi to retrieve the state.
name
(string) (Optional)
The name to use in the frontend.
Exemple Complet
# Example configuration.yaml entry
cover:
- platform: rpi_gpio
relay_time: 0.2
invert_relay: false
state_pull_mode: 'UP'
invert_state: true
covers:
- relay_pin: 10
state_pin: 11
- relay_pin: 12
state_pin: 13
name: 'Right door'
Switch
La plate-forme de commutation rpi_gpio
vous permet de contrôler les GPIO de votre Raspberry Pi.
Configuration
Pour utiliser le GPIO de votre Raspberry Pi dans votre installation, ajoutez ce qui suit à votre fichier configuration.yaml
:
# Example configuration.yaml entry
switch:
- platform: rpi_gpio
ports:
11: Fan Office
12: Light Desk
Variable de configuration
ports:
(list) (Required)
Array of used ports.
port:
(integer | string) (Required)
description: Port numbers and corresponding names (GPIO #).
invert_logic:
(boolean) (Optional)
description: If true, inverts the output logic to ACTIVE LOW.
Default value:
false
Pour plus de détails sur la disposition du GPIO, consultez l'article Wikipedia sur le Raspberry Pi.
Notez que les broches gérées par Home Assistant devrait être exclusive à Home Assistant.
Une question courante est de savoir à quoi fait référence Port, ce numéro est le GPIO # réel, pas le pin #. Par exemple, si vous avez un relais connecté à la broche 11, son GPIO # est 17.
# Example configuration.yaml entry
switch:
- platform: rpi_gpio
ports:
17: Speaker Relay