Page 1 sur 2

Démarrer un raspberry pi avec un bouton ON/OFF

Posté : lun. 17 mai 2021 11:41
par kalimeth
Bonjour à tous.
Je voudrais utiliser un raspberry pour un enregistreur de vidéos autonome. Cela servira pour enregistrer des armoires électriques dont le traitement est retranscrit par des leds. Et quand ce traitement fonctionne mal, on se sert d'un enregistreur pour suivre le déroulement du programme au ralenti.
Pour allumer ou éteindre le raspberry, j'ai câblé un bouton entre les bornes 5 (GPIO3) et 6. Ce bouton est fonctionnel (le raspberry s'allume ou s'éteint dès que j’appuie dessus).
Dès qu'il se met sous tension, un programme en python se lance et enregistre des vidéos d'une heure tant qu'il est sous tension (ces vidéos durent une heure pour faciliter un dépouillement du ralenti).
Un 2ème bouton est câblé sur les broches 1, 3 (GPIO2) et 9 pour pouvoir arrêter le programme et avoir accès au raspberry (suivant que la broche 3 reçoit un 1 ou un 0 logique).
Bien sûr, pour pouvoir relire facilement les vidéos, je les horodate.
Pour ce faire, vu que le raspberry n'est pas connecté à un réseau, je vais être obligé d'utiliser un module RTC. J'ai un DS3231.
Mon problème (J'y viens enfin 😁), c'est que le module RTC doit être câblé sur les broches I2C mais je les utilise déjà.
Je peux les changer, ça ne me pose pas de problème, mais je voulais savoir si la fonctionne "bouton ON/OFF" pouvait fonctionner sur d'autres broches, car tous les tutos que j'ai vu demande de faire un strap entre 5 et GND.
A votre avis, c'est possible de changer les broches ou l'interruption ne fonctionne que sur la broche 5 ?

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : lun. 17 mai 2021 14:08
par dyox
Bonjour,

Code : Tout sélectionner

A votre avis, c'est possible de changer les broches ou l'interruption ne fonctionne que sur la broche 5 ?
Je dirai que oui mais je ne sais pas faire. Voici le topic où je me posais cette question
viewtopic.php?f=44&t=4423

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : lun. 17 mai 2021 20:32
par Artemus24
Salut à tous.

Quel est le type de raspberry que vous utilisez ? RPi 3B+ ? RPi 4B ?

Vous utilisez un bouton poussoir sur les broches 5 (GPIO3) et 6 (GROUND). C'est une bonne idée.
Mais voilà, vous risquez d'avoir un conflit avec I2C. D'autant plus que vous allez mettre un RTC DS3231 au même endroit.
kalimeth a écrit :Mon problème (J'y viens enfin ??), c'est que le module RTC doit être câblé sur les broches I2C mais je les utilise déjà.
Donc il y a foule sur les broches I2C.

Si vous désirez conserver la fonctionnalité du bouton poussoir, entre autre celle de mettre la raspberry à son minimum d'alimentation, il faudra exploiter les broches "RUN" et "PEN" ("POWER_ENABLE" ou "GLOBAL_EN").

@+

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : ven. 21 mai 2021 11:26
par kalimeth
Bonjour Artemus24,

Tout d'abord, désolé de répondre si tard, j'avais pas vu que mon sujet avait trouvé réponse (je pensais que la surveillance des sujets qu'on avait créé ou auxquels on avait répondu était automatique).

Le RPI utilisé est un RPI 3B+.
En effet, il y a foule sur le I2C :D d'autant plus qu'on voudrait en plus ajouter un écran tactile qui a le bon goût de manger beaucoup de Pins, dont les GPIO 2 et 3 :cry:

J'avais commencé à regarder les broches RUN et PEN (il me semble que le Pin GLOBAL_EN n'existe que sur le Pi4).
Seulement, j'ai compris (dites-moi si je me trompe) qu'en activant RUN, on faisait un reset "sauvage", donc plus moyen d'arrêter proprement le Pi (en lui demandant un shutdown lors de l'appui sur le BP) ?
De la même façon, le PEN sert à couper un maximum de consommateurs de courant sur la carte (pour ne garder qu'une led, me semble-t-il) de façon sauvage ?

J'ai vu (mais je ne suis pas sûr d'avoir tout compris), qu'on pouvait éventuellement décalé le I2C sur d'autres Pins (https://www.raspberrypi.org/documentati ... uration.md).
Si je ne peux pas changer le Pin de redémarrage, en tous cas, je prendrais le problème à l'envers :roll: ?
De la même façon, peut-on gérer plusieurs couples de ports I2C, un pour le RTC, l'autre pour l'écran (si l'écran a besoin de l'I2C, chose que je ne sais pas encore, d'ailleurs) ?

Quand à mettre 2 BP (un pour allumer, l'autre pour éteindre), cela me parait difficile. En effet, je travaille avec des personnes assez réfractaires au changement, du coup, le fait d'avoir seulement 2 boutons (un ON/OFF et un switch pour avoir accès au bureau et pouvoir récupérer les vidéos) va déjà tellement bousculer leur petit monde que j'ose pas leur infliger des ON/OFF séparés :D (il faut savoir prendre soin de nos anciens).

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : ven. 21 mai 2021 12:58
par Artemus24
Salut kalimeth.

Pour ce qui concerne le bouton poussoir, je n'ai pas de solutions simple.
Selon mon, le choix d'utiliser les broches 5 (GPIO3) & 6 (Ground) est la solution correcte.
Ne pas oublier de configurer le fichier cmdline.txt afin d'introduire les overlays suivants :

Code : Tout sélectionner

dtoverlay=gpio-shutdown,gpio_pin=17,active_low=1,debounce=1500
dtoverlay=gpio-poweroff,gpiopin=27,active_low=1,input=1
L"usage des broches "run" et "pen" nécessite de créer un circuit électronique venant gérer la pression du bouton poussoir.
Pour le "run", relié au "gnd", il suffit de presser et de relâcher le BP pour faire un reset.

Pour le "pen", il faut maintenir le circuit fermé entre le "pen" et le "gnd" afin de mettre la raspberry à son alimentation minimale.
Dès que le BP est relâché, cela provoque un reset.

Oui, on peut gérer plusieurs ports I2C. Dans ce cas, il faut utiliser un HAT, comme celui-ci :
--> https://www.gotronic.fr/art-shield-d-ex ... -21958.htm
ou encore, celui-là :
--> https://www.gotronic.fr/cat-kits-d-essa ... s-1563.htm

Oui, on peut changer les broches de l'I2C (i2c0 & i2c1), sauf que je ne l'ai jamais fait.

@+

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : ven. 21 mai 2021 16:26
par kalimeth
Au pire, dans l'idéal, il faudrait que j'arrive à trouver un écran à brancher avec la nappe "display", pour éviter d'utiliser trop de Pins.
Et réussir à décaler les ports I2C sur des pins inutilisées, pour gérer le module RTC et continuer à pouvoir utiliser le BP ON/OFF.
Dommage quand même qu'on ne puisse pas configurer le WAKE_ON_GPIO sur un autre GPIO, c'est vrai que ce serait bien pratique.

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : sam. 22 mai 2021 08:35
par jelopo
Bonjour,

Sauf énormité de ma part, il me semble qu'il y a 2 ports I2C utilisable sur le PI3
https://fr.pinout.xyz/pinout/i2c#

Si les broches 3 et 5 sont déjà utilisées, il reste les broches 27 et 28.

A+

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : sam. 22 mai 2021 11:39
par kalimeth
Bonjour jelopo, merci pour cette info, je vais regarder ça de plus près.
Mais honnêtement, ça m'arrangerais bien 😁

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : jeu. 27 mai 2021 13:36
par kalimeth
Finalement, je ne suis pas si sûr q'on puisse utiliser les pins 27 et 28.
D'après cette page : https://www.framboise314.fr/scratch-ras ... ants/gpio/
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.
Mais en réfléchissant un peu, je me pose une question toute bête.
Le I2C, c'est un protocole de communication pour les bus, on doit donc pouvoir discuter avec plusieurs périphériques (par définition !), donc si j'arrive à empiler les HAT, je devrai pouvoir discuter avec tout le monde, non ?

Re: Démarrer un raspberry pi avec un bouton ON/OFF

Posté : jeu. 27 mai 2021 14:27
par Artemus24
Salut kalimeth.
kalimeth a écrit :si j'arrive à empiler les HAT, je devrai pouvoir discuter avec tout le monde, non ?
En principe oui.

Mais il reste le problème du bouton poussoir qui utilise les mêmes GPIO.

@+