instructables Cámara de seguridad súper económica con ESP32-cam Manual de instrucciones
instructables Cámara de seguridad súper barata con ESP32-cam

Cámara de seguridad súper barata con ESP32-cam

Icono de configuración por Giovanni Aggiustatutto

Hoy vamos a construir esta cámara de videovigilancia que cuesta sólo 5€, como una pizza o una hamburguesa. Esta cámara está conectada a WiFi, por lo que podremos controlar nuestra casa o lo que ve la cámara desde el teléfono en cualquier lugar, ya sea en la red local o desde el exterior. También agregaremos un motor que hace que la cámara se mueva, para que podamos aumentar el ángulo en el que puede mirar la cámara. Además de usarse como cámara de seguridad, una cámara como esta se puede usar para muchos otros propósitos, como verificar si una impresora 3D está funcionando correctamente para detenerla en caso de problemas. Pero ahora comencemos.

Para ver más detalles sobre este proyecto, mira el video en mi canal de YouTube (está en italiano pero tiene Subtitulos en ingles).
Suministros:

Para construir esta cámara necesitaremos la placa de leva ESP32, la pequeña cámara que la acompaña y un adaptador de USB a serie. La placa de leva ESP32 es un ESP32 normal con esta pequeña cámara, todo en una computadora. Para los que no lo saben, la ESP32 es una placa programable similar a un Arduino, pero con un chip mucho más potente y la posibilidad de conectarse a WiFi. Es por eso que he usado el ESP32 para varios proyectos de hogares inteligentes en el pasado. Como os dije antes la placa de levas ESP32 cuesta unos 5€ en Aliexpress.

Además de esto, necesitaremos:

  • un servomotor, que es un motor que es capaz de alcanzar un ángulo específico que le comunica el microcontrolador
  • algunos cables

Herramientas:

  • soldador (opcional)
  • Impresora 3D (opcional)

Para ver lo que ve la cámara del teléfono o del ordenador y para tomar fotografías usaremos Asistente de hogar y ESPhome, pero hablaremos de eso más adelante.
Instrucciones de montaje
Instrucciones de montaje

Paso 1: Preparación de la cámara ESP32 

Primero hay que conectar la cámara a la placa con el conector pequeño, que es muy frágil. Una vez que coloques el conector, puedes bajar la palanca. Luego fijé la cámara encima del tablero con un trozo de cinta adhesiva de doble cara. La cámara ESP32 también tiene la posibilidad de insertar una micro SD, y aunque hoy no la usaremos nos permite tomar fotografías y guardarlas directamente allí.
Instrucciones de montaje
Instrucciones de montaje
Instrucciones de montaje
Paso 2: cargar el código

Normalmente las placas Arduino y ESP también cuentan con una toma USB para cargar el programa desde el ordenador. Sin embargo, este no tiene toma USB, por lo que para conectarlo al ordenador para cargar el programa necesitas un adaptador USB a serie, que se comunica con el chip directamente a través de los pines. El que encontré está hecho específicamente para este tipo de placa, por lo que simplemente se conecta a los pines sin tener que hacer ninguna otra conexión. Sin embargo, los adaptadores universales de USB a serie también deberían ser 2NE. Para cargar el programa también hay que conectar el pin 2 a tierra. Para ello soldé un conector de puente a estos dos pines. Entonces, cuando necesito programar la placa, simplemente coloco un puente entre los dos pines.
Instrucciones de montaje
Instrucciones de montaje
Instrucciones de montaje

Paso 3: Conectar la cámara al Home Assistant 

Pero ahora echemos un vistazo al software que operará la cámara. Como te dije antes, la cámara estará conectada a Home Assistant. Home Assistant es un sistema de domótica que funciona localmente y que nos permite controlar todos nuestros dispositivos domóticos, como bombillas y enchufes inteligentes, desde una sola interfaz.

Para ejecutar Home Assistant utilizo una vieja PC con Windows que ejecuta una máquina virtual, pero si la tienes puedes usar una Raspberry pi, que consume menos energía. Para ver los datos desde tu smartphone puedes descargar la aplicación Home Assistant. Para conectarme desde fuera de la red local estoy usando Nabu Casa Cloud, que es la solución más sencilla pero no es gratuita. Existen otras soluciones pero no son totalmente seguras.

Así desde la app Home Assistant podremos ver el vídeo en directo de la cámara. Para conectar la cámara a Home Assistant usaremos ESPhome. ESPhome es un complemento que nos permite conectar placas ESP a Home Assistant mediante WiFi. Para conectar la ESP32-cam a ESPhome puedes seguir estos pasos:

  • Instale el complemento ESPhome en Home Assistant
  • En el panel de ESPhome, haga clic en Nuevo dispositivo y en Continuar
  • Dale un nombre a tu dispositivo
  • Seleccione ESP8266 o la placa que utilizó
  • Copie la clave de cifrado que se proporciona, la necesitaremos más adelante
  • Haga clic en EDITAR para ver el código del dispositivo
  • En esp32: pegue este código (con framework: y escriba: comentado)

esp32

Junta: esp32cam
#estructura:
# tipo: Arduino

  • En con, inserte su ssid y contraseña de wi2
  • Para que la conexión sea más estable, puedes darle a la placa una dirección IP estática, con este código:

Wifi: 

ssid: tuyo
contraseña: tucontraseñawifi

manual_ip

# Establezca esto en la IP del ESP
IP estática: 192.168.1.61
# Establezca esto en la dirección IP del enrutador. A menudo termina con .1
puerta: 192.168.1.1
# La subred de la red. 255.255.255.0 funciona para la mayoría de las redes domésticas.
subred: 255.255.255.0

  • Al final del código, pega este:

2_cámara:
nombre: Cámara 1
reloj_externo:
alfiler: GPIO0
frecuencia: 20 MHz
i2c_pins:
sda: GPIO26
scl: GPIO27
pines_datos: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pixel_clock_pin: GPIO22
power_down_pin: GPIO32
resolución: 800×600
calidad JPEG: 10
volteo_vertical: FALSO
producción:
plataforma: gpio
clavija: GPIO4
identificación: gpio_4
– plataforma: ledc
identificación: pwm_output
clavija: GPIO2
frecuencia: 50 Hz
luz:
– plataforma: binaria
salida: gpio_4
nombre: Telecámara Luce 1
número:
- plataforma: plantilla
nombre: Servocontrol
valor_mínimo: -100
valor_máximo: 100
Paso: 1
optimista: cierto
establecer_acción:
entonces:
– servo.escritura:
identificación: mi_servo
nivel: !lambda 'return x/100.0;'
servo:
– identificación: mi_servo
salida: pwm_output
longitud_transición: 5s

La segunda parte del código, bajo esp2_camera:, define todos los pines de la cámara real. Luego con luz: se define el led de la cámara. Al final del código se define el servomotor y el valor utilizado por el servo para establecer el ángulo de rotación se lee en Home Assistant con el número:.

Al final el código debería verse así, pero no pegue directamente el código a continuación, a cada dispositivo se le asigna una clave de cifrado diferente.

casa:
nombre: camera-1
esp32:
Junta: esp32cam
#estructura:
# tipo: Arduino
# Permitir explotación florestal

Ger:
# Habilitar la API de Home Assistant
api:
cifrado:
clave: “clave de cifrado”
ota:
contraseña: “contraseña”
Wifi:
ssid: “tuyossid”
contraseña: “tu contraseña”
# Habilite el punto de acceso alternativo (portal cautivo) en caso de que falle la conexión wifi
AP:
ssid: “Punto de acceso alternativo de la cámara 1”
contraseña: “contraseña”
portal_cautivo:
esp32_camara:
nombre: Telecámara 1
reloj_externo:
clavija: GPIO0
frecuencia: 20MHz
i2c_pins:
sda: GPIO26
dirección: GPIO27
pines_datos: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25
href_pin: GPIO23
pin_reloj_píxel: GPIO22
power_down_pin: GPIO32
resolución: 800×600
jpeg_calidad: 10
vertical_flip: Falso
producción:
– plataforma: gpio
clavija: GPIO4
identificación: gpio_4
– plataforma: ledc
identificación: pwm_output
clavija: GPIO2
frecuencia: 50 Hz
luz:
– plataforma: binaria
salida: gpio_4
nombre: Telecámara Luce 1
número:
- plataforma: plantilla
nombre: Servocontrol
valor_mínimo: -100
valor_máximo: 100
Paso: 1
optimista: cierto
establecer_acción:
entonces:
– servo.escritura:
identificación: mi_servo
nivel: !lambda 'return x/100.0;'
Cámara de seguridad súper económica con ESP32-cam: Página 12
Paso 4: Conexiones
servo:
– identificación: mi_servo
salida: pwm_output
longitud_transición: 5s

  • Una vez completado el código, podemos hacer clic en Instalar, conectar el adaptador serie del ESP32 a nuestra computadora con un cable USB y seguir las instrucciones en pantalla para cargar el código como has visto en el último paso (¡es bastante fácil!)
  • Cuando la ESP32-cam esté conectada al WiFi, podremos ir a los ajustes de Home Assistant, donde probablemente veremos que Home Assistant ha descubierto el nuevo dispositivo.
  • Haga clic en configurar y pegue allí la clave de cifrado que ha copiado antes.

Una vez cargado el programa podrás Retire el puente entre tierra y pin 0, y encienda la placa (si no se quita el puente, la placa no funcionará). Si observa los registros del dispositivo, debería ver que la cámara ESP32 se conecta al WiFi. En los siguientes pasos veremos cómo configurar el panel de Home Assistant para ver el vídeo en vivo desde la cámara, mover el motor y tomar fotos desde la cámara.
Instrucciones de montaje

Paso 4: Conexiones 

Una vez que hayamos programado el ESP32 podemos quitar el adaptador usb a serie y alimentar la placa directamente desde el pin de 5v. Y a estas alturas a la cámara sólo le falta una carcasa en la que montarla. Sin embargo, dejar la cámara parada es aburrido, así que decidí agregar un motor para hacerla moverse. Específicamente, usaré un servomotor, que es capaz de alcanzar un ángulo específico que le comunica el ESP2. Conecté los cables marrón y rojo del servomotor a la fuente de alimentación, y el cable amarillo que es la señal al pin 2 del ESP32. En la imagen de arriba puedes ver los esquemas.
Instrucciones de montaje
Instrucciones de montaje

Paso 5: Construcción del recinto

Ahora necesito convertir el circuito de prueba en algo que se parezca más a un producto terminado. Así que diseñé e imprimí en 2D todas las piezas para hacer la cajita en la que montar la cámara. A continuación puede copiar los archivos .stl 3 para impresión 2D. Luego soldamos los cables de la fuente de alimentación y la señal del servomotor a los pines del ESP2. Para conectar el conector del servomotor, soldé un conector de puente a los cables. Así que el circuito está terminado y, como puedes ver, es bastante sencillo.

Pasé el servomotor y los cables de alimentación a través de los agujeros de la pequeña caja. Luego pegué la cámara ESP32 a la tapa, alineando la cámara con el agujero. Monté el servomotor en el soporte que sujetará la cámara y lo aseguré con dos pernos. Fijé el soporte a la caja pequeña con dos tornillos para poder inclinar la cámara. Para evitar que los tornillos del interior toquen los cables, los protegí con un tubo termorretráctil. Luego cerré la tapa de la cámara con cuatro tornillos. En este punto ya sólo queda montar la base. Pasé el eje del servomotor a través del orificio de la base y atornillé el brazo pequeño al eje. Luego pegué el brazo a la base. De esta forma el servomotor puede mover la cámara 180 grados.

Y así terminamos de construir la cámara. Para alimentarlo podemos utilizar cualquier fuente de alimentación de 2v. Utilizando los agujeros de la base, podemos atornillar la cámara a una pared o superficie de madera.
Instrucciones de montaje
Instrucciones de montaje
Instrucciones de montaje
Instrucciones de montaje

Paso 6: Configurar el panel de Home Assistant

Para ver el vídeo en vivo desde la cámara, mover el motor, encender el LED y mover el motor desde la interfaz de Home Assistant necesitamos cuatro tarjetas en el tablero de Home Assistant.

  • La segunda es una tarjeta gráfica que permite ver el vídeo en vivo desde la cámara. En la configuración de la tarjeta, simplemente seleccione la entidad de la cámara y configure Cámara View a automático (esto es importante porque si lo configuras en vivo la cámara siempre envía el video y se sobrecalienta).
  • Luego necesitamos un botón para tomar fotografías desde la cámara. Esto es un poco más di@culto. Primero tenemos que entrar en el File Complemento del editor (si no lo tienes puedes instalarlo desde la tienda de complementos) en la carpeta con2g y crea una nueva carpeta para guardar las fotos, en este caso llamada cámara. El código para el editor de texto del botón se encuentra a continuación.
    ow_name: verdadero

show_icon: verdadero
tipo: botón
tap_action:
acción: llamar-servicio
servicio: cámara.instantánea
datos:
filenombre: /config/camera/telecamera_1_{{ now().strftime(“%Y-%m-%d-%H:%M:%S”) }}.jpg
#cambia el nombre de la entidad de arriba con el nombre de la entidad de tu cámara
objetivo:
entidad_id:
– camera.telecamera_1 #cambia el nombre de la entidad con el nombre de la entidad de tu cámara
nombre: Tomar foto
altura_icono: 50px
icono: mdi: cámara
retención_acción:
acción: no

  • La cámara también tiene un led, aunque no es capaz de iluminar una habitación entera. Para esto utilicé otra tarjeta de botón, que alterna la entidad del led cuando se presiona.
  • La última tarjeta es una tarjeta de entidades, que configuré con la entidad del servomotor. Entonces con esta tarjeta tenemos un control deslizante muy simple para controlar el ángulo del motor y mover la cámara.

Organicé mis tarjetas en una pila vertical y en una pila horizontal, pero esto es totalmente opcional. Sin embargo, su tablero debería verse similar al que se muestra en la imagen de arriba. Por supuesto, puedes personalizar aún más las tarjetas para satisfacer tus necesidades.
Instrucciones de montaje
Paso 7: ¡Funciona! 

Finalmente, la cámara funciona y en la aplicación Home Assistant puedo ver lo que ve la cámara en tiempo real. Desde la aplicación también puedo hacer que la cámara se mueva moviendo el control deslizante para mirar un espacio más grande. Como dije antes la cámara también tiene LED, aunque la luz que emite no permite ver de noche. Desde la aplicación puedes tomar fotografías desde la cámara, pero no puedes tomar videos. Las fotografías tomadas se pueden ver en la carpeta que hemos creado antes en Home Assistant. Para llevar la cámara al siguiente nivel, puedes conectar la cámara a un sensor de movimiento o un sensor de apertura de puerta, que cuando detecte movimiento tomará una fotografía con la cámara.

Entonces, esta es la cámara de seguridad con cámara ESP32. No es la cámara más avanzada, pero por este precio no hay nada mejor. Espero que hayas disfrutado de esta guía y tal vez te haya resultado útil. Para ver más detalles sobre este proyecto, puedes ver el video en mi canal de YouTube (está en italiano pero tiene subtítulos en inglés).
Instrucciones de montaje
Instrucciones de montaje

Documentos / Recursos

instructables Cámara de seguridad súper barata con ESP32-cam [pdf] Manual de instrucciones
Cámara de seguridad súper barata con ESP32-cam, Cámara de seguridad súper barata, ESP32-cam, Cámara de seguridad barata, Cámara de seguridad, Cámara

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *