Índice:
- Etapa 1: Materiais e Ferramentas
- Etapa 2: Configurando Amazon Web Services
- Etapa 3: configurar o Amazon S3 e o Amazon DynamoDB
- Etapa 4: configurar AWS no Raspberry Pi
- Etapa 5: conectar os itens ao Raspberry Pi
- Etapa 6: Códigos
- Etapa 7: Construindo o Protótipo
- Etapa 8: Testando o protótipo
- Etapa 9: Fechamento
Vídeo: Abellcadabra (sistema de travamento de porta com reconhecimento facial): 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
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
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.
- Clique em Usuários> Adicionar Novo Usuário
- Dê um nome ao usuário criado. Para o tipo de acesso, marque a caixa Acesso programático.
- Clique em Avançar.
- Clique em Anexar políticas existentes diretamente. Verifique as seguintes políticas:
- AWSLambdaFullAccess
- AmazonS3FullAccess
- AmazonDynamoDBFullAccess
- AmazonRekognitionFullAccess
- Acesso de administrador
- Clique em Avançar e em Avançar novamente porque não precisamos adicionar tag.
- 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.
- Clique em Criar intervalo.
- Insira o nome do intervalo e clique em Avançar e em Avançar novamente.
- Desmarque a caixa "Bloquear todo o acesso público".
- E marque a caixa "Reconheço que as configurações atuais podem fazer com que este intervalo e os objetos se tornem públicos".
- Clique em Next e em Create Bucket.
- Repita a etapa para o segundo balde.
- 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.
- Clique em Adicionar nova tabela.
- Insira qualquer nome para a tabela.
- Para chave primária, insira 'rid' como chave primária.
- 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
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
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:
Espelho de reconhecimento facial com compartimento secreto: 15 etapas (com fotos)
Espelho de reconhecimento facial com compartimento secreto: Sempre fiquei intrigado com os compartimentos secretos sempre criativos usados em histórias, filmes e coisas do gênero. Então, quando eu vi o Concurso de Compartimento Secreto, decidi experimentar a ideia sozinho e fazer um espelho de aparência comum que abre um s
Fechadura de reconhecimento facial: 8 etapas
Fechadura de reconhecimento facial: Em construção há cerca de um mês, apresento a fechadura de reconhecimento facial! Tentei fazer com que parecesse o mais elegante possível, mas só consigo fazer tanto quanto um garoto de 13 anos. Esta fechadura de reconhecimento facial é operada por um Raspberry Pi 4, com uma batente portátil especial
Mecanismo de travamento de porta RFID com um Arduino: 5 etapas (com imagens)
Mecanismo de travamento de porta RFID com um Arduino: Neste Instrutível, estaremos conectando um sensor RFID RC522 a um Arduino Uno para fazer um mecanismo de travamento simples controlado por acesso RFID para uma porta, gaveta ou gabinete. Usando este sensor, você será capaz de usar uma etiqueta RFID ou cartão para bloquear
Sistema De Reconhecimento Facial: 5 etapas
Sistema de Reconhecimento Facial: O sistema de reconhecimento facial possui um funcionamento bem simples, operando na placa Dragonboard 410c em linux utilizando apenas dois scripts em python e um banco de dados local criado por de pacotes do linux, possui uma precisão ã o co
Sistema de segurança de reconhecimento facial para geladeira com Raspberry Pi: 7 etapas (com fotos)
Sistema de reconhecimento facial de segurança para geladeira com Raspberry Pi: navegando na internet descobri que os preços dos sistemas de segurança variam de 150 $ a 600 $ e acima, mas nem todas as soluções (mesmo as muito caras) podem ser integradas com outras ferramentas inteligentes em sua casa! Por exemplo, você não pode definir