Spisu treści:

Abellcadabra (system zamka drzwi do rozpoznawania twarzy): 9 kroków
Abellcadabra (system zamka drzwi do rozpoznawania twarzy): 9 kroków

Wideo: Abellcadabra (system zamka drzwi do rozpoznawania twarzy): 9 kroków

Wideo: Abellcadabra (system zamka drzwi do rozpoznawania twarzy): 9 kroków
Wideo: Psi Patrol | Najlepsze Momenty z Sezonu 9. PSIEGO Patrolu! 🐶 (Część 3.) | Nick Jr. Polska 2024, Listopad
Anonim
Abellcadabra (system zamka drzwi do rozpoznawania twarzy)
Abellcadabra (system zamka drzwi do rozpoznawania twarzy)

Leżąc w pobliżu podczas kwarantanny, próbowałem znaleźć sposób na zabicie czasu, budując rozpoznawanie twarzy dla drzwi do domu. Nazwałem go Abellcadabra - co jest połączeniem Abracadabra, magicznej frazy z dzwonkiem do drzwi, który biorę tylko dzwonkiem. kupa śmiechu

W każdym razie ten system wykona rozpoznawanie twarzy za pomocą Amazon Rekognition, gdy użytkownik naciśnie dzwonek do drzwi. Rozpoznanie porównuje obraz przechwycony z kolekcją obrazów w Amazon S3. Jeśli rozpoznanie się powiedzie, drzwi zostaną otwarte. Jeśli to się nie powiedzie, zabrzmi brzęczyk i użytkownik będzie miał możliwość odblokowania za pomocą tokena RFID. Wewnątrz domu znajduje się również przycisk, za pomocą którego właściciel może otworzyć drzwi, naciskając go.

Wszystkie wykonane rozpoznania i odblokowania będą przechowywane w Amazon DynamoDB. Postaram się wyjaśnić krok po kroku, jak zbudować cały system. Korzystam z materiałów, które już mam, ponieważ zajęło mi dużo czasu, aby uzyskać cokolwiek innego, więc to jest to.

Krok 1: Materiały i narzędzia

Materiał:

  • Malina Pi
  • Kamera Pi
  • Serwo RC (będzie działać jako zamek do drzwi)
  • Przycisk przełączania 2x
  • Brzęczyk
  • Magnetyczny przełącznik
  • RC-522 Czytnik i tag RFID
  • Przewody płytki stykowej MF, MM, FF
  • Polystrene Ice Box - każdy rozmiar będzie w porządku, ponieważ to będą nasze drzwi.
  • Zawias 1,5 cala 2x
  • Śruba 2,5 mm 4x

Narzędzia

  • Śrubokręt
  • Taśma dwustronna

Krok 2: Konfigurowanie usług internetowych Amazon

Konfigurowanie usług internetowych Amazon
Konfigurowanie usług internetowych Amazon

Amazon Web Services jest łatwy w użyciu i bezpłatny, dopóki nie osiągniesz 5000 wywołań API miesięcznie. Tutaj możesz zarejestrować konto AWS. Musisz zarejestrować się w celu uzyskania bezpłatnego konta Amazon Rekognition. Bezpłatna warstwa powinna być więcej niż wystarczająca dla tego projektu.

Po pomyślnej rejestracji kliknij Usługi > Uprawnienia. Stąd utworzymy użytkownika, który będzie miał uprawnienia do używania przez Raspberry Pi.

  1. Kliknij Użytkownicy > Dodaj nowego użytkownika
  2. Nadaj nazwę utworzonemu użytkownikowi. W polu Typ dostępu zaznacz pole Dostęp programowy.
  3. Kliknij Następny.
  4. Kliknij Dołącz bezpośrednio istniejące zasady. Sprawdź następujące zasady:
  • AWLambdaPełny dostęp
  • AmazonS3Pełny dostęp
  • AmazonDynamoDBPełny dostęp
  • AmazonRozpoznawaniePełny dostęp
  • Dostęp administratora
  1. Kliknij Dalej i Dalej ponownie, ponieważ nie musimy dodawać tagu.
  2. Sprawdź, czy wybrane polityki są takie same, jak na liście, a następnie kliknij Utwórz użytkownika.

Pobierz plik CSV, który zawiera identyfikator klucza dostępu i tajny klucz dostępu, które będą używane w następnym kroku. Kliknij Zamknij.

Krok 3: Skonfiguruj Amazon S3 i Amazon DynamoDB

W konsoli AWS kliknij Usługi > S3

