gestion BP arret pour raspberry

Le connecteur GPIO du Raspberry Pi, comment l'utiliser sur les Mode A, B et B+

Modérateur : Francois

Répondre
lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

gestion BP arret pour raspberry

Message par lmgmo » 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

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: gestion BP arret pour raspberry

Message par Manfraid » ven. 8 janv. 2016 08:17

Salut le message d'erreur est très explicite en python
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

Code : Tout sélectionner

#!/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)
# Suppression des warning
GPIO.setwarnings(False)

# 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()
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

Re: gestion BP arret pour raspberry

Message par lmgmo » ven. 8 janv. 2016 09:05

Bonjour

merci pour cette réponse rapide.

Pour le débutant que je suis , l’erreur n'est pas vraiment évidente, sauf à maitriser l'anglais !
Si je comprends bien en mettant
# Suppression des warning GPIO.setwarnings(False), l'erreur est toujours présente, mais ne bloque plus le système .

je vais testé et je reviens pour un retour sur la manip

Gérard

lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

Re: gestion BP arret pour raspberry

Message par lmgmo » ven. 8 janv. 2016 17:59

Bonsoir Manfraid

je viens de tester le code proposé, j'ai la même erreur que précédemment .

Traceback (most recent call last):
File "au.py", line 26, in <module>
GPIO.add_event_detect(25, GPIO.FALLING, callback=extinction)
RuntimeError: Failed to add edge detection

voili voila

Gérard

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: gestion BP arret pour raspberry

Message par Manfraid » ven. 8 janv. 2016 18:13

Essayé ceci dans un autre sxpcriot et donne moi le retour

Code : Tout sélectionner


import RPi.GPIO as GPIO  
a = GPIO.VERSION  
print a

NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

Re: gestion BP arret pour raspberry

Message par lmgmo » ven. 8 janv. 2016 18:31

voici le résultat
0.5.11
Gerard

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: gestion BP arret pour raspberry

Message par Manfraid » ven. 8 janv. 2016 21:17

Autre question est tu sus wheezy ou jessyie ?
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

Re: gestion BP arret pour raspberry

Message par lmgmo » ven. 8 janv. 2016 22:17

je suis incapable de te dire si je suis sous wheezy ou jessyie , j'ai fais pas ma d'essai !!
y a t'il une commande pour le savoir ?

depuis j'ai mis a jour le système il y était, sauf le GPIO qui est passé de 0.5.1 à 0.6.1, mais le pb persiste !

j'ai trouvé cela, mais en anglais ... je ne comprends pas tout voici le lien :https://groups.google.com/forum/#!topic ... PeRiNyLXkA

je n'ai pas mentionné, mais j'ai installé un écran Adafruit PiTFT - 2.8" Touchscreen Display for Raspberry Pi qui fonctionne parfaitement. Il y a peut être une incidence avec mon pb.
Mon programme de slider tourne correctement avec la gestion d'un moteur Pas à Pas utilisant d'autre E/S

bonne nuit

lmgmo
Messages : 7
Enregistré le : mer. 6 janv. 2016 17:26

Re: gestion BP arret pour raspberry

Message par lmgmo » jeu. 14 janv. 2016 10:46

Bonjour

je reviens avec mon Pb pour stopper le raspberry

j'ai installé la version Version: November 2015 Release date: 2015-11-21 Kernel version: 4.1

avec celle-ci j'arrive a faire fonctionner mon programme, je n'ai plus d'erreur, c'est parfait ... enfin prque.

par contre le n'arrive plus a utiliser mon ecran Adafruit PiTFT - 2.8" Touchscreen Display, j'ai une erreur me disant que le serveur X est déjà utilisé !! perdu

Voila c'est le bb

Gérard

Répondre

Retourner vers « Le GPIO »