- Introdução ao ESP32-CAM
- Componentes necessários
- Diagrama de circuito
- Instale a placa ESP32 no IDE Arduino
- Código do servidor da web da câmera ESP32
Existem muitos sistemas de identificação humana que usam assinaturas, impressões digitais, voz, geometria da mão, reconhecimento facial, etc. para identificar pessoas, mas nenhum deles pode detectar e reconhecer as pessoas em áreas públicas, como aeroportos, lojas de varejo e estações ferroviárias, exceto o Sistema de reconhecimento facial.
Os sistemas de reconhecimento de rosto podem ser usados não apenas para fins de segurança para reconhecer pessoas em locais públicos, mas também para fins de atendimento em escritórios e escolas.
Neste projeto, vamos construir um Sistema de Reconhecimento Facial usando ESP32-CAM que também funcionará como um sistema de Segurança ESP32-CAM, reconhecendo o rosto de pessoas não autorizadas. ESP32-CAM é um módulo de câmera muito pequeno com o chip ESP32-S. Usando o módulo ESP32-CAM, podemos construir um sistema de reconhecimento de rosto sem usar nenhuma programação complexa e nenhum componente extra. O reconhecimento de rosto também pode ser feito usando a câmera Raspberry Pi e Pi usando OpenCV.
Introdução ao ESP32-CAM
O módulo AI-Thinker ESP32-CAM vem com um chip ESP32-S, uma câmera OV2640 de tamanho muito pequeno e um slot para cartão micro SD. O slot para cartão Micro SD pode ser usado para armazenar imagens tiradas da câmera ou para armazenar arquivos. Este módulo ESP32-CAM pode ser amplamente utilizado em várias aplicações IoT. Ele pode ser usado como um sistema de detecção de rosto em escritórios, escolas e outras áreas privadas e também pode ser usado como monitoramento sem fio, identificação sem fio QR e muitas outras aplicações IoT.
O módulo ESP32-CAM pode ser programado com ESP-IDF ou com Arduino IDE. O módulo ESP32-CAM também possui vários pinos GPIO para conectar o hardware externo. O ESP32-CAM não possui um conector USB, então para programar o módulo você precisa de uma placa FTDI.
Características:
- O menor módulo 802.11b / g / n Wi-Fi BT SoC
- CPU de 32 bits de baixa potência, também pode servir ao processador do aplicativo
- Velocidade de clock de até 160 MHz, poder de computação resumida de até 600 DMIPS
- SRAM de 520 KB integrado, 4MPSRAM externo
- Suporta UART / SPI / I2C / PWM / ADC / DAC
- Compatível com câmeras OV2640 e OV7670, lâmpada de flash embutida
- Suporte para upload de imagem por Wi-Fi
- Suporte cartão TF
- Suporta vários modos de suspensão
- Lwip e FreeRTOS incorporados
- Suporta modo de operação STA / AP / STA + AP
- Suporte à tecnologia Smart Config / AirKiss
- Suporte para atualizações de firmware local e remoto de porta serial (FOTA)
Especificações:
- Flash SPI: 32Mbit padrão
- RAM: 520 KB SRAM + 4M PSRAM
- Cartão de suporte TF: máx. 4G
- Interface de suporte: UART, SPI, I2C, PWM
- Formato de saída da imagem: JPEG, BMP, GRAYSCALE
- Porta IO: 9
- Faixa de fonte de alimentação: 5V
Componentes necessários
- ESP32-CAM
- Programador FTDI
Diagrama de circuito
Para construir a câmera de segurança ESP32 CAM, precisamos apenas do módulo Câmera ESP32 e do programador FTDI para programá-la.
ESP32-CAM não tem um conector USB, então você precisa de um programador FTDI para carregar o código no ESP32-CAM conforme mostrado na figura acima. Os pinos Vcc e GND do ESP32 são conectados aos pinos Vcc e GND da placa FTDI. Tx de e Rx de ESP32 está conectado com Rx e Tx da placa FTDI.
Observação: antes de carregar o código, conecte o IO0 ao aterramento. IO0 determina se o ESP32 está no modo intermitente ou não. Quando o GPIO 0 está conectado ao GND, o ESP32 está no modo intermitente.
ESP32-CAM |
FTDI Board |
3,3 V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
Depois de programar o ESP32, removi a placa FTDI e conectei o módulo à fonte de alimentação de 3,3 V usando um regulador de tensão 7805. Esta é a aparência da configuração para streaming de vídeo da câmera ESP32:
Instale a placa ESP32 no IDE Arduino
Aqui, ESP32-CAM é programado usando o IDE Arduino. Para isso, temos que instalar o add-on ESP32 no Arduino IDE.
Para instalar a placa ESP32 em seu IDE Arduino, vá para Arquivo> Preferências
Agora copie o link abaixo e cole-o no campo “ URLs adicionais do gerente da placa ”, conforme mostrado na figura abaixo. Em seguida, clique no botão “OK”:
https://dl.espressif.com/dl/package_esp32_index.json
Agora vá para Ferramentas> Placa> Gerenciador de placas
Em Board Manager procure ESP32 e instale o “ESP32 by Espressif Systems“.
Código do servidor da web da câmera ESP32
Já temos um código de exemplo do streaming de vídeo da câmera ESP32 e reconhecimento facial. Abra o exemplo ESP32 usando Arquivo> Exemplos> ESP32> Câmera e abra o exemplo CameraWebServer.
Antes de enviar o código, você precisa inserir o nome e a senha do seu Wi-Fi.
const char * ssid = "Nome WiFi"; const char * password = "Senha";
Depois disso, defina o módulo da câmera ESP. No código, eles definiram 5 módulos de câmera, portanto, descomente “CAMERA_MODEL_AI_THINKER” e comente o restante dos módulos.
Para fazer o upload do código, conecte a placa FDTI ao seu laptop e selecione ' ESP32 Wrover Module ' como sua placa. Além disso, altere as outras configurações de acordo com esta imagem:
Antes de enviar o código, pressione o botão de reset do ESP32 e clique no botão de upload.
Observação: se você receber erros ao enviar o código, verifique se IO0 está conectado ao GND e se você selecionou as configurações corretas no menu Ferramentas.
Depois de enviar o código, desconecte o pino IO0 e GND. Em seguida, abra o monitor serial e altere a taxa de transmissão para 115200. Depois disso, pressione o botão de redefinição do ESP32, ele imprimirá o endereço IP do ESP e o número da porta em um monitor serial, conforme mostrado abaixo.
Agora, para acessar o streaming da câmera, navegue até o navegador e digite o endereço IP do ESP. Isso o levará para a página de streaming. Para iniciar o streaming de vídeo da câmera ESP32, clique no botão 'Iniciar transmissão' na parte inferior da página
Você pode alterar a qualidade do streaming alterando a ' Resolução ' na página de streaming. Você também pode clicar nas imagens clicando no botão ' Get Still' , mas este código não tem a opção de salvar as imagens.
Depois de testar o streaming de vídeo, iremos testar os recursos de detecção e reconhecimento de rosto da câmera ESP32. Para isso, ative os recursos de reconhecimento e detecção de rosto nas configurações:
Para o reconhecimento de rosto primeiro, você precisa registrar um rosto. Você pode se inscrever em um novo rosto clicando na opção ' Inscrever Face'. São necessárias várias tentativas para salvar o rosto. Depois de salvar o rosto, ele detecta o rosto como assunto 0 e agora pode ser usado como um sistema de segurança reconhecendo o rosto.
Portanto, é assim que um módulo de câmera ESP pode ser facilmente configurado para streaming de vídeo e reconhecimento de rosto. Confira as pequenas imagens de vídeo abaixo, filmadas pela câmera ESP32.
O código completo é fornecido abaixo e também pode ser baixado aqui.