Tabla de contenido:

Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi: 21 pasos
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi: 21 pasos

Video: Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi: 21 pasos

Video: Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi: 21 pasos
Video: Cómo CONTROLAR tu CASA con el MINI ORDENADOR más FAMOSO del mundo | Home Assistant + Raspberry Pi 2024, Mes de julio
Anonim
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi
Cámara de seguridad para exteriores con todas las funciones basada en Raspberry Pi

Si tuvo experiencias decepcionantes con cámaras web baratas, su software mal escrito y / o hardware inadecuado, puede construir fácilmente una cámara web semiprofesional con una Raspberry Pi y algunos otros componentes electrónicos fáciles de encontrar en los que se ejecuta PiWebcam, una aplicación gratuita y ficticia. -Un software resistente que convierte con un solo clic su dispositivo en una cámara web potente y con todas las funciones.

Paso 1: inspiración

Inspiración
Inspiración

Después de luchar contra el software limitado de la mayoría de las cámaras de seguridad baratas del mercado (por ejemplo, visión nocturna deficiente, aplicación oscura para la configuración, sin grabación fuera de línea, detección de movimiento inexacta, etc.), decidí construir algo para mí y Raspberry Pi. me pareció la plataforma más adecuada.

Incluso si ya hay una buena cantidad de proyectos para usar una Raspberry Pi como cámara web, personalmente los encuentro demasiado complejos y, en general, son soluciones más ad-hoc para usuarios avanzados en lugar de productos finitos.

Sin embargo, la mayoría de ellos se enfocan solo en el software en lugar del hardware, lo cual es igualmente importante para el caso de uso de las cámaras de seguridad.

Paso 2: hardware

Hardware
Hardware

Para construir una cámara web para interiores, una simple Raspberry Pi (cualquier modelo) y una cámara adjunta (cualquier modelo) con LED IR para visión nocturna funcionarían bien. Ya hay muchos kits disponibles con esta combinación, así que si esto es lo que desea lograr, compre uno de esos y vaya al paso 12.

Sin embargo, el mismo hardware no encajaría en una cámara para exteriores: la imagen tomada con la cámara Raspberry con capacidad de infrarrojos fuera de su casa se vería mayormente meñique (debido a la luz infrarroja capturada por la cámara) y con el pequeño exterior - LED de infrarrojos de caja, no podrá ver nada más allá de 3 pies / 1 metro.

Para resolver el primer problema, necesitamos algo llamado filtro IR CUT mecánico que básicamente te devuelve los colores verdaderos a la luz del día, pero aún permite capturar las luces IR durante la noche. La mayoría de los dispositivos en el mercado tienen dos cables: un pulso corto en un cable moverá el filtro IR frente al sensor (modo día), un pulso corto en el otro cable quitará el filtro (modo nocturno). Suelen funcionar entre 3v y 9v y si están conectados a nuestra Raspberry, podemos tener un control total sobre cuándo alternar el modo nocturno. Sin embargo, el filtro de corte IR no se puede controlar directamente desde un pin de la Raspberry ya que la parte mecánica en su interior requiere mucha más corriente que la que puede suministrar la Pi. Lo solucionaremos utilizando un H-Bridge alimentado por los 5v de Raspberry y controlado por dos pines.

Para abordar el segundo problema, necesitaríamos una placa de LED IR más potente para lograr una visión nocturna decente. Se prefieren los tableros con menos leds pero más grandes a los que tienen muchos leds diminutos. La mayoría de las placas del mercado también tienen una LDR (resistencia dependiente de la luz) adjunta que se utiliza para determinar cuándo encender los LED si están oscuros. Por lo general, funcionan a 12 voltios y tienen un enchufe pequeño (etiquetado como "IRC") que se puede utilizar para conectar un filtro de corte de infrarrojos. Sin embargo, no se envía ningún pulso directamente a través de este enchufe, pero durante la noche (LED encendidos), se crea una caída de voltaje (generalmente) de 5 V entre los cables y la tierra. Si conectamos uno de los cables a nuestra Raspberry y monitorizamos la señal del pin, podemos determinar si estamos entrando o saliendo del modo noche (que es exactamente lo que hace PiWebcam)

Una última cosa a considerar con respecto al hardware es cómo alimentar la Raspberry Pi. Como tenemos una fuente de alimentación de 12v y necesitamos 5v para alimentar el Pi, se necesita un regulador de voltaje.

Paso 3: software

Software
Software

La idea detrás de PiWebcam era proporcionar una poderosa plataforma de imágenes para todos, independientemente de sus conocimientos previos. Un script de instalación se encargará de configurar completamente el sistema con ajustes predeterminados razonables, permitiendo al usuario personalizar a través de una interfaz web limpia y amigable para dispositivos móviles solo un número muy limitado de parámetros relevantes. Sin embargo, gracias a su potente función de detección de movimiento aumentada por las capacidades de reconocimiento de objetos impulsadas por un modelo de inteligencia artificial, PiWebcam puede notificar al usuario de cualquier movimiento detectado enviando una instantánea a un destinatario de correo electrónico o publicándola en el canal Slack favorito del usuario.

  • Página del proyecto:
  • Manual de usuario:

Paso 4: Lista de materiales

Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales

La siguiente lista de materiales es para la cámara web para exteriores construida en este tutorial:

  • Raspberry Pi Zero W
  • Cámara Raspberry Pi (cualquier modelo, este incluye un filtro de corte IR)
  • Cable de cámara Raspberry Pi Zero
  • Carcasa de cámara impermeable (cualquier modelo en el que quepa la frambuesa)
  • Tarjeta SD (se recomiendan 16 GB)
  • Placa de LED IR (cualquier placa que se ajuste a la carcasa de la cámara)
  • Filtro de corte IR (solo si aún no está integrado en la cámara)
  • Regulador de 12v - 5v (asegúrese de que sea un regulador reductor que pueda proporcionar al menos 1A)
  • Enchufe macho micro USB
  • Enchufe hembra 12v
  • Fuente de alimentación 12v 3A
  • Puente en H
  • Cales Dupont femenino-femenino

Paso 5: preparación de los componentes

Preparación de los componentes
Preparación de los componentes
Preparación de los componentes
Preparación de los componentes
Preparación de los componentes
Preparación de los componentes

El convertidor reductor (regulador de voltaje) es responsable de convertir la fuente de alimentación de 12v a los 5v que requiere la Raspberry Pi. La mayoría de los componentes del mercado son ajustables (por ejemplo, puede cambiar el voltaje de salida girando un tornillo). Dado que dentro de la cámara web el tornillo puede moverse accidentalmente, para asegurar una salida fija y constante de 5v, coloque un poco de estaño en la ranura de 5v para soldar los dos bordes y corte el cable en la PCB (con un cuchillo) que va a "ADJ" (arriba a la izquierda de la imagen)

Dado que queremos tener un control total sobre el filtro de corte de infrarrojos a través de la Raspberry (ya sea que el filtro esté integrado en la cámara como en la imagen o no), debemos deshacernos del conector pequeño. Corte los dos cables y conecte un cable dupont hembra para cada cable. No tire el enchufe pequeño ya que necesitamos usarlo para recibir el estado del LDR montado en la placa de LED IR. Conecte otro cable dupont hembra en uno de los dos cables (no importa cuál).

Paso 6: conecte la placa LED IR a la fuente de alimentación

Conéctese a la placa LED IR a la fuente de alimentación
Conéctese a la placa LED IR a la fuente de alimentación
Conéctese a la placa LED IR a la fuente de alimentación
Conéctese a la placa LED IR a la fuente de alimentación
Conéctese a la placa LED IR a la fuente de alimentación
Conéctese a la placa LED IR a la fuente de alimentación

Comencemos conectando la entrada de la fuente de alimentación de 12v que ingresa a la carcasa de nuestra cámara a los componentes.

Conecte al cable negativo (negro) lo siguiente:

  • Cable negativo de la placa IR Led
  • Cable negativo del convertidor reductor
  • Cable negativo al conector macho USB

Conecte al cable positivo (rojo) lo siguiente:

  • El cable positivo (12v) de la placa LED IR
  • El cable Vin del convertidor buck

Paso 7: Encienda la Raspberry Pi

Encienda la Raspberry Pi
Encienda la Raspberry Pi
Encienda la Raspberry Pi
Encienda la Raspberry Pi

Conecte el cable Vout del convertidor buck al enchufe USB que alimentará la Raspberry.

Después de conectar todos los cables, suéltelos o simplemente fíjelos con cinta aislante.

Paso 8: conecte el filtro de corte de infrarrojos

Conecte el filtro de corte de infrarrojos
Conecte el filtro de corte de infrarrojos
Conecte el filtro de corte de infrarrojos
Conecte el filtro de corte de infrarrojos
Conecte el filtro de corte de infrarrojos
Conecte el filtro de corte de infrarrojos

Dado que el filtro IR Cut no se puede controlar directamente desde un pin de la Raspberry, usaremos un H-Bridge alimentado por el pin de 5v de la Raspberry y controlado por dos pines.

  • Conecte el pin 4 (5v) de la frambuesa al "+" del H-Bridge
  • Conecte el pin 5 (GND) de la frambuesa a "-" del H-Bridge
  • Conecte el pin 39 (BCM 20) de la frambuesa a la INT1 del H-Bridge
  • Conecte el pin 36 (BCM 16) de la frambuesa a INT2 del H-Bridge
  • Conecte los dos cables del filtro de corte IR a MOTOR1 y MOTOR2 o al puente H

De esta forma, cuando se envíe un pulso a través de, p. Ej. El pin 39, 5v se suministrará al MOTOR1 haciendo que el filtro se alterne.

Paso 9: conecte la placa LED IR a la frambuesa

Conecte la placa de LED IR a la frambuesa
Conecte la placa de LED IR a la frambuesa

Para saber cuándo está oscureciendo, estamos aprovechando el LDR montado en la placa de LED IR. Utilice el enchufe pequeño cortado del filtro de infrarrojos en los pasos anteriores, conecte un lado al conector etiquetado "IRC" de la placa de LED de infrarrojos y el otro al pin 40 (BCM 21) de la frambuesa.

Paso 10: monte la cámara en la placa LED IR

Monte la cámara en la placa LED IR
Monte la cámara en la placa LED IR
Monte la cámara en la placa LED IR
Monte la cámara en la placa LED IR

Fije la cámara en la ranura dedicada de la placa de LED de infrarrojos con una cinta aislante u otros medios. Cosas a tener en cuenta en esta etapa:

  • La placa de LED de infrarrojos se calienta mucho cuando está encendida, así que proteja la cámara en consecuencia;
  • Asegúrese de que ninguna luz IR pueda entrar en la ranura donde se encuentra la cámara; El reflejo de la luz IR es una de las razones más comunes por las que la visión nocturna es deficiente (borrosa);
  • Asegúrese de que quede algo de espacio entre la lente y el cristal de la carcasa de la cámara; de lo contrario, podría producirse un reflejo o distorsión de la imagen;

NO cierre la carcasa de la cámara todavía:-)

Paso 11: Opción 1: flashear una imagen de PiWebcam preconfigurada (recomendado)

Opción 1: flashear una imagen de PiWebcam preconfigurada (recomendado)
Opción 1: flashear una imagen de PiWebcam preconfigurada (recomendado)
  • Descargue la última imagen de PiWebcam (PiWebcam_vX. X.img.zip) de
  • Descomprima el archivo Escriba la imagen en una tarjeta SD (https://www.raspberrypi.org/documentation/installation/installing-images/)
  • Conecte la tarjeta SD a su Raspberry Pi y enciéndala
  • El dispositivo comenzará a actuar como un punto de acceso
  • Continuar con las tareas posteriores a la instalación

Paso 12: Opción 2: crear una imagen de PiWebcam

Opción 2: crear una imagen de PiWebcam
Opción 2: crear una imagen de PiWebcam

La creación de una imagen de PiWebcam requiere una nueva instalación de Raspbian y una tarjeta SD. No reutilice una instalación existente, comience desde cero:

  • Descarga el sistema operativo Raspbian Stretch Lite
  • Escriba la imagen en una tarjeta SD (por ejemplo, usando Win32 Disk Imager)

Paso 13: Opción 2 - Copiar PiWebcam a la tarjeta SD

Opción 2 - Copiar PiWebcam a la tarjeta SD
Opción 2 - Copiar PiWebcam a la tarjeta SD
Opción 2 - Copiar PiWebcam a la tarjeta SD
Opción 2 - Copiar PiWebcam a la tarjeta SD
Opción 2 - Copiar PiWebcam a la tarjeta SD
Opción 2 - Copiar PiWebcam a la tarjeta SD

Descargue la última versión de PiWebcam (PiWebcam_vX. X.zip), extraiga y copie el directorio "PiWebcam" en la partición de arranque.

Para una instalación sin cabeza, coloque en la partición de arranque también un archivo vacío llamado "ssh" y un "wpa_supplicant.conf" con su configuración de red. De esta manera, la Raspberry comenzará a conectarse a su red WiFi al iniciarse y no necesitará el cable HDMI en absoluto, pero puede conectarse directamente a través de SSH.

Paso 14: Opción 2 - Encienda la Raspberry y conéctese a ella

Opción 2: encienda la frambuesa y conéctese a ella
Opción 2: encienda la frambuesa y conéctese a ella
Opción 2: encienda la frambuesa y conéctese a ella
Opción 2: encienda la frambuesa y conéctese a ella

Conecte la tarjeta SD a su Raspberry Pi, enciéndala y con un cliente SSH (o PuTTY en Windows) conéctese a ella:

  • Nombre de host: raspberrypi.local
  • Nombre de usuario: pi
  • Contraseña: frambuesa

Paso 15: Opción 2: configurar el sistema para PiWebcam

Opción 2: configurar el sistema para PiWebcam
Opción 2: configurar el sistema para PiWebcam
Opción 2: configurar el sistema para PiWebcam
Opción 2: configurar el sistema para PiWebcam

Después de asegurarse de que la Raspberry esté conectada a Internet, ejecute el siguiente comando:

sudo /boot/PiWebcam/PiWebcam.sh instalar

Esto configurará completamente el sistema e instalará las dependencias necesarias.

Al final de la instalación, se le pedirá que reinicie el dispositivo para que los cambios sean completamente efectivos. Todas las credenciales se resumirán en la pantalla.

Tenga en cuenta que los últimos 6 caracteres son aleatorios (por ejemplo, PiWebcam-e533fe) y varían de un dispositivo a otro.

Paso 16: Tareas posteriores a la instalación: conéctese al punto de acceso WiFi de PiWebcam

Tareas posteriores a la instalación: conéctese al punto de acceso WiFi de PiWebcam
Tareas posteriores a la instalación: conéctese al punto de acceso WiFi de PiWebcam
Tareas posteriores a la instalación: conéctese al punto de acceso WiFi de PiWebcam
Tareas posteriores a la instalación: conéctese al punto de acceso WiFi de PiWebcam

Una vez encendido, el dispositivo comenzará a actuar como un punto de acceso.

Conéctese a la red WiFi creada por el dispositivo. La frase de contraseña de la red, así como la contraseña del usuario administrador (tanto para la interfaz web como para SSH) es la misma que la SSID (por ejemplo, PiWebcam-XXXXX). Apunte su navegador a https://PiWebcam.local y autentíquese con el nombre de usuario "admin" y con la misma contraseña que el nombre de la red.

Paso 17: conecte la cámara web a su red WiFi

Conecte la cámara web a su red WiFi
Conecte la cámara web a su red WiFi
Conecte la cámara web a su red WiFi
Conecte la cámara web a su red WiFi

Si desea conectar la cámara web a una red WiFi existente, vaya a Dispositivo / Red, seleccione "Cliente WiFi" y complete su "Red WiFi" y "Frase de contraseña".

Espere 1-2 minutos, conéctese de nuevo a su red y apunte su navegador a https://camera_name.your_network (por ejemplo,

Paso 18: cierre la carcasa de la cámara web

Cierre la carcasa de la cámara web
Cierre la carcasa de la cámara web
Cierre la carcasa de la cámara web
Cierre la carcasa de la cámara web

Una vez comprobado que se puede acceder a la cámara web a través de la red y realizada la configuración básica presentada en el paso anterior, ha llegado el momento de cerrar el caso.

Paso 19: Introducción a PiWebcam

Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam
Introducción a PiWebcam

PiWebcam ya viene con una configuración predeterminada razonable. Una vez instalado, no se requiere ninguna configuración adicional; PiWebcam comenzará a tomar instantáneas y grabar videos, ya sea que esté conectado o no a la red.

La configuración completa del dispositivo (cámara, red, notificación y configuración del sistema) se puede realizar a través de la interfaz web. El archivo de configuración se puede exportar e importar fácilmente en Dispositivo / Sistema.

Cuando se detecta un movimiento, PiWebcam comenzará a grabar un video (que luego estará disponible a través del menú "Reproducción" de la interfaz web). Una vez que no haya más movimiento, también se almacenará una imagen que resalta con un cuadro rojo el movimiento detectado. Si la función de detección de objetos está habilitada, cualquier movimiento que no contenga el objeto configurado será ignorado para reducir los falsos positivos (por ejemplo, si se detecta un movimiento pero no se identifica a ninguna persona).

Cuando las notificaciones están habilitadas, la instantánea se enviará a la dirección de correo electrónico del usuario y / o se publicará en el canal de Slack configurado. Si no hay una conexión a Internet disponible, la notificación se pondrá en cola y se liberará cuando se restaure la conexión.

Un resumen detallado de todas las configuraciones disponibles se informa en la página del proyecto.

Paso 20: acceso remoto a Internet

Acceso remoto a Internet
Acceso remoto a Internet

Opcionalmente, se puede acceder a la interfaz web desde Internet sin ninguna configuración adicional en su red o enrutador doméstico. Para habilitar esta funcionalidad, marque la casilla correspondiente en Dispositivo / Red.

Si el acceso a Internet remoto está habilitado, el dispositivo inicia un túnel SSH a través de serveo.net, sin la necesidad de configurar ningún NAT o UPnP en su enrutador. El nombre del dispositivo se utiliza como nombre de host y se exponen los servicios web y ssh.

Paso 21: Detalles técnicos

Todos los archivos de PiWebcam residen en la partición de arranque de la tarjeta SD, en un directorio llamado PiWebcam. Esto incluye un solo archivo bash, PiWebcam.sh y las páginas PHP para el panel de administración.

Durante el proceso de instalación, se realiza una configuración muy básica del sistema, se crea una imagen initramfs y se agrega el script PiWebcam.sh a /etc/rc.local para que se ejecute al inicio con el parámetro "configure".

En el primer reinicio, la imagen initramfs encogerá la partición raíz (previamente expandida para llenar toda la tarjeta SD por el instalador de Raspbian) y creará una partición de datos justo después.

Tanto el sistema de archivos raíz como el de arranque se montan como de solo lectura y la imagen initram crea un sistema de archivos superpuesto en el sistema de archivos raíz para que cualquier cambio en el sistema se almacene solo en la memoria y se pierda en el siguiente reinicio. De esta manera, el dispositivo será más resistente a las configuraciones incorrectas, se puede restaurar fácilmente a los valores predeterminados de fábrica y puede sobrevivir a cualquier corte de energía, ya que nunca se escribe ningún archivo de sistema en la tarjeta SD durante las operaciones normales. En cambio, el sistema de archivos de datos está formateado con F2FS (Sistema de archivos compatible con Flash) que tiene en cuenta las características de los dispositivos de almacenamiento basados en memoria flash.

Durante el inicio, PiWebcam lee su archivo de configuración almacenado en /boot/PiWebcam/PiWebcam.conf, configura el sistema, la cámara, la red y las notificaciones según la configuración que se encuentra allí e implementa la interfaz web desde / boot / PiWebcam / web en la ubicación de la raíz web.

Tanto las películas como las películas se almacenan en el sistema de archivos de datos y se agrupan en carpetas por año / mes / día / hora para permitir un acceso más fácil. Todas las grabaciones se pueden revisar a través de la interfaz web con h5ai, un moderno indexador de archivos que permite mostrar archivos y directorios de una manera atractiva y proporcionar vistas previas de imágenes y videos sin la necesidad de descargar el contenido de antemano.

Cuando se detecta un movimiento, PiWebcam.sh se invoca con el parámetro "notificar" a través del evento de movimiento on_picture_save / on_movie_end. Si la detección de objetos está habilitada para analizar más la imagen, la imagen se envía a Clarifai para reconocer todos los objetos dentro de la imagen. Esto funcionaría muy bien para reducir los falsos positivos, p. Ej. si te interesa saber si hay alguien robando en tu casa y no solo un cambio brusco de luz.

Después de eso, PiWebcam verifica si hay una conexión a Internet disponible y, de ser así, envía la notificación. Además de las notificaciones tradicionales por correo electrónico, enviadas con ssmtp, con la imagen en movimiento detectada adjunta, PiWebcam también puede cargar la misma imagen en un canal de Slack. Si no conoce Slack, compruébelo (); Es una gran herramienta de colaboración, pero también se puede utilizar para crear un grupo dedicado a su familia, otorgar acceso a los miembros de su familia, chatear con ellos y permitir que PiWebcam o utilidades de automatización del hogar (como por ejemplo eGeoffrey) publiquen actualizaciones allí. Si no hay conexión a Internet, la notificación no se pierde, sino que se pone en cola y se envía cuando se restablece la conexión.

También se proporciona una funcionalidad de actualización a través de la interfaz web.

Recomendado: