Sommario:

Abellcadabra (Sistema di blocco porta con riconoscimento facciale): 9 passaggi
Abellcadabra (Sistema di blocco porta con riconoscimento facciale): 9 passaggi
Anonim
Abellcadabra (Sistema di blocco porta con riconoscimento facciale)
Abellcadabra (Sistema di blocco porta con riconoscimento facciale)

Sdraiato durante la quarantena, ho cercato di trovare un modo per ammazzare il tempo costruendo il riconoscimento facciale per la porta di casa. L'ho chiamato Abellcadabra - che è una combinazione tra Abracadabra, una frase magica con campanello che prendo solo il campanello. LOL

In ogni caso, questo sistema eseguirà il riconoscimento facciale utilizzando Amazon Rekognition quando l'utente preme il campanello. Rekognition andrà a confrontare l'immagine catturata con una raccolta di immagini in Amazon S3. Se il riconoscimento va a buon fine, la porta verrà aperta. Se non riesce, il cicalino suonerà e l'utente potrà avere l'opzione di sbloccare utilizzando il token RFID. C'è anche un pulsante all'interno della casa dove il proprietario della casa può sbloccare la porta premendola.

Tutti i riconoscimenti e gli sblocchi eseguiti verranno archiviati in Amazon DynamoDB. Cercherò di spiegare passo passo per costruire l'intero sistema. Sto usando i materiali che ho già perché ci è voluto molto tempo per ottenere qualcos'altro, quindi questo è tutto.

Passaggio 1: materiali e strumenti

Materiale:

  • Lampone Pi
  • Fotocamera Pi
  • Servo RC (fungerà da serratura della porta)
  • Pulsante di commutazione 2x
  • Cicalino
  • Interruttore magnetico
  • RC-522 Lettore RFID e tag
  • Fili per breadboard MF, MM, FF
  • Ghiacciaia in polistirene: qualsiasi dimensione andrebbe bene perché questa sarà la nostra porta.
  • Cerniera da 1,5 pollici 2x
  • Vite da 2,5 mm 4x

Utensili

  • Cacciavite
  • Nastro biadesivo

Passaggio 2: configurazione di Amazon Web Services

Configurazione di Amazon Web Services
Configurazione di Amazon Web Services

Amazon Web Services è facile da usare ed è gratuito fino al raggiungimento di 5000 chiamate API al mese. Puoi registrarti per un account AWS qui qui. Dovrai registrarti per un account Amazon Rekognition di livello gratuito. Il livello gratuito dovrebbe essere più che sufficiente per questo progetto.

Dopo che la registrazione è andata a buon fine, fai clic su Servizi > IAM. Da qui, creeremo un utente che avrà le autorizzazioni per essere utilizzato da Raspberry Pi.

  1. Fare clic su Utenti > Aggiungi nuovo utente
  2. Dai il nome all'utente creato. Per Tipo di accesso selezionare la casella Accesso programmatico.
  3. Fare clic su Avanti.
  4. Fare clic su Allega direttamente i criteri esistenti. Controlla le seguenti politiche:
  • AWSLambdaAccesso completo
  • AmazonS3Accesso completo
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionAccesso completo
  • Accesso amministratore
  1. Fare clic di nuovo su Avanti e Avanti perché non è necessario aggiungere tag.
  2. Verificare se i criteri scelti sono gli stessi elencati, quindi fare clic su Crea utente.

Scarica il file CSV che contiene l'ID della chiave di accesso e la chiave di accesso segreta che verrà utilizzata nel passaggio successivo. Fare clic su Chiudi.

Passaggio 3: configurare Amazon S3 e Amazon DynamoDB

Nella Console AWS, fai clic su Servizi > S3

S3 funziona proprio come Google Drive dove puoi archiviare documenti e immagini. Per questo progetto, avremo bisogno di due bucket, di cui uno per archiviare una raccolta di immagini da utilizzare con Amazon Rekognition (e il secondo per archiviare l'immagine acquisita.

  1. Fare clic su Crea bucket.
  2. Immettere il nome del bucket e fare nuovamente clic su Avanti e Avanti.
  3. Deseleziona la casella "Blocca tutto l'accesso pubblico".
  4. E spunta la casella "Prendo atto che le impostazioni correnti possono far sì che questo bucket e gli oggetti all'interno diventino pubblici".
  5. Fare clic su Avanti e creare un bucket.
  6. Ripetere il passaggio per il secondo secchio.
  7. fare clic su Servizi > DynamoDB

Amazon DynamoDB verrà utilizzato in questo progetto per archiviare il riconoscimento e sbloccare i dettagli. i dettagli che verranno archiviati sono il collegamento all'immagine acquisita, il nome dell'immagine riconosciuta o se non riconosciuta il nome verrà archiviato come "sconosciuto", la data e l'ora del riconoscimento e lo stato se è riuscito, nessun volto abbinato, nessun volto rilevato, RFID sbloccato o sbloccato dall'interno.

  1. Fare clic su Aggiungi nuova tabella.
  2. Inserisci un nome qualsiasi per la tabella.
  3. Per la chiave primaria, inserisci "rid" come chiave primaria.
  4. Fare clic su Crea.

Passaggio 4: configurare AWS su Raspberry Pi

Il primo passaggio consiste nell'inserire le credenziali AWS. Per fare questo digita nella console di Raspberry Pi:

aws configura

Quindi inserisci le tue credenziali AWS IAM che hai creato assicurandoti di inserire "us-west-2" come regione (o la regione pertinente che hai configurato per AWS Rekognition). Lascia vuoto il formato di output predefinito.

Passaggio 5: collega gli elementi a Raspberry Pi

Quindi le connessioni degli articoli sono le seguenti.

  • Servo RC - 1, 11, terra
  • Interruttore magnetico - 8, terra
  • Cicalino - 32, terra
  • Pulsante esterno - 16, Terra
  • Pulsante interno - 18, terra
  • Pin SDA su lettore RFID - 24
  • Pin SCK su lettore RFID - 23
  • Pin MOSI su lettore RFID - 19
  • Pin MISO su lettore RFID - 21
  • Pin GND su lettore RFID - Terra
  • Pin RST su lettore RFID - 22
  • Pin 3,3 V su lettore RFID - 17

Si prega di connettersi alla terra più vicina.

Passaggio 6: codici

Puoi trovare tutto il codice necessario nel mio repository Git.

Per i passaggi su come aggiungere volti e utilizzare Index Faces.py, controlla questo video.

Passaggio 7: costruzione del prototipo

Costruire il prototipo
Costruire il prototipo
Costruire il prototipo
Costruire il prototipo

Poiché non ho scattato alcuna foto durante la mia costruzione, lascerò solo la foto del mio prototipo finito.

Il prototipo è costruito per ritrarre una porta. La vista da mostra la vista della porta dall'esterno della casa. Pi Camera è stata installata all'altezza media della linea dell'occhio umano per garantire che l'immagine acquisita contenga il volto da riconoscere. Il pulsante del campanello che attiverà la fotocamera Pi per acquisire l'immagine è posizionato sotto la fotocamera Pi. Il lettore RFID viene inoltre posizionato sulla porta affinché l'utente alla porta possa sbloccare la porta utilizzando il tag RFID nel caso in cui il riconoscimento non sia riuscito.

Il pulsante rosso è il pulsante interno che verrà utilizzato per sbloccare la porta dall'interno della casa. Raspberry Pi è posizionato all'interno della casa in modo che le persone dall'esterno non possano manometterlo. RC Servo è posizionato sul lato destro della porta come serratura della porta. Il cicalino è posizionato all'interno della casa per garantire che il suono del cicalino possa essere sentito dalle persone all'interno della casa quando suona. L'interruttore magnetico è posizionato tra la porta e il telaio.

Passaggio 8: test del prototipo

Testare il prototipo
Testare il prototipo

Esegui il codice sul terminale

sudo python3 nomefile.py

Basta premere il pulsante giallo all'esterno della casa e questa foto viene catturata.

Controlla il tuo Amazon DynamoDB per verificare che la tabella sia aggiornata e i bucket S3 per verificare che l'immagine acquisita sia archiviata.

Passaggio 9: chiusura

Se decidi di realizzare questo progetto da solo, fammelo sapere nei commenti (:

Grazie per aver letto.

Consigliato: