Innholdsfortegnelse:

Abellcadabra (ansiktsgjenkjenning dørlåssystem): 9 trinn
Abellcadabra (ansiktsgjenkjenning dørlåssystem): 9 trinn

Video: Abellcadabra (ansiktsgjenkjenning dørlåssystem): 9 trinn

Video: Abellcadabra (ansiktsgjenkjenning dørlåssystem): 9 trinn
Video: What is a Juggalo? 2024, November
Anonim
Abellcadabra (ansiktsgjenkjenning dørlåssystem)
Abellcadabra (ansiktsgjenkjenning dørlåssystem)

Når jeg lå i karantene, prøvde jeg å finne en måte å drepe tiden på ved å bygge ansiktsgjenkjenning for husdør. Jeg kalte det Abellcadabra - som er en kombinasjon mellom Abracadabra, en magisk frase med dørklokke som jeg bare tar klokken. LOL

Uansett, dette systemet vil utføre ansiktsgjenkjenning ved å bruke Amazon Rekognition når brukeren trykker på dørklokken. Anerkjennelse kommer til å sammenligne bildet tatt med en samling bilder i Amazon S3. Hvis gjenkjennelsen lykkes, åpnes døren. Hvis det ikke lykkes, vil summeren høres og brukeren kan velge å låse opp ved hjelp av RFID -token. Det er også en knapp på innsiden av huset der huseieren kan låse opp døren ved å trykke på den.

Alle gjenkjennelser og opplåsing som utføres, blir lagret i Amazon DynamoDB. Jeg skal prøve å forklare trinnvis for å bygge hele systemet. Jeg bruker materialene jeg allerede har fordi det tok lang tid å få noe annet, så dette er det.

Trinn 1: Materialer og verktøy

Materiale:

  • Bringebær Pi
  • Pi kamera
  • RC servo (fungerer som dørlås)
  • Bryterknapp 2x
  • Summer
  • Magnetisk bryter
  • RC-522 RFID-leser og tag
  • MF, MM, FF brødbrett ledninger
  • Polystrene Ice Box - hvilken som helst størrelse ville være ok fordi dette vil være vår dør.
  • 1,5 tommers hengsel 2x
  • 2,5 mm skrue 4x

Verktøy

  • Skrujern
  • Dobbeltsidig tape

Trinn 2: Konfigurere Amazon Web Services

Sette opp Amazon Web Services
Sette opp Amazon Web Services

Amazon Web Services er enkel å bruke og er gratis til du når 5000 API -anrop per måned. Du kan registrere deg for AWS -konto her. Du må registrere deg for en gratis tier amazon Rekognition -konto. Gratisnivået bør være mer enn tilstrekkelig for dette prosjektet.

Etter at registreringen er vellykket, klikker du på Tjenester> IAM. Herfra vil vi opprette en bruker som har tillatelser til å bli brukt av Raspberry Pi.

  1. Klikk på Brukere> Legg til ny bruker
  2. Gi navnet til brukeren som er opprettet. For tilgangstype, merk av for Programmatisk tilgangsboks.
  3. Klikk Neste.
  4. Klikk på Legg ved eksisterende retningslinjer direkte. Sjekk følgende retningslinjer:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • AdministratorTilgang
  1. Klikk på Neste og Neste igjen fordi vi ikke trenger å legge til koden.
  2. Kontroller om de valgte retningslinjene er de samme som oppført, og klikk deretter på Opprett bruker.

Last ned CSV -filen som inneholder tilgangsnøkkel -ID og hemmelig tilgangsnøkkel som vil bli brukt i det neste trinnet. Klikk på Lukk.

Trinn 3: Konfigurer Amazon S3 og Amazon DynamoDB

Klikk på Tjenester> S3 på AWS -konsollen

S3 fungerer akkurat som Google Disk, der du kan lagre dokumenter og bilder. For dette prosjektet trenger vi to bøtter, den ene skal lagre en samling bilder som skal brukes av Amazon Rekognition (og den andre er å lagre det fangede bildet.

  1. Klikk på Opprett bøtte.
  2. Skriv inn bøtte -navn, og klikk på Neste og Neste igjen.
  3. Fjern merket for "Blokker all offentlig tilgang" -boksen.
  4. Og merk av for "Jeg erkjenner at gjeldende innstillinger kan resultere i at denne bøtta og objektene blir offentlige".
  5. Klikk på Neste og Lag bøtte.
  6. Gjenta trinnet for den andre bøtta.
  7. klikk på Tjenester> DynamoDB

Amazon DynamoDB vil bli brukt i dette prosjektet til å lagre gjenkjenning og låse opp detaljer. detaljene som vil bli lagret er lenke til bildet tatt, navn på bildet gjenkjent eller hvis det ikke blir gjenkjent, vil navnet bli lagret som 'ukjent', dato og klokkeslett for gjenkjenning og status om det er vellykket, ingen ansikter matchet, ingen ansikter oppdaget, RFID -opplåsing eller ulåst fra innsiden.

  1. Klikk på Legg til ny tabell.
  2. Sett inn et hvilket som helst navn for tabellen.
  3. For primærnøkkel, sett inn "kvitt" som primærnøkkel.
  4. Klikk på Opprett.

Trinn 4: Konfigurer AWS på Raspberry Pi

Det første trinnet er å angi AWS -legitimasjonen din. For å gjøre denne typen i konsollen til Raspberry Pi:

aws konfigurere

Skriv deretter inn AWS IAM-legitimasjonen du har opprettet, og pass på at du skriver inn "us-west-2" som din region (eller den relevante regionen du har konfigurert for AWS Rekognition). La standardutdataformatet stå tomt.

Trinn 5: Koble elementene til Raspberry Pi

Så tilkoblingene til elementene er som nedenfor.

  • RC Servo - 1, 11, bakken
  • Magnetisk bryter - 8, jordet
  • Summer - 32, bakken
  • Utvendig knapp - 16, bakken
  • Inside Button - 18, Ground
  • SDA -pinne på RFID -leser - 24
  • SCK -pinne på RFID -leser - 23
  • MOSI -pinne på RFID -leser - 19
  • MISO -pinne på RFID -leser - 21
  • GND -pinne på RFID -leser - bakken
  • RST -pinne på RFID -leser - 22
  • 3,3 V -pinne på RFID -leser - 17

Koble til nærmeste bakken.

Trinn 6: Koder

Du kan finne all koden som er nødvendig i Git -depotet mitt.

For trinnene for hvordan du legger til ansikter og bruker Index Faces.py, vennligst sjekk denne videoen.

Trinn 7: Bygg prototypen

Å bygge prototypen
Å bygge prototypen
Å bygge prototypen
Å bygge prototypen

Siden jeg ikke tok noe bilde under byggingen, vil jeg bare la bildet av min ferdige prototype være igjen.

Prototypen er bygget for å skildre en dør. Utsikten fra viser utsikten over døren fra utsiden av huset. Pi -kameraet ble installert til gjennomsnittlig høyde for menneskelig øyelinje for å sikre at bildet som tas vil inneholde ansikt som skal gjenkjennes. Dørklokkeknappen som vil aktivere Pi -kameraet for å ta bilde, er plassert under Pi -kameraet. RFID -leser er også plassert på døren for at brukeren ved døren kan låse opp døren ved hjelp av RFID -tag i tilfelle gjenkjennelsen mislyktes.

Den røde knappen er innsiden -knappen som skal brukes til å låse opp døren fra innsiden av huset. Raspberry Pi er plassert på innsiden av huset, slik at menneskene utenfra ikke kan tukle med det. RC Servo er plassert på høyre side av døren som låsen på døren. Summer er plassert på innsiden av huset for å sikre at lyden av summer kan høres fra folk inne i huset når det ringte. Magnetisk bryter er plassert mellom døren og rammen.

Trinn 8: Testing av prototypen

Tester prototypen
Tester prototypen

Kjør koden på terminalen

sudo python3 filnavn.py

Bare trykket på den gule knappen på utsiden av huset, og dette bildet er tatt.

Sjekk din Amazon DynamoDB for å kontrollere at tabellen er oppdatert og S3 -bøtter for å se at bildet som er tatt, er lagret.

Trinn 9: Avslutning

Gi meg beskjed i kommentarene hvis du bestemmer deg for å lage dette prosjektet selv:

Takk for at du leste.

Anbefalt: