Arranque Raspberry

monkeyserna edited this page May 26, 2014 · 6 revisions

El script de arranque se ejecuta al encender la Raspberry Pi, una vez iniciados los procesos de red (networking) y creada la red AdHoc. Este script inicia de forma paralela el servidor de cámara y el servidor de comandos.

Este script se almacena en la dirección /etc/init.d/charlie

Activar/desactivar arranque al inicio

Para iniciar los servidores de cámara y comandos al arrancar la Raspberry Pi se emplea el comando:

update-rc.d charlie defaults

Si deseamos desactivar el arranque automático, el comando es el siguiente:

update-rc.d charlie remove

Iniciar/detener el servicio

Para iniciar explícitamente este servicio se emplea el comando:

service charlie start

Para detener los servidores se emplea el comando:

service charlie stop

Explicación del código

Script de arranque: charlie

Este servicio se almacena en la dirección /etc/init.d/charlie.

El código define una serie de dependencias. Esto significa que los siguientes servicios deben estar activos y ejecutándose antes de iniciar los servidores:

  • $all Debe arrancar una vez se hayan iniciado todos los servicios.
  • hostapd Red Ad Hoc.
  • networking Servicios de redes (conexiones de red Wi-Fi) .

En función del parámetro recibido, realiza 3 posibles acciones

  • start
  • Delega en el script /home/pi/server/start.sh la tarea de iniciar los servidores.
  • stop
  • Detiene los servidores.
    • Detiene el servidor de cámara mediante el comando service uv4l_raspicam.sh stop
    • Detiene el servidor de comandos mediante el script /home/pi/server/killserver.sh
  • Otro caso
  • Muestra el mensaje Usage: charlie {start|stop}
Código fuente
#! /bin/sh
# /etc/init.d/charlie
 
### BEGIN INIT INFO
# Provides:          charlie
# Required-Start:    $all hostapd networking 
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts the robot servers
# Description:       Starts the robot servers
### END INIT INFO

case "$1" in
  start)

cd /home/pi/server/
./start.sh

;;
  stop)
    echo "Stopping Chalie servers"
    service uv4l_raspicam.sh stop
	cd /home/pi/server/
	./killserver.sh

    ;;
  *)
    echo "Usage: charlie {start|stop}"
    exit 1
    ;;
esac
 
exit 0

start.sh

Muestra una serie de mensajes de control y ejecuta en paralelo el servidor de comandos y de cámara.

#! /bin/sh
echo "Charlie v0.03"
echo "Starting camera and websocket servers..."
./cmdserver.py &
./cam.sh &
echo "Done!"
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.