Sadržaj:

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

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

Video: Abellcadabra (sistem zaključavanja vrata za prepoznavanje lica): 9 koraka
Video: Центральный замок Audi не работает / проблема с центральным замком дверей Audi 2024, Juli
Anonim
Abellcadabra (sistem zaključavanja vrata za prepoznavanje lica)
Abellcadabra (sistem zaključavanja vrata za prepoznavanje lica)

Ležajući u karanteni, 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, magične fraze sa zvonom na vratima koje samo čujem. lol

U svakom slučaju, ovaj sistem će izvršiti prepoznavanje lica koristeći Amazon Rekognance kada korisnik pritisne zvono na vratima. Rekognance će uporediti 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 unutrašnjoj strani kuće nalazi se i dugme kojim vlasnik 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 sistema. 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:

  • Raspberry Pi
  • Pi Camera
  • RC servo (djelovat će kao zaključavanje vrata)
  • Dugme za prebacivanje 2x
  • Zujalica
  • Magnetski prekidač
  • RC-522 RFID čitač i oznaka
  • MF, MM, FF žice za matične ploče
  • 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

  • Šrafciger
  • 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 registrirati za besplatni Amazon Rekognance račun. Besplatni nivo bi trebao biti više nego dovoljan za ovaj projekt.

Nakon uspješne registracije kliknite Usluge> IAM. Odavde ćemo stvoriti korisnika koji će imati dozvole za korištenje od Raspberry Pi.

  1. Kliknite Korisnici> Dodaj novog korisnika
  2. Dajte ime korisniku koji je kreirao. Za tip pristupa provjerite okvir za programski pristup.
  3. Pritisnite Dalje.
  4. Kliknite izravno Priloži postojeće politike. Provjerite sljedeće politike:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognanceFullAccess
  • AdministratorAccess
  1. Pritisnite Dalje i Dalje ponovo jer ne moramo dodavati oznaku.
  2. Provjerite jesu li odabrana pravila ista kao navedena, a zatim kliknite Kreiraj korisnika.

Preuzmite CSV datoteku koja sadrži ID pristupnog ključa i tajni pristupni ključ koji će se koristiti u narednom 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, a jedna će pohraniti zbirku slika koje će koristiti Amazon Rekognance (a druga je pohraniti snimljenu sliku.

  1. Pritisnite Create Bucket.
  2. Unesite naziv korpe 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 dovesti do toga da ova kanta i objekti koji postanu javni" postave okvir.
  5. Pritisnite Dalje i Kreiraj korpu.
  6. Ponovite korak za drugu posudu.
  7. kliknite Usluge> DynamoDB

Amazon DynamoDB će se koristiti u ovom projektu za spremanje podataka o prepoznavanju i otključavanju. detalji koji će biti pohranjeni 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 da li je uspješno, bez podudaranja lica, bez lica otkriven, RFID otključavanje ili otključavanje iznutra.

  1. Kliknite Dodaj novu tabelu.
  2. Unesite bilo koji naziv za tabelu.
  3. Za primarni ključ, umetnite 'rid' kao primarni ključ.
  4. Pritisnite Kreiraj.

Korak 4: Konfigurirajte AWS na Raspberry Pi

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

aws configure

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, uzemljenje
  • Spoljašnje dugme - 16, uzemljenje
  • Unutrašnje dugme - 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 nisam napravio nijednu sliku tokom izrade, ostaviću samo sliku svog gotovog prototipa.

Prototip je napravljen tako da prikazuje vrata. Pogled sa vidi pogled na vrata sa 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. Dugme zvona na vratima koje će aktivirati Pi kameru za snimanje slike nalazi se ispod Pi kamere. RFID čitač se također postavlja na vrata kako bi korisnik na vratima otključao vrata pomoću RFID oznake u slučaju da prepoznavanje ne uspije.

Crveno dugme je dugme Unutrašnjost koje će se koristiti za otključavanje vrata iz unutrašnjosti kuće. Raspberry Pi se nalazi u unutrašnjosti kuće tako da ljudi izvana ne mogu dirati u njega. RC Servo se postavlja s desne strane vrata kao brava vrata. Zujalica je postavljena u unutrašnjosti kuće kako bi se osiguralo da se zvuk zujalice može čuti od ljudi u kući kada je zazvonio. Magnetni prekidač postavljen je između vrata i okvira.

Korak 8: Testiranje prototipa

Testiranje prototipa
Testiranje prototipa

Pokrenite kôd na terminalu

sudo python3 filename.py

Samo pritisnite žuto dugme sa vanjske strane kuće i ova fotografija je snimljena.

Provjerite svoj Amazon DynamoDB da biste provjerili je li tablica ažurirana i S3 korpe da vidite je li snimljena slika pohranjena.

Korak 9: Zatvaranje

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

Hvala na čitanju.

Preporučuje se: