Índice:
- Etapa 1: suprimentos
- Etapa 2: Fiação
- Etapa 3: Configurando as coisas
- Etapa 4: codificar e executar
- Etapa 5: Teste
- Etapa 6: Montagem
Vídeo: Raspberry Pi Door Notifier: 6 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
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
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
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
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
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:
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Indicador de nível de água Cum Notifier: 4 etapas
Indicador de nível de água Cum Notifier: O indicador de nível de água cum notifier é um dispositivo que monitora continuamente o nível de água no tanque de água e notifica você, se necessário. Ele avisa se o tanque está cheio ou vazio para que você possa ligar ou desligar a bomba e interromper o desperdício de água
Gesture Hawk: robô controlado por gestos manuais usando interface baseada em processamento de imagens: 13 etapas (com imagens)
Gesture Hawk: Robô controlado por gestos manuais usando uma interface baseada em processamento de imagem: Gesture Hawk foi apresentado no TechEvince 4.0 como uma interface homem-máquina baseada em processamento de imagem simples. Sua utilidade reside no fato de que nenhum sensor adicional ou vestível, exceto uma luva, é necessário para controlar o carro robótico que funciona em diferentes
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Salvando suas imagens para sua tarefa: 4 etapas (com imagens)
Salvando suas imagens para sua tarefa: 1. Abra um novo documento do Google e use esta página para proteger suas imagens.2. Use ctrl (control) e " c " chave para copy.3. Use ctrl (control) e " v " chave para colar