gestion BP arret pour raspberry
Posté : jeu. 7 janv. 2016 20:35
Bonsoir
je souhaite explorer la gestion d'un arret propre d'un raspberry Pi , j'ai trouvé bon nombres d'exemples, mais aucun ne fonctionne, j'ai toujours la même erreur qui apparait.
j'ai bien trouvé des info sur cette erreur mais ma très très petite maitrise de l'anglais ne me permet pas de trouver la solution.
Voici l'erreur
au.py:12: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Traceback (most recent call last):
File "au.py", line 24, in <module>
GPIO.add_event_detect(25, GPIO.FALLING, callback=extinction)
RuntimeError: Failed to add edge detection
Voici le code récupéré ici http://hardware-libre.fr/2013/07/ajoute ... ec-python/
#!/usr/bin/env python2.7
# on importe les modules necessaires
import time
import os
import RPi.GPIO as GPIO
# on met RPi.GPIO en mode notation BCM (numero des pins)
GPIO.setmode(GPIO.BCM)
# on initialise le GPIO 23 en mode ecoute
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# on definit notre fonction qui sera appelee quand on appuiera sur le bouton
def extinction(channel):
# on affiche un petit message pour confirmer
print("Appui detecte sur le GPIO 25")
# on reinitialise les GPIO
GPIO.cleanup()
# on lance la commande d extinction
os.system('sudo halt')
# on met le bouton en ecoute
GPIO.add_event_detect(25, GPIO.FALLING, callback=extinction)
# on lance une boucle infinie, pour garder le script actif
while 1:
# une petite pause entre chaque boucle, afin de reduire la charge sur le CPU
time.sleep(0.02)
# on reinitialise les ports GPIO en sortie de script
GPIO.cleanup()
merci de votre aide et bonne soirée
Gereard
je souhaite explorer la gestion d'un arret propre d'un raspberry Pi , j'ai trouvé bon nombres d'exemples, mais aucun ne fonctionne, j'ai toujours la même erreur qui apparait.
j'ai bien trouvé des info sur cette erreur mais ma très très petite maitrise de l'anglais ne me permet pas de trouver la solution.
Voici l'erreur
au.py:12: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Traceback (most recent call last):
File "au.py", line 24, in <module>
GPIO.add_event_detect(25, GPIO.FALLING, callback=extinction)
RuntimeError: Failed to add edge detection
Voici le code récupéré ici http://hardware-libre.fr/2013/07/ajoute ... ec-python/
#!/usr/bin/env python2.7
# on importe les modules necessaires
import time
import os
import RPi.GPIO as GPIO
# on met RPi.GPIO en mode notation BCM (numero des pins)
GPIO.setmode(GPIO.BCM)
# on initialise le GPIO 23 en mode ecoute
GPIO.setup(25, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# on definit notre fonction qui sera appelee quand on appuiera sur le bouton
def extinction(channel):
# on affiche un petit message pour confirmer
print("Appui detecte sur le GPIO 25")
# on reinitialise les GPIO
GPIO.cleanup()
# on lance la commande d extinction
os.system('sudo halt')
# on met le bouton en ecoute
GPIO.add_event_detect(25, GPIO.FALLING, callback=extinction)
# on lance une boucle infinie, pour garder le script actif
while 1:
# une petite pause entre chaque boucle, afin de reduire la charge sur le CPU
time.sleep(0.02)
# on reinitialise les ports GPIO en sortie de script
GPIO.cleanup()
merci de votre aide et bonne soirée
Gereard