Page 1 sur 1

[RESOLU] GPIO à 1 après reboot du Raspberry

Publié : 16 janv. 2016, 17:11
par oldchap
Bonjour
J'utilise les gpio pour piloter un relai - type http://www.amazon.fr/gp/product/B00AZEV ... ge_o00_s00
J'ai besoin pour des raisons de pilotage d'avoir les gpio 7 et 0 qui sont en OUT (câblage physique 7 et 11 ; valeurs BCM 7 et 17) à 1 après un reboot du raspberry.

J'ai appliqué les recettes des uns et des autres, et j'ai introduit un bout de code dans /etc/init.d/domoticz.sh pour les passer à 1 puis les mettres à out. Rien n'y fait après un reboot les deux gpio sont toujours à 0

Extrait de mon code fichier domoticz.sh
[Quote]
---------------------------------------
#les gpio a 1 attention BCM GPIO
/usr/local/bin/gpio write 4 1
/usr/local/bin/gpio write 17 1

#les gpio en sortie
/usr/local/bin/gpio export 4 out
/usr/local/bin/gpio export 12 out
/usr/local/bin/gpio export 17 out
/usr/local/bin/gpio export 18 out
/usr/local/bin/gpio export 22 out
/usr/local/bin/gpio export 23 out
/usr/local/bin/gpio export 24 out
/usr/local/bin/gpio export 25 out
/usr/local/bin/gpio export 27 out
-----------------------------------------
{/Quote]

Re: GPIO à 1 après reboot du Raspberry

Publié : 17 janv. 2016, 14:35
par rimram31
Avant d'écrire 1 sur tes gpio out, je les mettrais d'abord en sortie: gpio mode 4 out avant le write.

Re: GPIO à 1 après reboot du Raspberry

Publié : 17 janv. 2016, 18:36
par oldchap
ça y est, j'ai résolu le problème !
Tout d'abord merci à rimram31 pour sa réponse. J'ai appliqué et j'ai eu la moitié de la solution : en effet ça marchait mais seulement pour l'un des relais que j'active ?? intéressant !

En creusant un peu j'ai vu que les ordres "write" sont compris comme des numéros writing pi et non BCM (exemple : gpio writing pi 7 = gpio BCM 4) Merci les électroniciens !!!
Donc, la ligne de code "/usr/local/bin/gpio export 4 out" indique que la gpio 7 en writing pi passe à OUT.
En revanche la ligne de code "/usr/local/bin/gpio write 7 1" indique également que la gpio 7 writing pi passe à 1.

A chaque reboot ou interruption du PI, les 2 gpio 0 et 7 (dans mon cas) seront systématiquement mises à 1, ce qui fait que mon relai ne sera pas activé (important pour qu'un reboot intempestif ne mette pas ma chaudière en marche à la campagne sans que je m'en aperçoive).
Il me reste maintenant à trouver comment m'envoyer une alerte lorsque le Rapsberry reboot ! c'est une autre histoire.

Voici le code intégré dans mon fichier /etc/init.d/domoticz.sh

Code : Tout sélectionner

#les gpio BCM en sortie (exemple gpio4 est l'équivalent de gpio7 en writing pi)
/usr/local/bin/gpio export 4 out
/usr/local/bin/gpio export 12 out
/usr/local/bin/gpio export 17 out
/usr/local/bin/gpio export 18 out
/usr/local/bin/gpio export 22 out
/usr/local/bin/gpio export 23 out
/usr/local/bin/gpio export 24 out
/usr/local/bin/gpio export 25 out
/usr/local/bin/gpio export 27 out

#les gpio writing pi sont mises à 1
/usr/local/bin/gpio write 0 1
/usr/local/bin/gpio write 7 1

Re: [RESOLU] GPIO à 1 après reboot du Raspberry

Publié : 17 janv. 2016, 21:12
par patrice
Bonsoir

Tu peux placer un script de redémarrage de tes GPIO dans le /etc/init.d , ce script devra lancer les bonnes actions, tu trouvera des tutos sur le net

Sinon le truc que j'ai utilisé est la commande uptime qui renvoie te renvoie le temps depuis lequel le système est up

Code : Tout sélectionner

uptime|cut -f4 -d' '|cut -f1 -d','
1 pour 1 minute, 2 ,3, 1:30 pour 1H30

tu mets ca dans un script qui teste le nb de minutes et qui fait les actions nécessaires derrière
puis le script dans un crontab toutes les minutes

La solution de init.d est bien plus propre.