Inhoudsopgave:

Abellcadabra (gezichtsherkenning deurvergrendelingssysteem): 9 stappen
Abellcadabra (gezichtsherkenning deurvergrendelingssysteem): 9 stappen

Video: Abellcadabra (gezichtsherkenning deurvergrendelingssysteem): 9 stappen

Video: Abellcadabra (gezichtsherkenning deurvergrendelingssysteem): 9 stappen
Video: Жизнь научила! Советы и хитрости умных женщин 2024, November
Anonim
Abellcadabra (Gezichtsherkenning Deurvergrendelingssysteem)
Abellcadabra (Gezichtsherkenning Deurvergrendelingssysteem)

Terwijl ik tijdens de quarantaine rondslingerde, probeerde ik een manier te vinden om de tijd te doden door gezichtsherkenning te bouwen voor de huisdeur. Ik noemde het Abellcadabra - wat een combinatie is tussen Abracadabra, een magische uitdrukking met deurbel waarvan ik alleen de bel neem. lol

Hoe dan ook, dit systeem zal gezichtsherkenning uitvoeren door Amazon Rekognition te gebruiken wanneer de gebruiker op de deurbel drukt. Rekognition gaat de gemaakte afbeelding vergelijken met een verzameling afbeeldingen in Amazon S3. Als de herkenning succesvol is, wordt de deur geopend. Als het niet succesvol is, klinkt de zoemer en kan de gebruiker de optie hebben om te ontgrendelen met behulp van RFID-token. Er is ook een knop aan de binnenkant van het huis waar de huiseigenaar de deur kan ontgrendelen door erop te drukken.

Alle uitgevoerde herkenningen en ontgrendelingen worden opgeslagen in Amazon DynamoDB. Ik zal proberen stap voor stap uit te leggen om het hele systeem te bouwen. Ik gebruik de materialen die ik al heb omdat het lang duurde om iets anders te krijgen, dus dit is het.

Stap 1: Materialen en gereedschappen

Materiaal:

  • Raspberry Pi
  • Pi-camera
  • RC-servo (zal fungeren als deurslot)
  • Schakelknop 2x
  • Zoemer
  • Magnetische schakelaar
  • RC-522 RFID-lezer en tag
  • MF, MM, FF breadboard-draden
  • Polystrene Ice Box - elke maat zou goed zijn, want dit zal onze deur zijn.
  • 1,5 inch scharnier 2x
  • 2,5 mm schroef 4x

Gereedschap

  • Schroevendraaier
  • Dubbelzijdige tape

Stap 2: Amazon-webservices instellen

Amazon Web Services instellen
Amazon Web Services instellen

Amazon Web Services is gebruiksvriendelijk en gratis tot je 5000 API-aanroepen per maand bereikt. U kunt zich hier hier registreren voor een AWS-account. U moet zich aanmelden voor een gratis tier Amazon Rekognition-account. De gratis laag zou meer dan voldoende moeten zijn voor dit project.

Nadat de aanmelding is gelukt, klikt u op Services > IAM. Vanaf hier zullen we een gebruiker maken die toestemming heeft om door Raspberry Pi te worden gebruikt.

  1. Klik op Gebruikers > Nieuwe gebruiker toevoegen
  2. Geef naam aan aangemaakte gebruiker. Vink bij Toegangstype het vakje Programmatische toegang aan.
  3. Klik volgende.
  4. Klik op Bestaande polissen direct bijvoegen. Controleer het volgende beleid:
  • AWSLambdaVolledige toegang
  • AmazonS3Volledige toegang
  • AmazonDynamoDBVolledige toegang
  • AmazonErkenningVolledige toegang
  • Beheerderstoegang
  1. Klik nogmaals op Volgende en Volgende omdat we geen tag hoeven toe te voegen.
  2. Controleer of het gekozen beleid overeenkomt met de lijst en klik vervolgens op Gebruiker maken.

Download het CSV-bestand met de toegangssleutel-ID en geheime toegangssleutel die in de volgende stap zal worden gebruikt. Klik op Sluiten.

Stap 3: Configureer Amazon S3 en Amazon DynamoDB

Klik in de AWS-console op Services > S3

