Por todas partes ves que la gente ha puesto una Raspberry PI con la camara y la deja haciendo fotos automaticamente cada cierto tiempo y luego te muestran el video de las fotos. Es chulo y te gustaria hacerlo, ¿a que si?
Bueno, pues hece tiempo que puse una a hacerlo, y hace unas semanas hice un manual para hacer todo eso. Vamos a ver si te sirve !!!
Cosas que se necesitan:
- Paciencia, porque seguro que no te sale a la primera y algún problemilla te dara todo esto.
- Una Raspberry PI (vale cualquiera, puedes usar la 2, la 3, la 4 o incluso la Zero. Yo no te recomiendo la 4, porque no es necesario, una Zero es suficiente, y abulta poco, se puede poner en la ventana sinq ue moleste mucho).
- La cámara de la PI (puedes usar una camara USB, pero la "oficial" es mas pequeña).
- Un enchufe para tenerla encendida (puedes usar una bateria externa, pero seguro que te olvidas de cargar la bateria y te das cuenta tras varios dias sin hacer fotos).
- Una tarjeta micro SD (obvio, ¿no?).
Cosas que NO necesitas:
- Un monitor (que la vas a dejar en la ventana, y encima va a estar sin que hagas nada. Olvidate del monitor).
- Teclado (lo mismo que antes).
- Ratón (¿hace falta volver a explicarlo?).
Vamos a ver, suponemos que sabes conectar todo y llegar a hacer una foto con la cámara de la Raspberry PI. Todo eso lo vamos a dar por sabido.
También vamos a suponer que sabes conectarte a la Raspberry PI por SSH (es la forma mas cómoda para este tipo de proyectos).
También vamos a omitir las explicaciones para pasar a tu ordenador las fotos o los videos que la Raspberry PI ha hecho. Puedes pasarlas por FTP, crearte un script para hacerlo, o usar cualquier programa como el "WinSCP" ¿Porqué? Sencillo, tras unos cuantos dias la micro SD estará llena y no podra hacer mas fotos. Asi que tendras que mover los videos y las fotos (o borrarlas si no las quieres tener) a otro sitio, como el ordenador de sobremesa ese que tienes con un disco duro donde tienes mucho espacio para almacenar las fotos sin problemas. Que te quede una cosa clara. Lo de pasar las fotos te dejo que lo hagas a mano, no te voy a explicar aquí cómo se hace. Quizá algún dia ponga una entrada de ese tema, pero por el momento te lo dejo a ti.
Una vez que tenemos las cosas claras, vamos al meollo de la cuestión.
En la web de Instructables puse el manual. Si, esta en inglés, y te voy a decir la verdad, no me apetece escribir todo de nuevo aquí, asi que aquí tienes el link:Time-Lapse-With-Raspberry-PI. Si lo quieres con mas explicaciones y detalles, ya sabes, al manual en inglés.
Espero que con lo que pongo aqui te sea suficiente.
Pero te voy a poner los pasos esenciales:
- 1 entrada en crontab para "tomar" la foto cada X minutos.
- 1 entrada en crontab para "reducir" lo que ocupan las fotos (la camara las toma sin comprimir, asi que te recomiendo que las comprimas, ya que las JPG no pierden una calidad excesiva).
- 1 entrada en crontab para "generar" el video con las fotos del dia de ayer.
- 1 script para hacer la foto.
- 1 script para reducir el tamaño de las fotos.
- 1 script para generar el video con las fotos que se han hecho.
Las fotos se van a ir haciendo. Pero el video hay que hacerlo despues de tener las fotos. Yo opté por reducir el tamaño de las fotos y hacer el video por la noche por dos motivos sencillos:
- Las fotos por la noche son mas o menos negras. No ocupan mucho.
- Las fotos por la noche no tardan mucho en hacerse. Si el proceso de reducr la calidad de la foto tarda (ya te digo que tarda), es mejor que sea cuando no estas haciendo fotos que tardan en grabarse.
Además, usé una Raspberry PI Zero, y no se puede decir que sea una tortuga, para lo que estamos haciendo sobra, pero no es un misil, así que es mejor darle su tiempo.
Para que todo funcione hay algunas cosas que hay que instalar:
- ffmpeg para hacer el video
- imagemagic para reducir las imagenes.
Se instalan con éstos comandos:
sudo apt-get install ffmpeg
sudo apt-get install imagemagick
Lo que hay que añadir en crontab:
*/5 * * * * sh /home/pi/Documents/TakeOnePhoto.sh 2>1&
0 1 * * * sh /home/pi/Documents/ReduceQualityYesterday.sh 2>1&
0 2 * * * sh /home/pi/Documents/CreateVideoYesterday.sh 2>1&
Script para hacer la foto:
#!/bin/bash time=$(date +"%Y-%m-%d_%H%M") dayFolder=$(date +"%Y-%m-%d") # Check if the folder exists or create it.... mkdir -p /home/pi/Pictures/Time-Lapse/$dayFolder raspistill -w 1920 -h 1080 --quality 75 -o /home/pi/Pictures/Time-Lapse/$dayFolder/$time.jpg
Script para hacer el video:
#!/bin/bash folderYesterday=$(date -d "yesterday" '+%Y-%m-%d') ffmpeg -r 25 -pattern_type glob -i '/home/pi/Pictures/Time-Lapse/'$folderYesterday'/*.jpg' -c:v copy '/home/pi/Pictures/Time-Lapse/'$folderYesterday'.avi'
El script para redudir las fotos en version sencilla:
#!/bin/bash folderYesterday=$(date -d "yesterday" '+%Y-%m-%d') convert -quality 80% '/home/pi/Pictures/Time-Lapse/'$folderYesterday'/'$folderYesterday'_*.jpg' -set filename:original %t '/home/pi/Pictures/Time-Lapse/'$folderYesterday/%[filename:original].jpg
Te recomiendo que revises el script que puse en Instructables, porque a veces la Raspberry Pi Zero no da de si y no termina de reducir todas las fotos. Por eso lo hice mas "a trozos". Si lo dejas en una sola linea, a veces el proceso se traba al hacer la foto que hay que tomar en ese momento y no es capaz de seguir con la conversión. Pero si se va haciendo por grupos de fotos, no suele quedarse colgado y se convierten bien las fotos.
Esto es el resultado, pero pasado a gif para ponerlo aquí:
Espero que te haya sido útil 👍
No hay comentarios:
Publicar un comentario