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.