Cámara web de abejas

Cámara web de abejas

Este proyecto describe cómo construir de forma fácil y económica una cámara web para observar abejas utilizando un Raspberry Pi y un módulo de cámara.

Webcam de abejas la cámara web para observar a tus abejas

Materialliste

Descripción del proyecto

 

La Raspberry Pi requiere un sistema operativo que generalmente se instala en una tarjeta de memoria SD. Hay varios sistemas operativos para elegir, como Raspbian, Pidora, Ubuntu y algunos otros. Para nuestra cámara web de abejas queremos utilizar Raspbian, el sistema operativo oficialmente soportado por la Fundación Raspberry. Raspbian se basa en la distribución Linux Debian y está optimizado para el hardware Raspberry Pi.

 

Instalar Raspbian en una tarjeta de memoria SD (Windows)

En solo unos pocos pasos, el sistema operativo Raspian se puede escribir en la tarjeta SD usando una PC con Windows. Sin embargo, el sistema operativo no se copia simplemente a la tarjeta SD, sino que se escribe en la tarjeta de memoria mediante un grabador de imágenes (por ejemplo, Win32DiskImager).

  1. Win32DiskImager descargar
  2. Inserte la tarjeta SD en el lector de tarjetas y verifique si el Explorador de Windows la reconoce.
  3. Descargue la imagen del sistema operativo Raspbian y descomprímala con 7-zip. La imagen debe tener la extensión ".img".
  4. Ejecute el programa Win32DiskImager y seleccione la ruta y el archivo de imagen en el campo "Archivo de imagen". En el campo "Dispositivo", seleccione la letra de la unidad de la tarjeta de memoria SD.
  5. Ahora haga clic en el botón “Escribir” para iniciar el proceso de escritura. El proceso puede tardar algún tiempo.

Una vez completado el proceso, puedes expulsar la tarjeta SD e insertarla en la ranura SD de la Raspberry Pi. Ahora podemos iniciar la Raspberry Pi.

 

Activar cámara

Para poder utilizar el módulo de cámara, primero necesitamos activarlo en Raspbian. Para ello abrimos la herramienta de configuración raspi-config.

$ sudo raspi-config

Seleccione el elemento de menú 5 Opciones de interfaz y en la siguiente pantalla la cámara P1 se configura en "enable".

 

Raspberry Pi Kamera aktivieren

 

 

Trabajos preparatorios para la transmisión en vivo

Antes de instalar el controlador del módulo de la cámara y la herramienta de movimiento para la transmisión, primero actualizamos Raspbian.

$ sudo apt-get update

$ sudo apt-get upgrade

 

Instalar el controlador V4L (Video4Linux) para el módulo de la cámara

El controlador V4L ya está incluido en Raspbian y se puede instalar fácilmente utilizando el siguiente comando:

$ sudo modprobe bcm2835-v4l2

Si el comando se ha ejecutado sin ningún mensaje de error, ahora puedes comprobar si se ha reconocido el módulo de la cámara:

$ ls /dev/video*

La salida debe incluir /dev/video0.

 

Instalación de Motion

El programa de grabación gratuito Video4Linux Motion incluye un servidor web que puede transmitir una transmisión en vivo del módulo de la cámara a la red. Para que la transmisión de vídeo se transmita a través de una conexión segura (TLS - Transport Layer Security o https), se requiere Motion versión 4.2 o superior. La última versión de Motion es 4.3.2 (pi_buster_motion_4.3.2-1_armhf.deb) y se puede descargar aquí.

$ sudo apt install ./pi_buster_motion_4.3.2-1_armhf.deb

Con apt se instalan todas las dependencias necesarias, lo que puede llevar algún tiempo. Un poco más largo.

 

Configuración de Motion

Para configurar Motion correctamente, primero analizamos más de cerca los detalles de la cámara:

$ v4l2-ctl -V


Format Video Capture:
Width/Height : 640/480
Pixel Format : 'YUYV' (YUYV 4:2:2)
Field : None
Bytes per Line: 1280
Size Image : 614400
Colorspace : SMPTE 170M

Ahora editemos el archivo de configuración de Motion:

$ sudo nano /etc/motion/motion.conf

Para activar la transmisión en vivo de nuestra cámara se deben realizar los siguientes cambios:

daemon off -> daemon on

target_dir /tmp/motion -> target_dir/home/pi/Monitor

stream_localhost on ->stream_localhost off

Para mejorar la calidad de la imagen y la velocidad de cuadros, se pueden cambiar las siguientes configuraciones:

width 640     Breite des Videos (Pixel)
height 480    Höhe des Videos (Pixel)
framerate 24     Empfangene Bilderrate pro Sekunde
threshold 5000     Empfindlichkeit der Bewegungserkennung (Anzahl Pixel)
ffmpeg_output_movies off     Keine Videos speichern bei erkannter Bewegung
output_pictures off     Keine Bilder speichern bei erkannter Bewegung
stream_port 8081     Port über den der Livestream erreichbar ist
stream_quality 75     Bildqualität in Prozent (Livestream)
stream_motion on     Ohne Bewegung nur 1 Bilder pro Sekunde (Livestream)
stream_maxrate 24     Max. Bilder pro Sekunde (Livestream)

Los cambios se guardan en el editor nano con ctrl-o.

Ahora necesitamos crear la carpeta /home/pi/Monitor y asignar los permisos de lectura/escritura correspondientes:

$ sudo mkdir /home/pi/Monitor

$ sudo chgrp motion /home/pi/Monitor

$ sudo chmod g+rwx /home/pi/Monitor

Ahora podemos iniciar el servicio:

$ sudo service motion start

 

Prueba la transmisión en vivo de la cámara web de la abeja

Ahora podemos probar fácilmente la transmisión en vivo de la cámara en un navegador (Chromium, Firefox, Chrome, etc.). En la ventana del navegador introducimos la dirección IP y el puerto correspondiente: http://192.168.178.39:8081.

 

Una transmisión segura mediante el Protocolo de Transferencia de Hipertexto Seguro (https)

Como quería integrar la transmisión en vivo en mi sitio web (https), es necesario transmitir también la transmisión de video con https. Todavía tengo que crear certificados para la transmisión cifrada y activar la transmisión TLS en Motion. Para crear certificados autofirmados en Raspberry Pi, primero debe instalarse openssl.

$ sudo apt-get install openssl

Ahora cambiamos a la carpeta de configuración de Motion y creamos el certificado:

$ cd /etc/motion

$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout motion.key -outform pem -out motion.pem -subj "/CN=*.com"

Ahora se deben agregar las siguientes entradas al archivo de configuración de Motion:

$ sudo nano /etc/motion/motion.conf

stream_tls on

webcontrol_tls on

webcontrol_key /etc/motion/motion.key

webcontrol_cert /etc/motion/motion.pem

Ahora es necesario reiniciar el Motion:

$ sudo service motion restart

Ahora debe ingresarse la siguiente dirección en la ventana del navegador: https://IP-Adresse:8081

 

Hacer que la transmisión de vídeo sea visible fuera de la red doméstica

Por supuesto, la cámara web de abeja solo tiene sentido si también puedo ver la transmisión de video fuera de la red doméstica. Para ello ahora es necesario realizar ajustes en el router. Necesito configurar el reenvío de puertos para el dispositivo. Mostraré la configuración aquí usando el ejemplo de un FritzBox 6890 LTE.

 

Fritz-Box - Gerät für Freigaben hinzufügen

 

Fritz Box - Portfreigabe anlegen

Para probar la configuración, es importante que acceda a la transmisión de vídeo desde un dispositivo que no esté conectado a la red doméstica.


Publicador de contenidos