Índice:

Raspberry Pi Door Notifier: 6 etapas (com imagens)
Raspberry Pi Door Notifier: 6 etapas (com imagens)

Vídeo: Raspberry Pi Door Notifier: 6 etapas (com imagens)

Vídeo: Raspberry Pi Door Notifier: 6 etapas (com imagens)
Vídeo: Smarter than a Smart TV! (Raspberry Pi Inside) 2024, Novembro
Anonim
Raspberry Pi Door Notifier
Raspberry Pi Door Notifier

Você já se perguntou se ou quando as pessoas estão acessando as portas? Você quer uma maneira discreta, barata e rápida de monitorar o movimento da porta … e talvez um pequeno projeto? Não procure mais! Este dispositivo simplista rastreará as vibrações emitidas ao mover portas e informará o usuário com um e-mail para um endereço de e-mail especificado.

Este projeto lhe dará alguma prática com Flask, Raspberry Pis, sensores GPIO e a API Mandrill! Não só é divertido de construir, mas também tem muita utilidade. Intrusos, cuidado …

Etapa 1: suprimentos

Suprimentos
Suprimentos

Ainda está pensando em construir esta engenhoca? Aqui está o que você precisa:

  • Raspberry Pi 3
  • Cartão micro SD
  • 3 fios fêmea para fêmea
  • 1 sensor de vibração
  • Um banco de energia
  • Tiras de comando

Se você está planejando construir este projeto para várias portas, multiplique cada um dos suprimentos por quantos dispositivos você precisará.

Se você está no processo de construção / teste deste dispositivo, não é necessário ter o seguinte … no entanto, definitivamente seria muito útil.

  • Um monitor de computador
  • Um teclado USB
  • Kit de carregamento micro USB

Etapa 2: Fiação

Fiação
Fiação
Fiação
Fiação

Embora o Raspberry Pi seja um dispositivo bacana que vem incluído com vários sensores e periféricos diferentes, precisamos adicionar o sensor principal à fiação do Pi para que ele possa fazer as medições de que precisamos. O principal sensor usado neste projeto pode ser visto na imagem acima - é um sensor de vibração de alta sensibilidade. Embora pudéssemos usar uma placa de ensaio ou algum outro dispositivo de montagem para colocar esse sensor e passar nossos fios, simplesmente o conectamos por meio de fios fêmea a fêmea diretamente aos pinos do dispositivo Raspberry Pi.

