Pages

martes, 28 de enero de 2014

Como ejecutar un script al iniciar la Raspberry Pi

Estaba investigando como realizar automaticamente la transmision de emergencia hacia Ustream desde mi Raspberry Pi de Audio y video y vi la solución con un script.

Con esto hacemos nuestro script un servicio en la Raspberry Pi y evitamos tener que acceder al iniciar la placa para ejecutar el mismo.
Lo primero que necesitamos hacer es crear un archivo en /etc/init.d/  . Yo uso "vi" para crear los archivos o podés usar "mcedit" u otro.

   sudo vi /etc/init.d/stream_ustream_script

Y escribimos adentro lo siguiente:

#! /bin/sh
# /etc/init.d/stream_ustream_script

# Si queremos que algo se ejecute siempre lo pondremos aca

# Aca decimos si arrancarlo o pararlo (como los servicios normales)

case "$1" in
start)
echo "Stream hacia Ustream iniciando"
/home/scripts/ustream.sh
;;
stop)
echo "Stream hacia Ustream parando"
killall ustream.sh  # forma muy rustica de parar un programa!
;;
*)
echo "Servicio: /etc/init.d/stream_ustream_script {start|stop} teclee la opcion que desee"
exit 1
;;
esac

exit 0

Salimos del editor y guardamos el archivo. Luego le asignamos permisos al mismo:

   sudo chmod 755 /etc/init.d/stream_ustream_script

Lo que necesitamos ahora es crear otro archivo que es donde corremos el código que realiza la transmision. En este caso el archivo se llama ustream.sh

Creamos un archivo (en este caso lo hice en /home/scripts) con el nombre ustream.sh

   sudo vi ustream.sh

Escribimos lo siguiente utilizando nuestros datos de Ustream

#! /bin/sh
#Script que inicia la transmision en Ustream desde Raspberry Pi


KEY=uKZ15uXTQMnvNa0MuYqUSk5s7hlgSadn

while true;

do

 avconv -f video4linux2 -s 320x240 -r 14 -b 350k -i /dev/video0 -vf drawtext="fontfile=/usr/share/fonts/truetype/freefont/FreeSansBold.ttf:text='Transmision de emergencia':fontsize=16:fontcolor=blue:x=2:y=360" -acodec copy -metadata title="24x7 PiCam" -f flv rtmp://1.5717947.fme.ustream.tv/ustreamVideo/571xx47/UstreamKey

sleep 10

done;

Salimos y guardamos el archivo

Y ahora añadimos el fichero al arranque de la Raspberry

  sudo update-rc.d stream_ustream_script defaults

Con esto ya está todo listo para arrancar la transmision hacia Ustream al iniciar la Raspberry, y tambien podemos ejecutarlo a mano con un servicio normal:

   sudo /etc/init.d/stream_ustream_script start  

O para pararlo

   sudo /etc/init.d/stream_ustream_script stop

En caso de no necesitar que inicie al encender la Raspberry Pi:

   sudo update-rc.d -f stream_ustream_script remove

Ojalá esto sea útil para alguien más.


Fuente:

No hay comentarios:

Publicar un comentario