Translate

jueves, 20 de febrero de 2014

Raspberry Pi GPIO: Solucionando el error "This channel is already in use"

Cuando se esta trabajando con el módulo GPIO del Rasberry Pi, por un error en el programa, el canal queda en ejecución al no ser cerrado adecuadamente. Esto genera el error: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings. 

Instrucciones en video:


Este error, permite que el programa se ejecute, pero al estar el canal en uso, evita que se pueda acceder al puerto. Para poder tener de nuevo acceso al puerto, se debe cerrar o "matar" el proceso que se quedó en ejecución.

En la consola, ejecutar el comando: ps aux | grep python para poder ver los procesos que se de python que se están corriendo actualmente.


Después de identificar los procesos que se quedaron en ejecución, se pueden finalizar con el comando: sudo kill -9 xxxx, donde xxxx corresponde con el PID del proceso:


Para verificar se puede ejecutar de nuevo el comando: ps aux | grep python

Ahora, se debe evitar que se vuelva a producir este error, liberando los canales de GPIO, con el comado GPIO.cleanup(), al cerrar el programa en ejecución, con las instrucciones:

try:
      main
except: KeyboardInterrupt:
      GPIO.cleanup()

Ejemplo:

No hay comentarios.:

Publicar un comentario