Um esquema de fiação pode ser encontrado acima (originado de https://www.piddlerintheroot.com/vibration-sensor/). Simplesmente conecte todos os fios conforme mostrado nesta imagem e seu sensor de vibração estará pronto para funcionar. Observe também que, eventualmente, você precisará de uma bateria para este projeto, mas se você estiver testando, provavelmente será útil ter o dispositivo conectado a uma tomada.

Etapa 3: Configurando as coisas

Parabéns! Você chegou até aqui. Vamos continuar!

Agora vamos começar a trabalhar diretamente com o Pi. Todas as ações a seguir podem ser feitas no dispositivo com um teclado e monitor (ou por meio de SSH se você se sentir confortável).

Existe uma grande quantidade de configuração preliminar para fazer qualquer sensor GPIO funcionar com um Pi e um Flask. Paciência é uma virtude. Existem algumas bibliotecas Python que você terá que instalar primeiro. Isso pode ser feito com Pip, um gerenciador de biblioteca / pacote para Python. Para usar, digite `pip install` Para nomear algumas das bibliotecas que você precisará:

  • solicitações de
  • RPi. GPIO
  • frasco
  • flask_restful
  • flask_wtf
  • wtforms
  • o email
  • mandril

Você pode querer tomar um café enquanto espera a instalação deles - pode demorar um pouco.

Agora que todas as suas bibliotecas estão instaladas, você está pronto para iniciar seu projeto Flask. O Flask é uma estrutura leve que fornece páginas do dispositivo em que está sendo executado. Nesse caso, o Raspberry Pi se torna um servidor. Muito bacana, hein? Você pode aprender como configurar um aplicativo Flask muito simples aqui. Faça isso antes de tentar qualquer uma das instruções depois disso.

Etapa 4: codificar e executar

Depois de concluir isso, você está pronto para começar a construir os arquivos do projeto. Incluí abaixo todos os arquivos de que você precisará - você provavelmente deve reescrever o código, e não apenas copiar os arquivos (VOCÊ SABERÁ MAIS!).

Veja como devem ser as organizações de diretório:

+ - iotapp | + - appFolder | + - modelos | + - index.html | + - _init_.py | + - forms.py | + - mcemail.py | + - routes.py | + - iotapp.py | + - vibes.py

Coloque todos esses arquivos na ordem correta e você poderá colocar seu projeto em execução em um piscar de olhos. Para executar o servidor Flask, você deve navegar até o diretório raiz. Você deve então digitar:

$ export FLASK_APP = iotapp.py

$ python -m flask run --host 0.0.0.0

Com isso, você deve receber uma mensagem que indica que seu servidor está funcionando e você deve ser capaz de servir a página do dispositivo para outro dispositivo na rede.

Agora seria um bom momento para examinar seus arquivos e realmente tentar obter uma ideia do que o código está fazendo. Claro, nenhum código é definido em pedra … tudo pode ser atualizado / alterado para atender às necessidades específicas do projeto. Por exemplo, a partir de agora, quando o dispositivo faz o POST ao receber entrada do sensor de vibração, ele envia o carimbo de data / hora de quando a entrada ocorreu. No entanto, o servidor não está salvando esses dados. Isso poderia ser feito se o usuário preferisse manter as informações históricas e quisesse exibi-las em algum lugar.

Uma coisa que você provavelmente notará é que O CÓDIGO NÃO ESTÁ COMPLETO. Este projeto faz uso de uma API externa para envio de e-mails de notificação mediante vibração (abertura de porta). Para configurar isso, você precisará criar uma conta Mandrill e criar uma chave API.

Depois de verificar seu domínio de envio e ter uma chave de API, você pode colocar sua chave no arquivo `mcemail.py` (onde estiver presente) e ajustar as informações de envio (alterando o parâmetro padrão no mesmo arquivo ou passando em um e-mail diferente no arquivo `routes.py`. Se você quiser mais documentação sobre o Mandrill e como usá-lo, você pode encontrar aqui.

Etapa 5: Teste

Testando
Testando

Antes de montar o dispositivo em seu local permanente, provavelmente é uma boa ideia testar tudo o que ele está fazendo. Veja como você executa as coisas.

Na verdade, o dispositivo está executando dois programas: `vibes.py` e o servidor Flask. O primeiro deve ser executado primeiro em segundo plano e, em seguida, o servidor Flask pode ser executado. `vibes.py` é simplesmente POST para o servidor e o servidor interpreta a solicitação POST.

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

Você poderá então navegar até o URI / IP correto e definir o endereço de e-mail para o qual deseja enviar todas as suas notificações. Você deve tocar no sensor de vibração para tentar enviar alguns e-mails de teste e garantir que o projeto está funcionando.

Está tudo bem? Ok, estamos prontos para o negócio!

Etapa 6: Montagem

Montagem
Montagem

A montagem do dispositivo é bastante autoexplicativa. Basicamente, você só precisa se certificar de que o dispositivo está conectado à bateria e usar tiras de comando para afixar o dispositivo na porta.

Nota: o dispositivo deve ser posicionado com o sensor de vibração perpendicular à porta para que o sensor capture o movimento da porta

Depois de concluído, você deve ser capaz de conectar-se ao dispositivo com SSH e executar os programas mencionados na etapa anterior e aguardar por intrusos!

Para pontos extras, tente esconder os fios / dispositivo para que os invasores não suspeitem do seu dispositivo inteligente! … ou simplesmente não o coloque em uma porta de vidro. ¯ / _ (ツ) _ / ¯

Recomendado: