Índice:

Abellcadabra (sistema de travamento de porta com reconhecimento facial): 9 etapas
Abellcadabra (sistema de travamento de porta com reconhecimento facial): 9 etapas

Vídeo: Abellcadabra (sistema de travamento de porta com reconhecimento facial): 9 etapas

Vídeo: Abellcadabra (sistema de travamento de porta com reconhecimento facial): 9 etapas
Vídeo: Fechadura Inteligente WiFi RAYKUBE com áudio em português biometria - Tuya 2024, Julho
Anonim
Abellcadabra (sistema de travamento de porta com reconhecimento facial)
Abellcadabra (sistema de travamento de porta com reconhecimento facial)

Durante a quarentena, tentei encontrar uma maneira de matar o tempo construindo reconhecimento de rosto para a porta da casa. Eu chamei de Abellcadabra - que é a combinação entre Abracadabra, uma frase mágica com campainha que eu só pego a campainha. lol

De qualquer forma, este sistema irá realizar o reconhecimento facial usando o Amazon Rekognition quando o usuário apertar a campainha. O Rekognition vai comparar a imagem capturada com uma coleção de imagens no Amazon S3. Se o reconhecimento for bem-sucedido, a porta será aberta. Se não for bem-sucedido, a campainha soará e o usuário pode ter a opção de desbloquear usando o token RFID. Também existe um botão no interior da casa onde o dono da casa pode destrancar a porta empurrando-a.

Todos os reconhecimentos e desbloqueios realizados serão armazenados no Amazon DynamoDB. Vou tentar explicar passo a passo para construir todo o sistema. Estou usando os materiais que já tenho porque demorei muito para pegar mais alguma coisa, então é isso.

Etapa 1: Materiais e Ferramentas

Material:

  • Raspberry Pi
  • Pi Camera
  • Servo RC (atuará como fechadura da porta)
  • Botão de mudança 2x
  • Campainha
  • Interruptor magnético
  • Leitor e tag RC-522 RFID
  • Fios de placa de ensaio MF, MM, FF
  • Polystrene Ice Box - qualquer tamanho seria bom porque esta será a nossa porta.
  • Dobradiça de 1,5 polegadas 2x
  • Parafuso de 2,5 mm 4x

Ferramentas

  • Chave de fenda
  • Fita dupla face

Etapa 2: Configurando Amazon Web Services

Configurando Amazon Web Services
Configurando Amazon Web Services

O Amazon Web Services é fácil de usar e gratuito até atingir 5.000 chamadas de API por mês. Você pode se registrar para uma conta AWS aqui aqui. Você precisará se inscrever para uma conta gratuita do Amazon Rekognition. O nível gratuito deve ser mais do que suficiente para este projeto.

Depois que a inscrição for bem-sucedida, clique em Serviços> IAM. A partir daqui, criaremos um usuário que terá permissões para ser usado pelo Raspberry Pi.

  1. Clique em Usuários> Adicionar Novo Usuário
  2. Dê um nome ao usuário criado. Para o tipo de acesso, marque a caixa Acesso programático.
  3. Clique em Avançar.
  4. Clique em Anexar políticas existentes diretamente. Verifique as seguintes políticas:
  • AWSLambdaFullAccess
  • AmazonS3FullAccess
  • AmazonDynamoDBFullAccess
  • AmazonRekognitionFullAccess
  • Acesso de administrador
  1. Clique em Avançar e em Avançar novamente porque não precisamos adicionar tag.
  2. Verifique se as políticas escolhidas são as mesmas listadas e clique em Criar usuário.

Baixe o arquivo CSV que contém a ID da chave de acesso e a chave de acesso secreta que será usada na próxima etapa. Clique em Fechar.

Etapa 3: configurar o Amazon S3 e o Amazon DynamoDB

No AWS Console, clique em Services> S3

O S3 funciona como o Google Drive, onde você pode armazenar documentos e imagens. Para este projeto, vamos precisar de dois Buckets, um deles para armazenar uma coleção de imagens a ser usada pelo Amazon Rekognition (e o segundo é para armazenar a imagem capturada.

  1. Clique em Criar intervalo.
  2. Insira o nome do intervalo e clique em Avançar e em Avançar novamente.
  3. Desmarque a caixa "Bloquear todo o acesso público".
  4. E marque a caixa "Reconheço que as configurações atuais podem fazer com que este intervalo e os objetos se tornem públicos".
  5. Clique em Next e em Create Bucket.
  6. Repita a etapa para o segundo balde.
  7. clique em Serviços> DynamoDB

O Amazon DynamoDB será usado neste projeto para armazenar os detalhes de reconhecimento e desbloqueio. os detalhes que serão armazenados são o link para a imagem capturada, o nome da imagem reconhecida ou se não for reconhecida, o nome será armazenado como 'desconhecido', a data e hora do reconhecimento e o status se foi bem-sucedido, nenhum rosto correspondido, nenhum rosto detectado, RFID desbloqueado ou desbloqueado de dentro.

  1. Clique em Adicionar nova tabela.
  2. Insira qualquer nome para a tabela.
  3. Para chave primária, insira 'rid' como chave primária.
  4. Clique em Criar.

Etapa 4: configurar AWS no Raspberry Pi

A primeira etapa é inserir suas credenciais AWS. Para fazer isso, digite no console do Raspberry Pi:

aws configure

Em seguida, insira suas credenciais AWS IAM que você criou, certificando-se de inserir “us-west-2” como sua região (ou a região relevante que você configurou para AWS Rekognition). Deixe o formato de saída padrão em branco.

Etapa 5: conectar os itens ao Raspberry Pi

Portanto, as conexões dos itens são as seguintes.

  • Servo RC - 1, 11, Terra
  • Chave Magnética - 8, Terra
  • Buzzer - 32, Ground
  • Botão externo - 16, Terra
  • Botão interno - 18, chão
  • PIN SDA no leitor RFID - 24
  • Pino SCK no leitor RFID - 23
  • Pino MOSI no leitor RFID - 19
  • Pino MISO no leitor RFID - 21
  • Pino GND no leitor RFID - Terra
  • Pino RST no leitor RFID - 22
  • Pino 3,3 V no leitor RFID - 17

Conecte ao aterramento mais próximo.

Etapa 6: Códigos

Você pode encontrar todo o código necessário em meu repositório Git.

Para as etapas sobre como adicionar faces e usar Index Faces.py, verifique este vídeo.

Etapa 7: Construindo o Protótipo

Construindo o Protótipo
Construindo o Protótipo
Construindo o Protótipo
Construindo o Protótipo

Como não tirei nenhuma foto durante minha construção, vou apenas deixar a foto do meu protótipo finalizado.

O protótipo foi construído para retratar uma porta. A vista de mostra a vista da porta do lado de fora da casa. A câmera Pi foi instalada para medir a altura média da linha do olho humano para garantir que a imagem capturada contenha o rosto a ser reconhecido. O botão da campainha que ativará a câmera Pi para capturar a imagem é colocado abaixo da câmera Pi. O leitor RFID também é colocado na porta para o usuário destrancar a porta usando a etiqueta RFID caso o reconhecimento falhe.

O botão vermelho é o botão interno que será usado para destravar a porta de dentro da casa. O Raspberry Pi é colocado no interior da casa para que as pessoas de fora não possam mexer nele. O RC Servo é colocado no lado direito da porta como a fechadura da porta. A campainha é colocada no interior da casa para garantir que o som da campainha possa ser ouvido pelas pessoas dentro da casa quando ela tocar. O interruptor magnético é colocado entre a porta e a estrutura.

Etapa 8: Testando o protótipo

Testando o Protótipo
Testando o Protótipo

Execute o código no terminal

sudo python3 filename.py

Basta apertar o botão amarelo do lado de fora da casa e esta foto é capturada.

Verifique seu Amazon DynamoDB para verificar se a tabela está atualizada e os buckets do S3 para ver se a imagem capturada está armazenada.

Etapa 9: Fechamento

Se você decidir fazer este projeto sozinho, deixe-me saber nos comentários (:

Obrigado pela leitura.

Recomendado: