Raspberry Pi
Tutorial de Rapberry Pi en español.
- Juan Antonio Villalpando -
Volver al índice del tutorial
____________________________
26.- Webcam USB en el Raspberry Pi. Timelapse.
- En Aliexpress podemos encontrar cámara como esta para el Raspberry Pi:
5MP cable de la flexión del módulo de la Cámara webcam video 1080/720p
Raspberry Pi para V2-8MP 1080P30/cámara Raspberry Pi NoIR para V2-8MP 1080P30
- Pero en nuestro caso vamos a utilizar una cámara USB
- Vamos a seguir este tutorial:
https://www.raspberrypi.org/documentation/usage/webcams/
https://geekytheory.com/timelapse-24-horas-con-raspberry-pi-webcam-usb
https://geekytheory.com/tutorial-raspberry-pi-3-eye-toy-camera-ps2-motion-system funciona con 127.0.0.1:8081
- Comprobamos que la cámara está conectada:
_____________________________________________________________________________
1.- Conexión de la Webcam a USB y grabación de imágenes en timelapse.
1.- Conectamos la webcam a USB y observamos los dispositivos conectados.
lsusb
2.- Observamos la cam conectada
ls -al /dev/video*
/ pi@raspberrypi:~ $ ls -al /dev/video*
crw-rw----+ 1 root video 81, 0 may 12 22:36 /dev/video0
3.- Información de la webcam.
sudo v4l2-compliance -d /dev/video0
4.- Instalación de fswebcam y mencoder.
- fswebcam se utiliza para captar imágenes de la webcam.
- mencoder se utiliza para tomar las imágenes captadas y crear un vídeo con esos fotogramas.
sudo apt-get install fswebcam
sudo apt-get install mencoder
5.- Ejemplo y prueba.
- Podemos captar una imagen mediante esta orden:
fswebcam imagen.jpg
- Otendremos esa imagen en el directorio /home/pi.
- Resolución:
fswebcam -r 1280x720 imagen2.jpg
- Resolución completa:
fswebcam -r 1280x720 --no-banner imagen3.jpg
- Fecha, en script:
DATE = $(date +"%Y-%m-%d_%H%M")
fswebcam - r 1280x720 --no-banner /home/pi /$DATE.jpg
6.- Programa de captura de imágenes.
- Creamos el directorio:
mkdir /home/pi/capturas
- Cada 10 segundos capturará una imagen.
- Capturará 12 imágenes y las guardará en /home/pi/capturas
|
import os
import time
import sys
inicio = 0
final = 20
print ("Inicio de capturas.")
while inicio < final:
print ("Captura.")
os.system("fswebcam -i 0 -d /dev/video0 -r 640x480 -q --title @raspberry /home/pi/capturas/%d%m%y_%H%M%S.jpg")
inicio = inicio + 1
time.sleep(10)
print ("Se han capturado las 20 imagenes. Estan en /home/pi/capturas.")
sys.exit()
|
7.- Ejecución.
- Ejecutamos el script.
- Vamos a /home/pi/capturas y allí deben estar las 12 imágenes capturadas cada 10 segundos.
8.- Codificación de las imágenes para convertirlas en vídeo. Timelapse.
ls *.jpg > imagenes.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=640:480 -o video.avi -mf type =jpeg:fps=24 mf://@imagenes.txt
9.- Error.
- Ejecuta:
sudo fswebcam -i 0 -d /dev/video0 -r 640x480 -q imagen.jpg
- Si te sale error:
Error setting pixel format
VIDIOC_S_FMT device or resource busy
Probablemente está funcionando "motion" y pueden ser incompatibles.
- Consulta el ID de motion
sudo ps -aux | grep motion
- Termina el proceso
sudo kill -9 id_de_motion
___________________________________________________
|