[RPI] Implémentation GPIO.cleanup() et GPIO.setwarnings(False)

Si vous souhaitez savoir quel programmateur ou thermostat choisir, rendre autonome votre terrarium via Arduino, ou expliquer comment vous pilotez à distance votre arrosage à l'aide d'un Raspberry Pi, cette rubrique est faite pour vous.
Répondre
Guttata
Messages : 1069
Enregistré le : 23 janv. 2005 19:46
Localisation : 78
Contact :

[RPI] Implémentation GPIO.cleanup() et GPIO.setwarnings(False)

Message par Guttata »

Bonjour,

J'ai une petite question pratique d'implémentation :

J'ai fais un petit montage avec une LED pour valider l'interface entre mon site Web (sur mon synology) et les scripts manipulation GPIO (sur Raspberry).
Pour l'instant je fais un GPIO.cleanup() dans un bloc "finally" pour être clean et éviter le warning RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
A terme, il me faudra supprimer ce "cleanup" pour conserver le statut de mon GPIO après l'éxécution du script.

Comment faites vous pour être clean ? Vous mettez juste l’instruction GPIO.setwarnings(False) ?

Merci



Avatar du membre
Merwnn
Messages : 316
Enregistré le : 13 sept. 2012 15:51
Localisation : Montpellier - 34

[RPI] Implémentation GPIO.cleanup() et GPIO.setwarnings(Fals

Message par Merwnn »

Guttata a écrit :Bonjour,

J'ai une petite question pratique d'implémentation :

J'ai fais un petit montage avec une LED pour valider l'interface entre mon site Web (sur mon synology) et les scripts manipulation GPIO (sur Raspberry).
Pour l'instant je fais un GPIO.cleanup() dans un bloc "finally" pour être clean et éviter le warning RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
A terme, il me faudra supprimer ce "cleanup" pour conserver le statut de mon GPIO après l'éxécution du script.

Comment faites vous pour être clean ? Vous mettez juste l’instruction GPIO.setwarnings(False) ?

Merci
Je me suis pas encore occupé de coder du côté RPI donc je vois pas ce que tu veux faire avec ta focntion "cleanUp".

Mais d'un point de vue programmation je te dirais:
- Peux-tu tester s'il est déjà en cours d'utilisation, et de ce fait éviter d'utiliser ce channel déjà utilisé.
- Ce n'est qu'un Warning, donc au pire aucune inquiétude à avoir si tu connais le problème et tu ne sais pas comment le contourner.
- Désactiver les warnings durant l'appel de ta fonction "cleanUp" et puis les réactiver ensuite.

Voilà, bon courage :)

Guttata
Messages : 1069
Enregistré le : 23 janv. 2005 19:46
Localisation : 78
Contact :

[RPI] Implémentation GPIO.cleanup() et GPIO.setwarnings(Fals

Message par Guttata »

La fonction cleanup te permet justement d'être propre en "resetant" les gpios utilisés durant le script.

Tu peux tester si un gpio est actif mais le warning reste la quoiqu'il arrive. Il faut que je regarde si j'ai bien la dernière version de la bibliothèque.

Répondre