Sadržaj:

Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): 9 koraka
Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): 9 koraka

Video: Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): 9 koraka

Video: Abellcadabra (Sustav zaključavanja vrata za prepoznavanje lica): 9 koraka
Video: DOM Mifare bežična kontrola pristupa - wireless access control 2024, Studeni
Anonim
Abellcadabra (sustav zaključavanja vrata za prepoznavanje lica)
Abellcadabra (sustav zaključavanja vrata za prepoznavanje lica)

Ležajući tijekom karantene, pokušao sam pronaći način da ubijem vrijeme izgradnjom prepoznavanja lica za kućna vrata. Nazvao sam ga Abellcadabra - što je kombinacija između Abracadabre, čarobne fraze sa zvoncem na vratima koje samo čujem. lol

U svakom slučaju, ovaj sustav će izvršiti prepoznavanje lica pomoću Amazon Rekognance kada korisnik pritisne zvono na vratima. Rekognance će usporediti sliku snimljenu sa zbirkom slika u Amazonu S3. Ako je prepoznavanje uspješno, vrata će se otvoriti. Ako ne uspije, oglasit će se zvučni signal i korisnik može imati mogućnost otključavanja pomoću RFID tokena. Na unutarnjoj strani kuće nalazi se i gumb kojim vlasnik kuće može otključati vrata pritiskom na njih.

Sva prepoznavanja i otključavanje bit će pohranjena u Amazon DynamoDB. Pokušat ću objasniti korak po korak za izgradnju cijelog sustava. Koristim materijale koje već imam jer je trebalo dosta vremena da dobijem bilo što drugo pa je to to.

Korak 1: Materijali i alati

Materijal:

  • Malina Pi
  • Pi kamera
  • RC servo (djelovat će kao zaključavanje vrata)
  • Tipka za prebacivanje 2x
  • Zvučni signal
  • Magnetski prekidač
  • RC-522 RFID čitač i oznaka
  • MF, MM, FF žice za matičnu ploču
  • Ledena kutija od polistrena - bilo koja veličina bi bila u redu jer će to biti naša vrata.
  • Šarke 1,5 inča 2x
  • 2,5 mm vijak 4x

Alati

  • Odvijač
  • Dvostrana traka

Korak 2: Postavljanje Amazon web usluga

Postavljanje Amazon web usluga
Postavljanje Amazon web usluga

Amazon web usluge jednostavne su za korištenje i besplatne su sve dok ne dosegnete 5000 API poziva mjesečno. Ovdje se možete registrirati za AWS račun. Morat ćete se prijaviti za besplatni Amazon Rekognance račun. Besplatni nivo trebao bi biti više nego dovoljan za ovaj projekt.

Nakon uspješne registracije kliknite Usluge> IAM. Odavde ćemo stvoriti korisnika koji će imati dopuštenja da ga koristi Raspberry Pi.

  1. Kliknite Korisnici> Dodaj novog korisnika
  2. Dajte ime korisniku koji je stvorio. Za vrstu pristupa provjerite okvir Programski pristup.
  3. Pritisnite Dalje.
  4. Kliknite Izravno priloži postojeća pravila. Provjerite sljedeća pravila:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognanceFullAccess
  • AdministratorAccess
  1. Pritisnite Dalje i Dalje ponovno jer ne moramo dodavati oznaku.
  2. Provjerite jesu li odabrana pravila ista kao navedena, a zatim kliknite Stvori korisnika.

Preuzmite CSV datoteku koja sadrži ID pristupnog ključa i tajni pristupni ključ koji će se koristiti u sljedećem koraku. Pritisnite Zatvori.

Korak 3: Konfigurirajte Amazon S3 i Amazon DynamoDB

Na AWS konzoli kliknite Usluge> S3

