- Componentes necessários:
- Explicação de trabalho:
- Descrição do circuito:
- Configuração do Raspberry Pi e explicação da programação:
No mundo da Internet das Coisas (IoT), quando temos todas as tecnologias para revolucionar nossa vida, é uma ótima ideia desenvolver um sistema que possa ser controlado e monitorado de qualquer lugar. Existem muitos tipos de bons sistemas de segurança e câmeras para segurança doméstica, mas eles são muito caros, então hoje iremos construir um Sistema de Alerta de Intrusão simples de baixo custo baseado em Raspberry Pi, que não apenas o alerta por e-mail, mas também envia a foto de Intruso quando detecta algum.
Neste projeto baseado em IoT, construiremos um sistema de segurança residencial usando o sensor PIR e a câmera PI. Este sistema detectará a presença de Intruder e alertará rapidamente o usuário enviando-lhe um e-mail de alerta. Este e-mail também conterá a Foto do Intruso, capturada pela câmera Pi. Raspberry Pi é usado para controlar todo o sistema. Este sistema pode ser instalado na porta principal de sua casa ou escritório e você pode monitorá-lo de qualquer lugar do mundo usando seu e-mail pela internet.
Componentes necessários:
- Raspberry Pi
- Câmera pi
- Sensor PIR
- CONDUZIU
- Tábua de pão
- Resistor (1k)
- Fios de conexão
- Fonte de energia
Você pode comprar todos os componentes usados neste projeto aqui.
Explicação de trabalho:
Trabalhar neste projeto é muito simples. Um sensor PIR é usado para detectar a presença de qualquer pessoa e uma câmera Pi é usada para capturar as imagens quando a presença é detectada.
Sempre que alguém ou intruso chega ao alcance do sensor PIR, o Sensor PIR aciona a câmera Pi através do Raspberry Pi. Raspberry pi envia comandos para a câmera Pi para clicar na imagem e salvá-la. Depois disso, Raspberry Pi cria um e-mail e o envia para o endereço de e-mail definido com as imagens clicadas recentemente. O e-mail contém uma mensagem e uma foto do intruso como anexo. Aqui usamos a mensagem “Encontre o anexo”, você pode alterá-la de acordo com o Código fornecido no final.
Aqui, as fotos são salvas no Raspberry Pi com o nome que contém a hora e a data da entrada. Para que possamos verificar a hora e a data da entrada do intruso apenas olhando o nome da imagem, verifique as imagens abaixo. Se você é novo com a câmera Pi, verifique nosso tutorial anterior sobre Sistema de monitoramento de visitantes com câmera Pi.
Você também pode ajustar a faixa de detecção ou distância deste sistema usando os potenciômetros do sensor PIR. Saiba mais sobre o sensor PIR aqui para ajustar o intervalo e verifique o alarme contra roubo baseado no sensor PIR.
Descrição do circuito:
Neste sistema de alerta de intrusão, só precisamos conectar o módulo da câmera Pi e o sensor PIR ao Raspberry Pi 3. A câmera Pi está conectada no slot da câmera do Raspberry Pi e o PIR está conectado ao pino GPIO 18. Um LED também é conectado ao pino 17 do GPIO por meio de um resistor de 1k.
Configuração do Raspberry Pi e explicação da programação:
Estamos usando a linguagem Python aqui para o Programa. Antes de codificar, o usuário precisa configurar o Raspberry Pi. Você deve seguir dois tutoriais de Introdução ao Raspberry Pi e Instalação e configuração do Raspbian Jessie OS no Pi:
- Primeiros passos com Raspberry Pi - Introdução
- Introdução ao Raspberry Pi - Configuração
Depois de instalar com sucesso o Raspbian OS no Raspberry Pi, precisamos instalar os arquivos da biblioteca da câmera Pi para executar este projeto no Raspberry pi. Para fazer isso, precisamos seguir os comandos dados:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Depois disso, o usuário precisa ativar a câmera Raspberry Pi usando a ferramenta de configuração do software Raspberry Pi (raspi-config):
$ sudo raspi-config
Em seguida, selecione Ativar câmera e Ativar.
Em seguida, o usuário precisa reiniciar o Raspberry Pi, emitindo sudo reboot , para que a nova configuração seja realizada. Agora sua câmera Pi está pronta para uso.
Agora, após configurar a Pi Camera, instalaremos o software para enviar o e-mail. Aqui estamos usando ssmtp, que é uma solução fácil e boa para enviar e-mail usando linha de comando ou usando Python Script. Precisamos instalar duas bibliotecas para enviar e-mails usando SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Após instalar as bibliotecas, o usuário precisa abrir o arquivo ssmtp.conf e editar este arquivo de configuração conforme mostrado na imagem abaixo e, em seguida, salvar o arquivo. Para salvar e sair do arquivo, pressione 'CTRL + x', depois 'y' e depois pressione 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Também podemos testá-lo enviando um e-mail de teste emitindo o comando abaixo, você receberá o e-mail no endereço de e-mail mencionado se tudo estiver funcionando bem:
echo "Hello saddam" - mail -s "Testing…" [email protected]
O Programa Python deste projeto desempenha um papel muito importante para realizar todas as operações. Em primeiro lugar, incluímos as bibliotecas necessárias para e-mail, inicializamos variáveis e definimos pinos para PIR, LED e outros componentes. Para enviar e-mail simples, smtplib é suficiente, mas se você quiser enviar e-mail de uma forma mais limpa com linha de assunto, anexo, etc. então você precisa usar MIME (Multipurpose Internet Mail Extensions).
import RPi.GPIO as gpio import picamera import time import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase from email import encoders from email.mime.image import MIMEImage
Depois disso, inicializamos o e-mail e definimos o endereço de e-mail e as mensagens:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Anexo" body = "Encontre o anexo"
Em seguida, criamos a função def sendMail (dados) para enviar e-mail:
def sendMail (data): mail.attach (MIMEText (body, 'plain')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (imagem) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "sua senha") text = mail. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
A função def capture_image () é criada para capturar a imagem do intruso com hora e data.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) dados de impressão camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (dados)
Em seguida, inicializamos o Picamera com algumas de suas configurações:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
E agora por último, lemos a saída do sensor PIR e quando ele aumenta, o Raspberry Pi chama a função capture_image () para capturar a imagem do intruso e enviar uma mensagem de alerta com a imagem do intruso como anexo. Usamos a função sendmail () insdie capture_image () para enviar o e-mail.
while 1: if gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (led, LOW) time.sleep (0,01)
Portanto, é assim que funciona este Sistema de Segurança Raspberry Pi, você também pode usar o sensor ultrassônico ou sensor IR para detectar a presença de ladrão ou intruso. Além disso, verifique o Código Completo e o Vídeo de demonstração abaixo.