Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-13 06:57
Esta publicación le mostrará cómo puede construir una cámara de lapso de tiempo simple usando una Raspberry Pi. La resolución, la duración y el tiempo se pueden actualizar fácilmente en el script. Hemos creado algo similar usando la placa ESP32-CAM, pero la calidad de la cámara Raspberry Pi es mucho mejor que eso y, por lo tanto, los resultados también son mejores que en la versión anterior.
El video de arriba le brinda una descripción general de cómo todo se combina. Recomendaría verlo primero para comprender mejor cómo puede hacer y modificar este proyecto.
Paso 1: prepara la Raspberry Pi
No necesita una pantalla para este proyecto, pero decidí usar una para mostrarle cómo funcionan los scripts. También usaré una Raspberry Pi 3 en este ejemplo, pero esto funcionará con cualquier variante que admita el uso de una cámara.
Lo primero que debe hacer es descargar la imagen de Raspbian. Usé la versión de escritorio de Raspbian ya que me gustaría acceder al escritorio de Raspberry para mostrarle los archivos y demás. Entonces, si planea usar una pantalla, le recomendaría que la descargue también. A continuación, debe flashear la imagen en una tarjeta microSD adecuada y, para esto, recomendaría usar Etcher. Decidí usar WiFi en lugar de una conexión Ethernet y también decidí SSH en la placa para controlarla. En lugar de hacer esto, también puede conectar un teclado a la Raspberry Pi y ejecutar todos los comandos directamente desde la terminal. La decisión es tuya.
Si planea usar SSH a través de WiFi, deberá crear un archivo con los detalles de la red. Puede descargar el archivo de plantilla desde el enlace a continuación para comenzar. Simplemente ábralo usando un editor de texto como notepad ++ o Sublime Text y luego ingrese su código de país, nombre de red y contraseña. Una vez hecho esto, guarde el archivo y cópielo en la unidad de arranque de la Raspberry Pi. Para habilitar SSH, simplemente tiene que crear un archivo en blanco con el nombre ssh y colocarlo en la unidad de arranque. No es necesario agregar ninguna extensión. Una vez hecho esto, puede insertar la tarjeta microSD, conectar todo y arrancar la Raspberry Pi.
Archivo de plantilla WPA:
Como se puede ver en el video, la resolución de la pantalla inicialmente era incorrecta y tuve que agregar la configuración HDMI correcta para que funcionara. Esto depende de la pantalla que esté utilizando, por lo que no enumeraré las declaraciones aquí, pero puede consultar el video y la imagen si está interesado.
Lo siguiente que debemos hacer es abrir una terminal en su computadora y SSH en la placa usando su dirección IP. Puede utilizar un software como el escáner AngryIP para obtener la dirección IP de la placa. Luego, abre una terminal y escribe "ssh [email protected]" pero asegúrate de cambiar la dirección IP para que coincida con la de tu placa. Deberá ingresar una contraseña y la contraseña predeterminada es "frambuesa". Luego, necesitamos habilitar la cámara y esto se puede hacer ejecutando el comando "sudo raspi-config". La opción de la cámara se enumera debajo de las opciones de interfaz y una vez habilitada, tendrá que reiniciar la placa.
Paso 2: prueba la cámara y escribe el guión
Antes de escribir el guión, es recomendable asegurarse de que la cámara esté funcionando. Para hacer esto, simplemente vuelva a SSH en el tablero y luego ejecute el comando "raspistill -o test.jpg". Esto capturará una imagen y la guardará en el directorio actual con el nombre test.jpg. A continuación, puede ejecutar el comando "ls" para comprobar si se creó el archivo. La ejecución del comando "ls" mostrará una lista de todos los archivos y carpetas que están presentes en el directorio actual. Si el archivo existe, puede estar seguro de que la cámara funciona correctamente.
A continuación, necesitamos escribir el script y esto se puede hacer ejecutando el comando "sudo nano time-lapse.sh", que abrirá un editor de texto. Luego debe escribir lo siguiente como se muestra en la imagen:
#! / bin / bash
raspistill -t 20000 -tl 1000 -w 1920 -h 1080 -o /home/pi/images/img%05d.jpg
Esto hace que la placa capture imágenes continuamente durante 20 segundos (20000 ms), en un intervalo de 1 segundo (1000 ms). También define la resolución de 1920 x 1080 y también especifica la ubicación donde se deben almacenar las imágenes. El "% 05d" especifica que los nombres de las imágenes deben contener un total de 5 dígitos con ceros a la izquierda. Una vez hecho esto, simplemente guarde el archivo presionando "CTRL + X", luego "Y" y luego la tecla "Enter".
Entonces necesitamos hacer que el script sea ejecutable, lo cual se puede hacer ejecutando el comando "sudo chmod + x time-lapse.sh". Antes de que podamos ejecutar el script, necesitamos crear el directorio de imágenes, y esto se puede hacer ejecutando "mkdir images". Luego, puede probar el script ejecutando el comando "./time-lapse.sh". El tablero A continuación, capturará 20 imágenes y las guardará en la carpeta de imágenes. Puede navegar hasta la carpeta y ejecutar el comando "ls" para ver los archivos.
A continuación, tenemos que automatizar el script para esto, usaremos el método systemd que usamos en la publicación anterior donde creamos una cámara IP. Primero necesitamos ejecutar el siguiente comando "sudo nano /etc/systemd/system/time-lapse.service" que abrirá un editor de texto. Luego debe escribir lo siguiente, pero recomendaría simplemente copiarlo.
[Unidad]
Descripción = lapso de tiempo
Después = multi-user.target
[Servicio]
Tipo = simple
ExecStart = / inicio / pi / time-lapse.sh
Usuario = pi
WorkingDirectory = / home / pi
Reiniciar = en caso de falla
[Instalar en pc]
WantedBy = multi-user.target
Luego, simplemente necesita guardar el archivo como antes y luego habilitar el servicio ejecutando "sudo systemctl enable time-lapse.service". Luego, simplemente reiniciamos el archivo. Una vez que la placa se inicie, podrá verla capturar las imágenes y guardarlas en la ubicación.
Paso 3: Edite el script para capturar indefinidamente y guardarlo en USB
El script actualmente solo captura imágenes durante los primeros 20 segundos y si necesitamos editarlo para que capture imágenes indefinidamente. Para hacer esto, vuelva a SSH en la placa, luego detenga el servicio ejecutando "sudo systemctl stop time-lapse.service". Luego, abra el archivo de secuencia de comandos ejecutando "sudo nano time-lapse.sh". Pase el valor 0 a la bandera "-t" ya que esto hará que capture imágenes indefinidamente. También seguí adelante y deshabilité la vista previa de la imagen agregando la bandera "-n" como se puede ver en la imagen. Luego debe guardar el script e iniciarlo ejecutando "sudo systemctl start time-lapse.service".
También puede actualizar la ubicación de almacenamiento a una unidad USB. Primero, conecte la unidad USB y ábrala en el Administrador de archivos. Anote la ubicación que debería ser similar a "/ media / pi / USB_DRIVE_NAME". Luego, simplemente detenga el servicio como arriba y ábralo para editarlo. A continuación, puede cambiar la ubicación de almacenamiento. Asegúrese de que la carpeta que especifique exista, si no, simplemente créela usando el comando mkdir. Una vez hecho esto, inicie el script nuevamente y reinicie la placa. Capturará y guardará imágenes en la nueva ubicación.
Una vez que obtenga las imágenes, puede usar varias aplicaciones diferentes para convertir esto en un video. Time Lapse Creator es una de esas aplicaciones que se puede utilizar.
Así de fácil es crear una cámara de lapso de tiempo con la Raspberry Pi. Si le gustó este proyecto, considere apoyarnos suscribiéndose a nuestro canal de YouTube.
YouTube:
Gracias por leer.