Sistema de Monitoramento com Raspberry Pi, Câmera e Sensor de Movimento através do e-mail Deixe um comentário

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. 

Imagem 1 - Sistema de monitoramento com Raspberry Pi

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:

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:

Imagem 2 - Sensor movimento e presença PIR

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:

Imagem 3 - Sistema de monitoramento com Raspberry Pi

O circuito esquemático do projeto pode ser visto abaixo.

Imagem 4 - Sistema de monitoramento com Raspberry Pi

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:

Imagem 5 - Terminal

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

Imagem 6 - Terminal

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.

Imagem 7 - Sistema de monitoramento com Raspberry Pi

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.

Faça seu comentário

Acesse sua conta e participe