miércoles, 15 de abril de 2015

Montaje de la Cámara

MONTAJE DE LA CÁMARA


Siga las instrucciones oficiales para el montaje de la cámara:

A continuación, si lo tienes, configurar el Cuello de Cisne 360. Esto le permitirá orientar la cámara en la parte derecha de la sala. Un extremo de la montura se inserta en la toma de auriculares del Pi; sólo lo utiliza para mantener en sí en su lugar y no hace nada para el gato. El otro extremo es un tornillo con un par de arandelas de plástico que fijan la placa cámara al cuello de cisne.
Debe tener algo similar a la imagen de abajo.



Si no lo ha hecho ya, pruebe la cámara está trabajando con el siguiente comando:

raspivid - t 0

Presione Ctrl + C para salir.


PROGRAMAR LA CAMARA (CODIGO)

Ahora estamos listos para extender nuestro programa anterior para darle la capacidad de controlar la cámara del tablero. Para empezar, vamos a hacer que se vea nuestro programa de lo que la cámara puede ver cuando se detecta movimiento; podemos configurar la grabación en un archivo más tarde.

Haga una copia del programa anterior y vamos a utilizar para que este paso:

cp pirtest . pirCamera py . py

Ahora utilice el siguiente comando para editar el archivo:

nano pirCamera . py

Primero tenemos que añadir el picamera importación declaración en la parte superior; esto permite que su programa para acceder al código pre-hechos que puede controlar la cámara del tablero. Entonces Declaramos el objeto de cámara de la leva, que proporciona todas las funciones de control de la cámara que tenemos que utilizar. Luego dentro del tiempo de bucle donde imprimimos el mensaje alto o bajo, podemos probar a ver si current_state es ALTA / True (se detecta que significa movimiento); entonces podemos iniciar o detener la vista previa de la cámara en consecuencia.
.

Código de la configuración de la cámara

importación RP _ . GPIO como GPIO
 importación tiempo
 importación picamera   # nuevo

sensor =  4

GPIO . setMode ( GPIO . BCM )
GPIO . setup ( sensor , GPIO . EN , GPIO . PUD_DOWN )

PREVIOUS_STATE =  False
current_state =  False

leva = picamera . PiCamera ( )   # nuevo

mientras  Verdadero :
    el tiempo . sueño ( 0,1 )
    PREVIOUS_STATE = current_state
    current_state = GPIO . input ( sensor )
    if current_state ! = previous_state :
        new_state =  "HIGH"  if current_state else  "LOW"
        print ( "GPIO pin% s es% s "  %  ( sensor , new_state ) )
        si current_state :   # nueva
             leva . start_preview ( )
        otra cosa :
            cam . stop_preview ( )

Presione Ctrl + O para guardar y Ctrl + X para salir. Para ejecutar el programa utilice el siguiente comando:

sudo python3 pirCamera . py

Presione Ctrl + C cuando se quiere salir.



GRABACIÓN EN UN ARCHIVO Y REPRODUCCIÓN

Ahora podemos añadir un poco más de código que nos permite grabar en un archivo para su reproducción en una etapa posterior. Idealmente, si hay muchos intrusos en su habitación que desea capturar a todos y no sólo el más reciente. Así que para hacer eso, necesitamos una forma de generar automáticamente un nuevo nombre de archivo se detecta cada movimiento del tiempo. La forma más fácil y segura de hacer esto es hacer un nombre de archivo de la fecha y la hora.

Por ejemplo, si el tiempo era el 11 de febrero 2014 a las 10:24 AM y 18 segundos, el nombre de archivo sería algo como esto: 2014-02-11_10.24.18.h264. Este utiliza el formato de año-mes-DAY_HOUR.MINUTE.SECOND.h264 ; la parte h264 es el formato que se grabará. Es el mismo formato utilizado por YouTube.
Para ello, tenemos que importar la fecha y hora del módulo Python y escribir una función para generar el nombre del archivo. Ver get_file_name a continuación; este utiliza la cadena de vezfunción para insertar los valores de la hora actual en el formato de cadena especificada. Entonces sólo tiene que utilizar los comandos para iniciar y detener la grabación con el nombre de archivo generado. Estos deben ocurrir al mismo tiempo que la previsualización de comandos respectivamente.
nano pirCamera . py

Cualquiera de modificar manualmente o copiar y pegar el código de abajo:

importación RP _ . GPIO como GPIO
 importación tiempo
 importación picamera
 importación datetime   # nueva

def get_file_name ( ) :   # nuevo
     retorno datetime . datetime . ahora ( ) . strftime ( "% Y-% m-% d_% H.% M.% S. h264 " )

sensor =  4

GPIO . setMode ( GPIO . BCM )
GPIO . setup ( sensor , GPIO . EN , GPIO . PUD_DOWN )

PREVIOUS_STATE =  False
current_state =  False

cam = picamera . PiCamera ( )

mientras  Verdadero :
    el tiempo . dormir ( 0,1 )
    PREVIOUS_STATE = current_state
    current_state = GPIO . input ( sensor )
    if current_state ! = previous_state :
        new_state =  "HIGH"  if current_state else  "LOW"
        print ( "GPIO pin% s es% s "  %  ( sensor , new_state ) )
        si current_state :
            nombreArchivo = get_file_name ( )   # nueva
             leva . start_preview ( )
            leva . start_recording ( nombreArchivo )   # nueva
         cosa :
            cam . stop_preview ( )
            leva . stop_recording ( )   # nuevo
Presione Ctrl + O para guardar y Ctrl + X para salir. Para ejecutar el programa utilice el siguiente comando:
sudo python3 pirCamera . py
Presione Ctrl + C cuando se quiere salir.

REPRODUCCIÓN

Si ahora utiliza los ls comando debería ver que algunos archivos se han generado. Usted puede utilizar el comando siguiente para reproducir un archivo. Reemplace <file> con el nombre del archivo que desea reproducir.

omxplayer <archivo> -o hdmi
Por ejemplo: omxplayer 2014-02-11_10.24.18.h264 -o hdmi


MODO INVISIBLE

Usted probablemente ha notado el LED de la placa de la cámara roja se enciende cuando se inicia el programa en Python. Esto será muy notable a cualquier posible intruso así que es una buena idea para desactivarlo. Esto se puede hacer mediante la edición del archivo de configuración de Raspberry Pi. Escriba el siguiente comando:

sudo nano / boot / config . txt

Agregue la siguiente línea al final del archivo:

disable_camera_led = 1

Presione Ctrl + O para guardar y Ctrl + X para salir. Los cambios sólo tendrán efecto después de un reinicio, por lo que entrar en el siguiente comando para hacer esto:
sudo reboot.

Si quieres dejar el monitor conectado y encendido mientras se ejecuta el programa, que es una buena idea para editar el código Python para desactivar la cámara de vista previa líneas. Utilice el # señal al comienzo de una línea para desactivarlo.


Otro truco que puedes hacer es comenzar su programa en Python bajo un nombre de usuario diferente. Para ello presione ALT - F2 antes de ingresar; esto le mostrará un nuevo aviso de la conexión, por lo que entrar allí y empezar el programa Python. Ahora bien, si se presiona ALT - F1 para volver al indicador habitual de inicio de sesión, aparecerá como si el Raspberry Pi es inocentemente esperando a alguien para iniciar sesión.

No hay comentarios:

Publicar un comentario