S3 radi isto kao i Google disk gdje možete pohraniti dokumente i slike. Za ovaj projekt trebat će nam dvije korpe, od kojih jedna treba pohraniti zbirku slika koje će koristiti Amazon Rekognance (a druga je pohraniti snimljenu sliku.

  1. Pritisnite Create Bucket.
  2. Unesite naziv kante i ponovo kliknite Dalje i Dalje.
  3. Poništite okvir "Blokiraj sav javni pristup".
  4. I označite okvir "Potvrđujem da trenutne postavke mogu rezultirati time da ova kanta i objekti unutar postanu javni".
  5. Pritisnite Dalje i Stvori korpu.
  6. Ponovite korak za drugu kantu.
  7. kliknite Usluge> DynamoDB

Amazon DynamoDB će se koristiti u ovom projektu za spremanje podataka o prepoznavanju i otključavanju. Pojedinosti koje će se pohraniti povezuju se sa snimljenom slikom, naziv slike je prepoznat ili ako nije prepoznat, ime će se pohraniti kao 'nepoznato', datum i vrijeme prepoznavanja i status je li uspješno, bez podudaranja lica, bez lica otkriven, RFID otključavanje ili otključavanje iznutra.

  1. Pritisnite Dodaj novu tablicu.
  2. Umetnite bilo koji naziv tablice.
  3. Za primarni ključ umetnite 'rid' kao primarni ključ.
  4. Pritisnite Stvori.

Korak 4: Konfigurirajte AWS na Raspberry Pi

Prvi korak je unos vjerodajnica za AWS. Da biste to učinili u konzoli Raspberry Pi:

aws konfigurirati

Zatim unesite svoje vjerodajnice AWS IAM-a koje ste stvorili pazeći da unesete “us-west-2” kao svoju regiju (ili relevantnu regiju koju ste postavili za ponovno prepoznavanje AWS-a). Ostavite zadani izlazni format prazan.

Korak 5: Povežite stavke s Raspberry Pi

Dakle, veze stavki su kao u nastavku.

  • RC servo - 1, 11, uzemljenje
  • Magnetski prekidač - 8, uzemljenje
  • Zvučni signal - 32, uzemljen
  • Vanjski gumb - 16, uzemljenje
  • Unutrašnji gumb - 18, prizemlje
  • SDA pin na RFID čitaču - 24
  • SCK pin na RFID čitaču - 23
  • MOSI pin na RFID čitaču - 19
  • MISO pin na RFID čitaču - 21
  • GND pin na RFID čitaču - uzemljenje
  • RST pin na RFID čitaču - 22
  • 3.3 V pin na RFID čitaču - 17

Priključite se na najbliže uzemljenje.

Korak 6: Kodovi

Sav potreban kod možete pronaći u mom Git spremištu.

Upute za dodavanje lica i korištenje Index Faces.py potražite u ovom videozapisu.

Korak 7: Izrada prototipa

Izgradnja prototipa
Izgradnja prototipa
Izgradnja prototipa
Izgradnja prototipa

Kako tijekom gradnje nisam snimio nijednu sliku, ostavit ću sliku gotovog prototipa.

Prototip je napravljen tako da prikazuje vrata. Pogled s vidi pogled na vrata s vanjske strane kuće. Pi kamera je instalirana na prosječnu visinu linije ljudskog oka kako bi se osiguralo da snimljena slika sadrži lice koje treba prepoznati. Gumb za zvono na vratima koji će aktivirati Pi kameru za snimanje slike nalazi se ispod Pi kamere. RFID čitač također se postavlja na vrata kako bi korisnik na vratima otključao vrata pomoću RFID oznake u slučaju da prepoznavanje ne uspije.

Crveni gumb je gumb iznutra koji će se koristiti za otključavanje vrata iz unutrašnjosti kuće. Raspberry Pi je postavljen s unutarnje strane kuće tako da ga ljudi izvana ne mogu miješati. RC Servo se postavlja s desne strane vrata kao brava vrata. Zujalica je postavljena s unutarnje strane kuće kako bi se osiguralo da se zvuk zujalice može čuti od ljudi u kući kada je zazvonio. Magnetski prekidač postavljen je između vrata i okvira.

Korak 8: Testiranje prototipa

Testiranje prototipa
Testiranje prototipa

Pokrenite kôd na terminalu

sudo python3 naziv datoteke.py

Samo ste pritisnuli žuti gumb s vanjske strane kuće i ova fotografija je snimljena.

Provjerite svoj Amazon DynamoDB kako biste provjerili je li tablica ažurirana i S3 kante kako biste vidjeli je li snimljena slika pohranjena.

Korak 9: Zatvaranje

Ako se odlučite sami izraditi ovaj projekt, javite mi u komentarima (:

Hvala na čitanju.

Preporučeni: