A Raspberry Pi tem diversas utilidades e um potencial incrível para desenvolver projetos envolvendo IoT. Seu sistema operacional Linux possibilita a integração de vários tipos de periféricos, incluindo câmeras, teclados, mouses, impressoras, monitores, telas, scanners, leitores biométricos, entre outros. Neste post, vamos montar um sistema de monitoramento com Raspberry Pi que utiliza uma câmera Pi e um sensor de movimento.
Dessa forma, um objeto ou uma área que ficará sendo constantemente monitorada. Sempre que o sensor de houver uma anomalia ou algo se aproximar desse espaço, o sensor de movimento será acionado e enviará um sinal para a Raspberry, que por sua vez acionará a câmera Pi e enviará para um e-mail para endereço Google cadastrado com a foto do instante em que o evento acorreu.
Material necessário
Para este projeto, vamos precisar de:
- Raspberry Pi 3 Model B+
- Cartão de memória (Mínimo: 8 GB; recomendável: 16 GB)
- Jumpers
- Câmera Raspberry Pi
- Fonte para Raspberry Pi
- Sensor de Movimento Presença PIR
O que é? Como funciona o sensor PIR motion?
O sensor de movimento HC-SR501 é usado para identificar movimentos. É normalmente usado em aplicações de alarme, acendimento automático de lâmpadas ou aberturas de portas automáticas. Seu acionamento digital é bastante simples: sua saída vai à 3,3V quando um movimento é detectado e permanece em zero se não houver movimento. Sua alimentação varia entre 3,3V e 5V.
Há dois trimpots para ajustar a sensibilidade e o tempo em que a saída permanece com o sinal alto. O sensor pode ser visto na figura abaixo:
Quer saber mais sobre a funcionalidade do sensor PIR motion? Veja este excelente post do nosso parceiro Arduino e Cia.
Configurando a sua Raspberry PI
Para configurar a sua Raspberry Pi e deixa-lá operacional, veja o post Primeiros passos com a Raspberry Pi e Linux.
Após configurá-la, acesse o terminal e instale os seguintes pacotes Python abaixo:
sudo apt-get install python3-pip sudo apt-get install python3 python3 -m pip install --upgrade pip
Preparação – Câmera Raspberry Pi
Antes de prosseguir com o projeto, é preciso preparar a Raspberry Pi para se comunicar com a câmera. Para isso, siga este tutorial.
Depois, instale o pacote Python abaixo:
pip install "picamera[array]"==1.10
Circuito esquemático do projeto
Primeiramente, conecte a câmera Pi em sua Raspberry Pi, através do flat cable, conforme ilustra a foto abaixo:
O circuito esquemático do projeto pode ser visto abaixo.
Veja que o pino VCC do sensor de movimento está conectado no pino 2 da sua Raspberry Pi (vamos alimentá-lo com 5V). O GND deve ser conectado no pino 6. O pino OUT deve estar no pino 7 (lembrando que esse pino é responsável por enviar para a Raspberry Pi o sinal que irá acionar a Câmera Pi).
Código-fonte
Primeiramente, você deverá adicionar o endereço de e-mail para o qual será enviada a foto:
Por exemplo:
toaddr = '[email protected]'
Depois, você deverá adicionar o seu endereço de e-mail da Google:
me = '[email protected]'
No caso do exemplo, o título que será dado ao e-mail é “E-mailRPi Alerta!”. Você também pode modificar isto no código.
Subject = 'meu-titulo de email'
Devemos configurar a Raspberry Pi para que seus pinos operem no modo board e também habilitar e configurar a câmera Pi. Logo após o programa entrará em condição looping, verificando se o sensor identifica algum movimento. Se isso acontecer, será executado os comandos entre servidor e cliente.
O código-fonte do projeto pode ser visto abaixo:
# Aqui adicionamos as bibliotecas para o correto funcionamento do software from picamera import PiCamera from time import sleep import smtplib import time from datetime import datetime from email.mime.image import MIMEImage from email.mime.multipart import MIMEMultipart import RPi.GPIO as GPIO import time # Aqui adicionamos os endereços de e-mails toaddr = 'Cole aqui o E-mail do usuário final' me = 'Cole aqui seu E-mail' Subject = 'E-mailRPi Alerta!' # Aqui configuramos a Raspberry Pi em modo BOARD GPIO.setmode(GPIO.BOARD) # Aqui configuramos a Câmera Pi P = PiCamera() P.resolution = (1024, 768) P.start_preview() # Aqui o software ficará em looping até que a condição If seja verdadeira GPIO.setup(7, GPIO.IN) while True: if GPIO.input(7): print("MovPIR") time.sleep(2) P.capture('E-mailRPi.jpg') time.sleep(10) subject = 'E-mailRPi' menssagem = MIMEMultipart() menssagem['Subject'] = subject menssagem['From'] = me menssagem['To'] = toaddr PIR = open('RPiPIR.jpg', 'rb') imagem = MIMEImage(PIR.read()) PIR.close() menssagem.attach(imagem) server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() # Cole aqui o seu E-mail e sua senha server.login(user='Cole aqui seu E-mail', password='Cole aqui sua senha') server.send_message(menssagem) server.quit()
Transformando a sua Raspberry Pi em um sistema de monitoramento
Após editar o código fonte com as suas credenciais, é possível compilar a programação diretamente no terminal seguindo as instruções abaixo. Poderemos dar um nome ao nosso programa executável, por exemplo:
sudo nano E-mailRPi.py
Cole o código fonte editado diretamente no terminal, conforme imagem abaixo:
Agora pressione Ctrl-X e Y (Inglês) ou S (Português) para sair e salvar o arquivo.
O arquivo foi gerado e é possível executá-lo a qualquer momento utilizando o seguinte comando.
python3 E-mailRPi.py
Pronto! Seu sistema de monitoramento com Raspberry Pi já pode ser utilizado.
Resultado
Com o software em execução, sempre que o sensor PIR detectar a presença ou movimento, um e-mail será enviado contendo uma foto do local monitorado.
Lembrando que é possível ajustar os trimpots localizados no sensor de movimento PIR conforme necessidade de cada projeto. Faça testes e o regule para a sua aplicação.
Gostou do projeto Sistema de Monitoramento com Raspberry Pi Câmera e Sensor de Movimento através do E-mail? Então deixe seu comentário logo abaixo.