S3 werkt net als Google Drive, waar u documenten en afbeeldingen kunt opslaan. Voor dit project hebben we twee Buckets nodig, waarvan de ene is om een verzameling afbeeldingen op te slaan die door Amazon Rekognition moeten worden gebruikt (en de tweede is om de vastgelegde afbeelding op te slaan.

  1. Klik op Bucket maken.
  2. Voer de bucketnaam in en klik nogmaals op Volgende en Volgende.
  3. Vink het vakje "Alle openbare toegang blokkeren" uit.
  4. En vink het vakje "Ik erken dat de huidige instellingen ertoe kunnen leiden dat deze bucket en de objecten erin openbaar worden" aan.
  5. Klik op Volgende en Bucket maken.
  6. Herhaal de stap voor de tweede emmer.
  7. klik op Services > DynamoDB

Amazon DynamoDB zal in dit project worden gebruikt om de herkennings- en ontgrendelingsdetails op te slaan. de details die worden opgeslagen is een link naar de gemaakte foto, naam van de afbeelding herkend of indien niet herkend, de naam wordt opgeslagen als 'onbekend', datum en tijd van herkenning en de status of het gelukt is, geen gezichten gematcht, geen gezichten gedetecteerd, RFID-ontgrendeling of ontgrendeld van binnenuit.

  1. Klik op Nieuwe tabel toevoegen.
  2. Voeg een naam voor de tabel in.
  3. Voer voor primaire sleutel 'rid' in als primaire sleutel.
  4. Klik op Maken.

Stap 4: Configureer AWS op Raspberry Pi

De eerste stap is om uw AWS-inloggegevens in te voeren. Om dit te doen typ je in de console van Raspberry Pi:

aws configureren

Voer vervolgens uw AWS IAM-inloggegevens in die u hebt gemaakt en zorg ervoor dat u "us-west-2" invoert als uw regio (of de relevante regio die u hebt ingesteld voor AWS-herkenning). Laat het standaard uitvoerformaat leeg.

Stap 5: Verbind de items met Raspberry Pi

Dus de aansluitingen van de items zijn zoals hieronder.

  • RC Servo - 1, 11, aarde
  • Magnetische schakelaar - 8, aarde
  • Zoemer - 32, aarde
  • Buitenknop - 16, Massa
  • Binnenknop - 18, grond
  • SDA-pin op RFID-lezer - 24
  • SCK-pin op RFID-lezer - 23
  • MOSI pin op RFID-lezer - 19
  • MISO-pin op RFID-lezer - 21
  • GND-pin op RFID-lezer - aarde
  • RST-pin op RFID-lezer - 22
  • 3.3 V pin op RFID-lezer - 17

Maak verbinding met de dichtstbijzijnde grond.

Stap 6: Codes

Je kunt alle benodigde code vinden in mijn Git-repository.

Bekijk deze video voor de stappen om gezichten toe te voegen en Index Faces.py te gebruiken.

Stap 7: Het prototype bouwen

Het prototype bouwen
Het prototype bouwen
Het prototype bouwen
Het prototype bouwen

Omdat ik tijdens mijn build geen foto heb gemaakt, laat ik de foto van mijn voltooide prototype achter.

Het prototype is gebouwd om een deur uit te beelden. Het uitzicht vanaf toont het zicht op de deur vanaf de buitenkant van het huis. Pi Camera is geïnstalleerd op de gemiddelde hoogte van de menselijke ooglijn om ervoor te zorgen dat de vastgelegde afbeelding een te herkennen gezicht bevat. De deurbelknop die de Pi-camera activeert om beeld vast te leggen, wordt onder de Pi-camera geplaatst. RFID-lezer wordt ook op de deur geplaatst zodat de gebruiker bij de deur de deur kan ontgrendelen met behulp van een RFID-tag in het geval de herkenning mislukt.

De rode knop is de binnenknop die wordt gebruikt om de deur van binnenuit te ontgrendelen. Raspberry Pi wordt aan de binnenkant van het huis geplaatst, zodat de mensen van buiten er niet mee kunnen knoeien. RC Servo wordt aan de rechterkant van de deur geplaatst als het slot van de deur. Zoemer wordt aan de binnenkant van het huis geplaatst om ervoor te zorgen dat het geluid van de zoemer kan worden gehoord door mensen in het huis wanneer deze gaat. Magnetische schakelaar wordt tussen de deur en het frame geplaatst.

Stap 8: het prototype testen

Het prototype testen
Het prototype testen

Voer de code uit op de terminal

sudo python3 bestandsnaam.py

Druk gewoon op de gele knop aan de buitenkant van het huis en deze foto is gemaakt.

Controleer uw Amazon DynamoDB om te controleren of de tabel is bijgewerkt en S3-buckets om te zien of de vastgelegde afbeelding is opgeslagen.

Stap 9: Afsluiten

Als je besluit dit project zelf te maken, laat het me dan weten in de comments (:

Bedankt voor het lezen.

Aanbevolen: