Page 1 sur 3

Impossible de changer l'état des gpio au boot, même en root !

Publié : 24 oct. 2016, 22:46
par n1c0l45
Bonjour à tous,
J'ai une carte 4 relais sur mes gpio mais celle ci fonctionne à l'inverse de l'ordre demandé ! Le relais est activé lorsque la sortie est à zéro et inversement désactivé lorsque la sortie est à 1!
Apres recherche j'ai trouvé qu'il semble modifié le fichier
/sys/class/gpio /gpioXX/active_low en remplaçant le 0 par un 1 dans le fichier
http://raspberrypi.znix.com/hipidocs/topic_gpiodev.htm
Je peux modifier ce fichier mais à chaque reboot il reprend ça valeur 0 par défaut ! (même en root)
Quelqu'un sait pourquoi ?
Merci

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 24 oct. 2016, 23:06
par vil1driver
Salut,

Tu devrais trouver bonheur ici

https://www.f1tzo.com/configuration-du- ... is-chap-5/

Modifier rc.local qui se chargera d'effectuer les commandes à chaque boot

Code : Tout sélectionner

#
# Init a 1 pour repos
#
echo 1 > /sys/class/gpio/gpio4/active_low
echo 1 > /sys/class/gpio/gpio17/active_low
sleep 2

# et on prends la modification en compte 
# Position inverse : active_low => mettre a 0
echo 0 > /sys/class/gpio/gpio4/value
echo 0 > /sys/class/gpio/gpio17/value

exit 0
2ème réponse depuis cette recherche
https://www.google.fr/search?q=gpio+inverse

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 24 oct. 2016, 23:12
par n1c0l45
Justement j'ai aussi testé cela et ça ne marche pas non plus !

Code : Tout sélectionner

echo 1 > /sys/class/gpio/gpio16/active_low                                                
echo 1 > /sys/class/gpio/gpio19/active_low                                                
echo 1 > /sys/class/gpio/gpio20/active_low                                                
echo 1 > /sys/class/gpio/gpio26/active_low                                                
sleep 2                                                                                   
#                                                                                         
# Position inverse : active_low => mettre a 0                                             
echo 0 > /sys/class/gpio/gpio16/value                                                     
echo 0 > /sys/class/gpio/gpio19/value                                                     
echo 0 > /sys/class/gpio/gpio20/value                                                     
echo 0 > /sys/class/gpio/gpio26/value
En tout cas merci pour ta réponse !

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 24 oct. 2016, 23:16
par vil1driver
Tu fais bien également l'export dans rc.local ?

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 24 oct. 2016, 23:20
par n1c0l45
Haaaa j'ai peut-être oublié cela...
Ça n'a rien à voir avec wiringpi ? Faut que je fasse quand même l'export ? Vu que ces ports sont déjà défini en out ?
Merci

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 25 oct. 2016, 07:56
par vil1driver
Ptete pas non, j'ai parlé trop vite visiblement..

http://easydomoticz.com/les-gpio-dans-domoticz/
N.B. l’affectation des exports dans le fichier rc.local ne fonctionne pas car ce fichier est lu APRES le démarrage de domoticz (ordre alphabétique oblige), Notre domoticz aura donc démarré sans que le rc.local et ses exports aient été lus. C’est pour cela que les exports doivent être placés dans init.d/domoticz.sh au tout début.
Déjà défini en out ? dans domoticz.sh ?
Dans ce cas non pas besoin de les mettre dans rc.local.

Lorsque tu dit 'ça ne marche pas' c'est à dire ?
Les commandes ne sont pas lancée ?
Active_low reste à zero ?

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 25 oct. 2016, 23:03
par n1c0l45
Effectivement en mettant dans le domoticz.sh c'est ok

Par contre, la solution de la carte relais sur gpio est pas si terrible que cela... Car à chaque reboot les relais collent de décolle suite à une activation des gpio lors du boot du rpi... Bof bof si ma porte de garage s'ouvre après une coupure de courant !

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 25 oct. 2016, 23:13
par Neutrino
J'ai utilisé pendant un temps une carte relais directement sur les GPIO.
viewtopic.php?f=21&t=1085#p9292
Avec ça dans domoticz.sh, je n'avais pas ce problème d'activation des relais au reboot.

Code : Tout sélectionner

/usr/local/bin/gpio export 22 high
/usr/local/bin/gpio export 27 high
sudo sh -c 'echo 1 > /sys/class/gpio/gpio27/active_low'
sudo sh -c 'echo 1 > /sys/class/gpio/gpio22/active_low'
Si ça peut servir :)

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 26 oct. 2016, 08:28
par n1c0l45
Merci pour ta reponse,
c'est ce que j'ai mis dans mon domoticz.sh, mais j'ai toujours ce changement d'etat au boot et a l'arret

Re: Impossible de changer l'état des gpio au boot, même en root !

Publié : 26 oct. 2016, 15:54
par patrice
Hello
Attention Domoticz n'est pas demarré par /home/pi/domoticz/domoticz.sh mais par le service domoticz de etc.init.d
Il faut donc comme indiqué plus bas utiliser le rc.local et mettre tout le bazar dans le rc.local pour être sur que cela se lance à chaque reboot

sinon tu cree un fichier bash avec un
#! /bin/sh sur la 1ere ligne
puis dans ce fichier tu mets toutes les lignes d'exports
puis dans un crontab -e
tu mets
@reboot chemin_vers_script/lescript_en_question.sh

a chaque reboot on lance le fichier