Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

PB arret erreur " Failed to add edge detection "
#1

Bonsoir

je souhaite explorer la gestion d'un arrêt 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é et utilisé pour le test.

#!/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 25 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 pour vos retour et bonne soirée

Gerard
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)