S3 działa tak samo jak Dysk Google, na którym możesz przechowywać dokumenty i obrazy. Do tego projektu będziemy potrzebować dwóch Bucketów, z których jeden służy do przechowywania kolekcji obrazów do wykorzystania przez Amazon Rekognition (a drugi do przechowywania przechwyconego obrazu).

  1. Kliknij Utwórz zasobnik.
  2. Wpisz nazwę zasobnika i ponownie kliknij Dalej i Dalej.
  3. Odznacz pole „Zablokuj cały dostęp publiczny”.
  4. I zaznacz pole „Potwierdzam, że bieżące ustawienia mogą spowodować, że ten zasobnik i znajdujące się w nim obiekty staną się publiczne”.
  5. Kliknij Dalej i utwórz zasobnik.
  6. Powtórz krok dla drugiego wiadra.
  7. kliknij Usługi > DynamoDB

Amazon DynamoDB będzie używany w tym projekcie do przechowywania danych rozpoznawania i odblokowywania. szczegóły, które zostaną zapisane, to link do przechwyconego obrazu, nazwa obrazu rozpoznana lub jeśli nie zostanie rozpoznana, nazwa zostanie zapisana jako „nieznana”, data i godzina rozpoznania oraz status, czy operacja się powiodła, brak dopasowanych twarzy, brak twarzy wykryty, odblokowany lub odblokowany RFID od wewnątrz.

  1. Kliknij Dodaj nową tabelę.
  2. Wstaw dowolną nazwę tabeli.
  3. W przypadku klucza podstawowego wstaw „rid” jako klucz podstawowy.
  4. Kliknij Utwórz.

Krok 4: Skonfiguruj AWS na Raspberry Pi

Pierwszym krokiem jest wprowadzenie poświadczeń AWS. Aby to zrobić w konsoli Raspberry Pi:

Konfiguracja aws

Następnie wprowadź swoje dane uwierzytelniające AWS IAM, które utworzyłeś, upewniając się, że wpisujesz „us-west-2” jako swój region (lub odpowiedni region skonfigurowany dla AWS Rekognition). Domyślny format wyjściowy pozostaw pusty.

Krok 5: Podłącz elementy do Raspberry Pi

Więc połączenia elementów są jak poniżej.

  • Serwo RC - 1, 11, ziemia
  • Przełącznik magnetyczny - 8, uziemienie
  • Brzęczyk - 32, ziemia
  • Przycisk zewnętrzny - 16, ziemia
  • Guzik wewnętrzny - 18, ziemia
  • Pin SDA na czytniku RFID - 24
  • SCK pin na czytniku RFID - 23
  • Pin MOSI na czytniku RFID - 19
  • Pin MISO na czytniku RFID - 21
  • Pin GND na czytniku RFID - uziemienie
  • Pin RST na czytniku RFID - 22
  • Pin 3,3 V na czytniku RFID - 17

Podłącz do najbliższego uziemienia.

Krok 6: Kody

Cały potrzebny kod znajdziesz w moim repozytorium Git.

Aby dowiedzieć się, jak dodawać twarze i korzystać z Index Faces.py, obejrzyj ten film.

Krok 7: Budowa prototypu

Budowa prototypu
Budowa prototypu
Budowa prototypu
Budowa prototypu

Ponieważ nie zrobiłem żadnego zdjęcia podczas budowy, po prostu zostawię zdjęcie mojego gotowego prototypu.

Prototyp ma przedstawiać drzwi. Widok z przedstawia widok drzwi z zewnątrz domu. Kamera Pi została zainstalowana na średniej wysokości linii ludzkiego oka, aby mieć pewność, że przechwycony obraz będzie zawierał twarz do rozpoznania. Przycisk dzwonka, który aktywuje kamerę Pi do przechwytywania obrazu, znajduje się pod kamerą Pi. Czytnik RFID jest również umieszczany na drzwiach, aby użytkownik mógł odblokować drzwi za pomocą tagu RFID w przypadku niepowodzenia rozpoznawania.

Czerwony przycisk to przycisk wewnętrzny, który będzie używany do otwierania drzwi z wnętrza domu. Raspberry Pi jest umieszczone wewnątrz domu, aby osoby z zewnątrz nie mogły przy nim manipulować. RC Servo znajduje się po prawej stronie drzwi jako zamek drzwi. Brzęczyk jest umieszczony wewnątrz domu, aby dźwięk brzęczyka był słyszalny od ludzi wewnątrz domu, gdy zadzwonił. Przełącznik magnetyczny jest umieszczony pomiędzy drzwiami a ramą.

Krok 8: Testowanie prototypu

Testowanie prototypu
Testowanie prototypu

Uruchom kod na terminalu

sudo python3 nazwa pliku.py

Po prostu nacisnąłem żółty przycisk na zewnątrz domu i to zdjęcie zostało zrobione.

Sprawdź swoją bazę danych Amazon DynamoDB, aby sprawdzić, czy tabela jest zaktualizowana, a zasobniki S3, aby zobaczyć, czy przechwycony obraz jest przechowywany.

Krok 9: Zamknięcie

Jeśli zdecydujesz się na samodzielne wykonanie tego projektu, daj mi znać w komentarzach (:

Dziękuje za przeczytanie.

Zalecana: