- Introducción a ESP32-CAM
- Componentes requeridos
- Diagrama de circuito
- Instale la placa ESP32 en Arduino IDE
- Código del servidor web de la cámara ESP32
Hay muchos sistemas de identificación humana que utilizan firmas, huellas dactilares, voz, geometría de la mano, reconocimiento facial, etc. para identificar a las personas, pero ninguno de ellos puede detectar y reconocer a las personas en áreas públicas como aeropuertos, tiendas minoristas y estaciones de tren, excepto el Sistema de reconocimiento facial.
Los sistemas de reconocimiento facial no solo se pueden usar con fines de seguridad para reconocer a las personas en lugares públicos, sino que también se pueden usar con fines de asistencia en oficinas y escuelas.
En este proyecto, vamos a construir un Sistema de Reconocimiento de Rostros usando ESP32-CAM que también funcionará como un sistema de Seguridad ESP32-CAM al reconocer el rostro de personas no autorizadas. ESP32-CAM es un módulo de cámara muy pequeño con el chip ESP32-S. Usando el módulo ESP32-CAM podemos construir un sistema de reconocimiento facial sin usar ninguna programación compleja ni componentes adicionales. El reconocimiento facial también se puede hacer usando la cámara Raspberry Pi y Pi usando OpenCV.
Introducción a ESP32-CAM
El módulo AI-Thinker ESP32-CAM viene con un chip ESP32-S, una cámara OV2640 de tamaño muy pequeño y una ranura para tarjeta micro SD. La ranura para tarjeta micro SD se puede utilizar para almacenar imágenes tomadas con la cámara o para almacenar archivos. Este módulo ESP32-CAM se puede utilizar ampliamente en varias aplicaciones de IoT. Puede usarse como un sistema de detección de rostros en oficinas, escuelas y otras áreas privadas y también se puede usar como monitoreo inalámbrico, identificación inalámbrica QR y muchas otras aplicaciones de IoT.
El módulo ESP32-CAM se puede programar con ESP-IDF o con Arduino IDE. El módulo ESP32-CAM también tiene varios pines GPIO para conectar el hardware externo. La ESP32-CAM no tiene conector USB, por lo que para programar el módulo necesita una placa FTDI.
caracteristicas:
- El módulo SoC Wi-Fi BT 802.11b / g / n más pequeño
- CPU de 32 bits de baja potencia, también puede servir al procesador de aplicaciones
- Velocidad de reloj de hasta 160 MHz, potencia de cálculo resumida de hasta 600 DMIPS
- SRAM de 520 KB incorporado, 4MPSRAM externo
- Soporta UART / SPI / I2C / PWM / ADC / DAC
- Admite cámaras OV2640 y OV7670, lámpara de flash incorporada
- Soporte de carga de imagen Wi-Fi
- Soporte de tarjeta TF
- Admite múltiples modos de suspensión
- Lwip y FreeRTOS integrados
- Admite el modo de operación STA / AP / STA + AP
- Admite la tecnología Smart Config / AirKiss
- Soporte para actualizaciones de firmware locales y remotas del puerto serie (FOTA)
Especificaciones:
- Flash SPI: 32 Mbit por defecto
- RAM: 520KB SRAM + 4M PSRAM
- Soporte de tarjeta TF: Max. 4G
- Interfaz de soporte: UART, SPI, I2C, PWM
- Formato de salida de imagen: JPEG, BMP, ESCALA DE GRISES
- Puerto IO: 9
- Rango de fuente de alimentación: 5 V
Componentes requeridos
- ESP32-CAM
- Programador FTDI
Diagrama de circuito
Para construir la cámara de seguridad ESP32 CAM, solo necesitamos el módulo de la cámara ESP32 y el programador FTDI para programarla.
ESP32-CAM no tiene un conector USB, por lo que necesita un programador FTDI para cargar el código en ESP32-CAM como se muestra en la figura anterior. El pin Vcc y GND de ESP32 está conectado con el pin Vcc y GND de la placa FTDI. Tx de y Rx de ESP32 está conectado con Rx y Tx de la placa FTDI.
Nota: Antes de cargar el código, conecte el IO0 a tierra. IO0 determina si el ESP32 está en modo intermitente o no. Cuando GPIO 0 está conectado a GND, el ESP32 está en modo intermitente.
ESP32-CAM |
Tablero FTDI |
3,3 V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
Después de programar el ESP32, quité la placa FTDI y conecté el módulo a una fuente de alimentación de 3.3V usando un regulador de voltaje 7805. Así es como se ve la configuración para la transmisión de video de la cámara ESP32:
Instale la placa ESP32 en Arduino IDE
Aquí ESP32-CAM se programa usando Arduino IDE. Para eso, tenemos que instalar el complemento ESP32 en Arduino IDE.
Para instalar la placa ESP32 en su Arduino IDE, vaya a Archivo> Preferencias
Ahora copie el enlace a continuación y péguelo en el campo " URL adicionales del administrador del tablero " como se muestra en la figura siguiente. Luego, haga clic en el botón "Aceptar":
https://dl.espressif.com/dl/package_esp32_index.json
Ahora vaya a Herramientas> Tablero> Administrador de tableros
En Board Manager, busque ESP32 e instale el “ESP32 de Espressif Systems”.
Código del servidor web de la cámara ESP32
Ya tenemos un código de ejemplo de la transmisión de video de la cámara ESP32 y el reconocimiento facial. Abra el ejemplo de ESP32 usando Archivo> Ejemplos> ESP32> Cámara y abra el ejemplo de CameraWebServer.
Antes de cargar el código, debe ingresar su nombre y contraseña de Wi-Fi.
const char * ssid = "Nombre WiFi"; const char * contraseña = "Contraseña";
Después de eso, defina el módulo de la cámara ESP. En el código, han definido 5 módulos de cámara, así que descomente “CAMERA_MODEL_AI_THINKER” y comente el resto de los módulos.
Para cargar el código, conecte la placa FDTI a su computadora portátil y seleccione el ' Módulo Wrover ESP32 ' como su placa. Además, cambie las otras configuraciones de acuerdo con esta imagen:
Antes de cargar el código, presione el botón de reinicio ESP32 y luego haga clic en el botón de carga.
Nota: Si obtiene errores al cargar el código, verifique que IO0 esté conectado a GND y que haya seleccionado la configuración correcta en el menú Herramientas.
Después de cargar el código, desconecte el pin IO0 y GND. Luego abra el monitor en serie y cambie la velocidad en baudios a 115200. Después de eso, presione el botón de reinicio del ESP32 y se imprimirá la dirección IP de ESP y el número de puerto en un monitor en serie como se muestra a continuación.
Ahora para acceder a la transmisión de la cámara, navegue hasta su navegador e ingrese su dirección IP ESP. Te llevará a la página de transmisión. Para iniciar la transmisión de video de la cámara ESP32, haga clic en el botón 'Iniciar transmisión' en la parte inferior de la página
Puede cambiar la calidad de la transmisión cambiando la ' Resolución ' en la página de transmisión. También puede hacer clic en las imágenes haciendo clic en el botón ' Get Still', pero este código no tiene la opción de guardar las imágenes.
Después de probar la transmisión de video, ahora probaremos las funciones de detección y reconocimiento de rostros de la cámara ESP32. Para eso, active las funciones de detección y reconocimiento facial desde la configuración:
Para el reconocimiento facial primero, debe inscribir un rostro. Puede inscribirse en una nueva cara haciendo clic en la opción ' Inscribir cara'. Se necesitan varios intentos para salvar la cara. Después de guardar el rostro, detecta el rostro como sujeto 0 y ahora se puede utilizar como sistema de seguridad al reconocer el rostro.
Así es como se puede configurar fácilmente un módulo de cámara ESP para la transmisión de video y el reconocimiento facial. Verifique las pequeñas imágenes de video a continuación tomadas por la cámara ESP32.
El código completo se proporciona a continuación y también se puede descargar desde aquí.