- Introduktion till ESP32-CAM
- Komponenter krävs
- Kretsschema
- Installera ESP32-kortet på Arduino IDE
- ESP32 Camera Webserver Code
Det finns många mänskliga identifieringssystem som använder signaturer, fingeravtryck, röst, handgeometri, ansiktsigenkänning etc. för att identifiera personer men ingen av dem kan upptäcka och känna igen personerna i allmänna utrymmen som flygplatser, butiker och järnvägsstationer utom System för ansiktsigenkänning.
Ansiktsigenkänningssystem kan inte bara användas för säkerhetsändamål för att känna igen personerna på offentliga platser utan kan också användas för närvaro på kontor och skolor.
I det här projektet ska vi bygga ett ansiktsigenkänningssystem med ESP32-CAM som också fungerar som ett ESP32-CAM-säkerhetssystem genom att känna igen obehöriga personers ansikte. ESP32-CAM är en mycket liten kameramodul med ESP32-S-chip. Med hjälp av ESP32-CAM-modulen kan vi bygga ett ansiktsigenkänningssystem utan att använda någon komplex programmering och några extra komponenter. Ansiktsigenkänning kan också göras med Raspberry Pi och Pi-kamera med OpenCV.
Introduktion till ESP32-CAM
AI-Thinker ESP32-CAM-modulen levereras med ett ESP32-S-chip, en mycket liten storlek OV2640-kamera och en micro SD-kortplats. Micro SD-kortplats kan användas för att lagra bilder som tagits från kameran eller för att lagra filer. Denna ESP32-CAM-modul kan användas i stor utsträckning i olika IoT-applikationer. Det kan användas som ett ansiktsdetekteringssystem på kontor, skolor och andra privata områden och kan också användas som trådlös övervakning, trådlös QR-identifiering och många andra IoT-applikationer.
Den ESP32-CAM -modulen kan programmeras med ESP-IDF eller med Arduino IDE. ESP32-CAM-modulen har också flera GPIO-stift för att ansluta den externa hårdvaran. ESP32-CAM har ingen USB-kontakt, så för att programmera modulen behöver du ett FTDI-kort.
Funktioner:
- Den minsta 802.11b / g / n Wi-Fi BT SoC-modulen
- 32-bitars CPU med låg effekt, kan också betjäna applikationsprocessorn
- Upp till 160 MHz klockhastighet, sammanfattande datorkraft upp till 600 DMIPS
- Inbyggd 520 kB SRAM, extern 4MPSRAM
- Stöder UART / SPI / I2C / PWM / ADC / DAC
- Stöd OV2640 och OV7670 kameror, inbyggd blixtlampa
- Stöd bild Wi-Fi-uppladdning
- Stöd TF-kort
- Stöder flera vilolägen
- Inbäddad Lwip och FreeRTOS
- Stöder driftläge STA / AP / STA + AP
- Stöd Smart Config / AirKiss-teknik
- Stöd för lokal port och fjärruppgradering av fast programvara (FOTA)
Specifikationer:
- SPI Flash: Standard 32Mbit
- RAM: 520 kB SRAM + 4 M PSRAM
- Stöd TF-kort: Max. 4G
- Stödgränssnitt: UART, SPI, I2C, PWM
- Bildutmatningsformat: JPEG, BMP, GRAYSCALE
- IO-port: 9
- Strömförsörjningsområde: 5V
Komponenter krävs
- ESP32-CAM
- FTDI programmerare
Kretsschema
För att bygga ESP32 CAM-säkerhetskamera behöver vi bara ESP32-kameramodulen och FTDI-programmeraren för att programmera den.
ESP32-CAM har ingen USB-kontakt, så du behöver en FTDI-programmerare för att ladda upp koden till ESP32-CAM som visas i figuren ovan. Vcc och GND-stift på ESP32 är ansluten till Vcc och GND-stift på FTDI-kortet. Tx av och Rx av ESP32 är ansluten till Rx och Tx på FTDI-kortet.
Obs! Anslut IO0 till jord innan du laddar upp koden. IO0 avgör om ESP32 är i blinkande läge eller inte. När GPIO 0 är ansluten till GND är ESP32 i blinkande läge.
ESP32-CAM |
FTDI styrelse |
3,3V |
VCC |
GND |
GND |
UOR |
TX |
UOT |
RX |
Efter programmering av ESP32 tog jag bort FTDI-kortet och kopplade modulen till 3,3 V strömförsörjning med en 7805 spänningsregulator. Så här ser inställningen för ESP32-videostreaming ut:
Installera ESP32-kortet på Arduino IDE
Här programmeras ESP32-CAM med Arduino IDE. För det måste vi installera ESP32-tillägget på Arduino IDE.
För att installera ESP32-kortet i din Arduino IDE, gå till Arkiv> Inställningar
Kopiera nu länken nedan och klistra in den i fältet " Ytterligare styrelsens webbadresser " som visas i bilden nedan. Klicka sedan på “OK” -knappen:
https://dl.espressif.com/dl/package_esp32_index.json
Gå nu till Verktyg> Board> Boards Manager
I Board Manager söker du efter ESP32 och installerar “ESP32 by Espressif Systems”.
ESP32 Camera Webserver Code
Vi har redan en exempelkod från ESP32-videostreaming och ansiktsigenkänning. Öppna ESP32-exemplet med Arkiv> Exempel> ESP32> Kamera och öppna exemplet CameraWebServer.
Innan du laddar upp koden måste du ange ditt Wi-Fi-namn och lösenord.
const char * ssid = "WiFi-namn"; const char * password = "Lösenord";
Därefter definiera ESP-kameramodulen. I koden har de definierat fem kameramoduler så kommentera "CAMERA_MODEL_AI_THINKER" och kommentera resten av modulerna.
För att ladda upp koden, anslut FDTI-kortet till din bärbara dator och välj ' ESP32 Wrover Module ' som ditt kort. Ändra också de andra inställningarna enligt den här bilden:
Innan du laddar upp koden, tryck på ESP32-återställningsknappen och klicka sedan på uppladdningsknappen.
Obs! Om du får fel när du laddar upp koden, kontrollera att IO0 är ansluten till GND och att du har valt rätt inställningar i Verktyg-menyn.
Efter att ha laddat upp koden kopplar du bort IO0 och GND-stiftet. Öppna sedan den seriella bildskärmen och ändra överföringshastigheten till 115200. Tryck därefter på ESP32-återställningsknappen för att skriva ut ESP: s IP-adress och portnr på en seriell bildskärm som visas nedan.
Nu för att komma åt kamerastreaming, navigera till din webbläsare och ange din ESP IP-adress. Det tar dig till strömmande sidan. För att starta ESP32-videostreaming genom att klicka på 'Start Stream' -knappen längst ner på sidan
Du kan ändra strömningskvaliteten genom att ändra ' Upplösning ' på strömmande sidan. Du kan också klicka på bilderna genom att klicka på " Get Still" -knappen men den här koden har inte möjlighet att spara bilderna.
Efter att ha testat videostreamingen nu kommer vi att testa ESP32-ansiktsdetekterings- och igenkänningsfunktionerna för kam. För att aktivera ansiktsigenkännings- och detekteringsfunktionerna från inställningarna:
För att ansiktsigenkänning först måste du registrera ett ansikte. Du kan registrera dig i ett nytt ansikte genom att klicka på alternativet ' Registrera ansikte'. Det tar flera försök att rädda ansiktet. Efter att ha sparat ansiktet känner det av ansiktet som motiv 0 och nu kan det användas som ett säkerhetssystem genom att känna igen ansiktet.
Så här kan en ESP-kameramodul enkelt konfigureras för videostreaming och ansiktsigenkänning. Kontrollera små videofilmer nedan som tagits av ESP32-kamera.
Komplett kod ges nedan och den kan också laddas ner härifrån.