Un sensor de sonido que recoge cuando hay un sonido y si es así me activa el reproductor con un fichero mp3 y enciende un led durante 4 seg.
(solución que doy para callar al perro cuando ladra).
Pues bien si ejecuto el comando directo funciona perfectamente.
Pero lo quiero automatizad con "crontab -e" para que se ejecute en cada reinicio y funciona a media, me explico:
El script se ejecuta y sigue activo (es lo que quiero), ya que se enciende el led cuando hago sonido pero no reproduce el mp3.
Utilizo para reproducir el mp3 la utilidad "pygame".
También he utilizado "mplayer" y me pasa igual (se ejecuta el script pero no reproduce el mp3).
Os enseño el script y el comando directo:
Script python: (guardado en /home/admin/aplicacion)
Código: Seleccionar todo
import time
import RPi.GPIO as GPIO
from pygame import mixer
mixer.init()
mixer.music.load("/home/admin/aplicacion/perro.mp3")
mixer.music.set_volume(2.0)
SONIDO= 0
ESPERA = 4
PINLED = 10
PINSONIDO = 11
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(PINLED, GPIO.OUT)
GPIO.setup(PINSONIDO, GPIO.IN)
while True:
SONIDO = GPIO.input(PINSONIDO)
if SONIDO == 1:
mixer.music.play()
print ("hay sonido")
GPIO.output(PINLED, GPIO.HIGH)
time.sleep(ESPERA)
mixer.music.stop()
GPIO.output(PINLED, GPIO.LOW)
time.sleep(ESPERA)
admin@raspberrypi:~ $ python3 /home/admin/aplicacion/SensorSonidoLed.py (aquí funciona correctamente)
Orden en crontab:
PATH=/usr/bin:/bin:/home/admin/.local/bin
#* * * * * env > /tmp/cronenv
@reboot ( sleep 30 ; python3 /home/admin/aplicacion/SensorSonidoLed.py ) >/dev/>null 2>&1
Mi prooblema creo que esta al cargar la aplicación de reproducción, pero no sé como solucionarla.
Gracias