Automação Residencial com Raspberry Pi

Tutorial: Automação Residencial com Raspberry Pi Leave a comment

No post de hoje montaremos um projeto de Automação Residencial com Raspberry Pi que irá disparar um alarme a cada movimento detectado pelo RPi Cam Web Interface!

O RPi Cam Web Interface oferece um recurso de detecção de movimento que permite executar uma ação no momento que é detectado o movimento. No nosso exemplo de hoje iremos demonstrar como enviar uma notificação através do Pushbullet.

O Pushbullet é um aplicativo gratuito que permite trocar notificações, links, arquivos e pequenos textos entre diversas plataformas.

Instale o Pushbullet em seu Smartphone ou computador. Após instalar acesse Sua conta e clique em Create Access Token para gerar uma chave de acesso a API do Pushbullet.

AUTOMAÇÃO RESIDENCIAL COM RASPBERRY PI: DETECÇÃO DE MOVIMENTO

Para configurar a detecção de movimento acesse a página de controle do RPi Cam no seu browser

Clicando-se em Camera Settings é possível escolher entre dois modos de detecção de movimento (Motion detect mode): Internal e External. No nosso teste iremos utilizar o modo External, pois ele permite configurar um comando a ser executado quando detectar alguma alteração na cena.

Após, inicie o serviço de detecção de movimento clicando em motion detection start. Feito isto, clique em Edit motion settings para configurar o comando que será executado ao detectar alguma alteração na cena, bem como os parâmetros de configuração do motion.

Camera Settings

Nesta tela, nem todas as configurações são relevantes, você pode utilizar o valor padrão na maioria delas, porém em algumas campos devemos nos atentar, como é o caso das configurações abaixo:

Motion Settings

No campo on_motion_detected vamos configurar a linha de comando que irá enviar uma notificação para o Pushbullet, mas antes disto, precisamos criar o programa que será executado. Para isto, crie um novo arquivo no seu editor de texto preferido (no meu caso usarei o VIM) o seguinte arquivo:

sudo vim /usr/local/bin/motionalert

E cole o seguinte script:

[pastacode lang=”cpp” manual=”TTL%3D120%20%23%20em%20segundos%0AIS_RUNNING%3D%24(ps%20aux%20%7C%20grep%20’motionalert’%20%7C%20grep%20-v%20grep%20%7C%20grep%20-v%20%24%24%20%7C%20wc%20-l)%0A%20%0Afunction%20notify%20%7B%0A%20%20%20%20if%20%5B%5B%20%24%7BIS_RUNNING%7D%20-gt%201%20%5D%5D%3B%20then%0A%20%20%20%20%20%20%20%20echo%20%22Alerta%20j%C3%A1%20enviado%2C%20aguarde!%22%0A%20%20%20%20else%0A%20%20%20%20%20%20%20%20curl%20-s%20-o%20%2Fdev%2Fnull%20-u%20%241%3A%20-X%20POST%20https%3A%2F%2Fapi.pushbullet.com%2Fv2%2Fpushes%20–header%20’Content-Type%3A%20application%2Fjson’%20–data-binary%20’%7B%22type%22%3A%20%22note%22%2C%20%22title%22%3A%20%22RPi%20Cam%22%2C%20%22body%22%3A%20%22Movimento%20Detectado%22%7D’%0A%20%0A%20%20%20%20%20%20%20%20echo%20%22Alerta%20enviado.%20Aguarde%20%24TTL%20segundos%20para%20enviar%20outro.%22%0A%20%20%20%20%20%20%20%20sleep%20%24%7BTTL%7Ds%0A%20%20%20%20fi%0A%7D%0A%20%0Anotify%20%241%20%26″ message=”” highlight=”” provider=”manual”/]

Salve este script e transforme-o em executável com o seguinte comando:

sudo chmod 777 /usr/local/bin/motionalert

Agora, voltando ao campo on_motion_detected, iremos inserir a seguinte linha de comando:

motionalert "SUA_CHAVE_DE_ACESSO"

Clique em Save Settings.

Automação Residencial com Raspberry Pi – TESTANDO A DETECÇÃO DE MOVIMENTO

Agora, quando um movimento for detectado uma mensagem de alerta será envia ao seu Pushbullet e você será notificado no Smartphone ou computador, dependendo de onde você instalou o aplicativo:

Automação Residencial com Raspberry Pi

O modo de detecção de movimento do motion compara as imagens e verifica se elas mudaram. Este tipo de comparação sofre muita interferência do ambiente, com isso uma simples mudança de luminosidade fará com que você receba uma mensagem. Fazendo pequenas mudanças nas configurações padrão pode vir a diminuir tal problema.

O script que criamos é para diminuir as chances de enviar várias mensagens consecutivas caso detecte algum movimento. Se uma notificação de movimento for enviada, o script ira aguardar 2 minutos para enviar a próxima. Sem isto, você pode receber várias mensagens em um curto espaço de tempo.

Compre Arduino, componentes eletrônicos e ferramentas na Tecnotronics. Os preços são ótimos, a agilidade é matadora e as entregas são feitas para todo o Brasil.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

×