automatizacíon generica de radio utilzando cron

ejemplos con mpc, listen y ecasound en todos los ejemplos utilizamos cron para automatizar un orden que reproduce una audio a el momento indicado.

mpd

podemos adaptar el playJingle script para leer la hora.

lahora.sh.txt

tambien ver:

listen

para reproducir un audio:

listen -p $HOME/audio/audio.ogg

el “$HOME” esta reconocido para la sistama como carpeta de inicio del usuario, o ”/home/usuario”

soponemos que en “$HOME/audio” tenemos un archivo para decir la hora cada 30 minutos del dia. por ejemplo tenemos un audio que dice “son las dos y media” que si llama “hora-2_30.ogg”. lo que queremos es que si reproduce a las 2:30. :

listen -p $HOME/audio/hora-1_30.ogg

Cron

Cron es una sistema de automatización en todo sistema Unix. para crear un crontab, es decir crear una tarea automatizado hacemos:

crontab -e

eso nos abre el crontab en un editor de texto. el crontab tiene 6 columnas:

m h  dom mon dow   command

es (m) minuto (h) hora (dom) dia de la mes (mon) mes (dow) dia de la semana y (command) el orden que vamos a correr.

# m h  dom mon dow   command
30 * * * *       listen -p hora-2_30.ogg

pero eso no es lo que queremos. asi reproduceria “hora-2_30.ogg” cada media hora. más bien hay que ver una forma ecojer un archivo en base del tiempo. por eso un muy sencilla script de bash.

cortar y pegar eso en un editor de texto. y guardalo en algun lugar. yo lo guardé en $HOME/tmp con el nombre tiempo.sh.

#!/usr/bin/env bash
audiodir=$HOME/audio/
archivo=hora-`date +%H_%M`.ogg
orden="/usr/bin/listen --play"
#listen requiere de un servidor de X:
export DISPLAY=:0.0
$orden $audiodir$archivo &
exit 0

ahora vamos a cambiar la tarea de cron para que corre nuestra script cada 30min en lugar de reproducir aquella audio. cada ves que cron corre, el script busca en la carpeta “$HOME/audio/” un archivo que corresponde con la hora. lo vamos hacer ejecutable:

chmod +x $HOME/tmp/tiempo.sh

editamos el crontab:

crontab -e

asi que el nuevo crontab aparece así.

# m h  dom mon dow   command
30 * * * *	$HOME/tmp/tiempo.sh

Otros Reproctores

nuestra solucion de automazion es generica, asi que podemos hacer lo mismo utilizando otros reprodutores. en la linea orden=”/usr/bin/listen -p” cambiamos lo que esta entre comillas.

fuentes

 
automatizacion.txt · Última modificación: 2010/01/19 14:08 por ashitaka
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki