Introduction: Trabalho IOT

Este instructable tem como objetivo documentar passo a passo do projeto final desenvolvido para a matéria de IOT do curso Arquitetura de Software Distribuído da instituição PUC Minas.

O objetivo do projeto é auxiliar no monitoramento de residências e estabelecimentos enquanto as pessoas não estiverem no local. Para isso foi criado um circuito eletrônico com arduino constituído de um sensor de presença que quando acionado envia uma mensagem SMS para o celular de uma pessoa informando que ouve uma movimentação no local.

Supplies

Componentes utilizados para a construção do trabalho foram:

Hardware:

- Arduino Uno.

- Modulo ethernet shield w5100.

- Sensor de Movimento Presença PIR.

- Jumpers Macho/Femea 20cm.

- Cabo de Rede RJ45

Software
- AWS API Gateway

- AWS LambdaAWS SNS (Amazon Simple Notification Service)

- Arduino.cc (linguagem C++)

Step 1: Entendendo a Arquitetura Do Projeto

A arquitetura do projeto é divida em 3 camadas sendo elas Local, AWS e Mobile.

Inicialmente na camada Local está localizado o circuito eletrônico junto com a API Rest em Node JS. Ao identificar uma movimentação através do sensor de presença é disparado uma requisição POST para a API Rest Node. A requisição batendo na API, é disparado uma nova requisição POST para a API Gateway da Amazon que se encontra na camada AWS da arquitetura.

A camada AWS é composta por uma API gateway, função lambda, serviço de mensagens SNS e um banco de dados no Dynamon BD. A requisição chegando no Gateway será redirecionada para a função Lambda que ao receber a requisição persiste informações como data/hora no banco de dados e publica uma mensagem no serviço SNS informando o número de telefone de destino da mensagem.

Com a mensagem publicada, o device que está na camada Mobile da arquitetura, receberá um SMS contendo o texto 'PRESENÇA DETECTADA NO AMBIENTE CONFIGURADO!'.

Step 2: Montando Circuito Eletrônico

Abaixo iremos detalhar passo a passo para montar o circuito eletrônico.

Primeiro Passo: Modulo ethernet shield w5100

Encaixar/conectar o modulo ethernet shield w5100 ao arduino uno, posteriormente conectar o cabo de rede no modulo ethernet shield e o cabo Serial ao arduino uno para enviar/executar o projeto.

Segundo Passo: Sensor de presença PIR

Com o sensor PIR em mãos (com os trimpots virados para frente), conectar um Jumper macho/fêmea na saída de 5v do arduino ao pino a esquerda do sensor.

Posteriormente conectar um Jumper macho/fêmea no pino digital 7 do arduino ao pino central do sensor.

E finalmente conectar um Jumper macho/fêmea no pino GND do arduino ao pino a direita do sensor.

Step 3: Configurando O Projeto

Neste tópico iremos detalhar algumas configurações que devem ser feitas no projeto antes de ser executado.

Primeira Configuração

No arquivo do projeto do arduino PresencaIOTarduino.ino, na linha 6 informar no lugar da letra XXXXXX o endereço IP da API Node e no lugar da letra YYYY a porta de comunicação.

RestClient client = RestClient("XXXXXX",YYYY);

Exemplo:

RestClient client = RestClient("192.168.1.107",3000);

Segunda Configuração

Agora no arquivo da função lambda sns_publishsms.js, atribuir a variável fone na linha 10 o número do telefone no qual será enviado os SMS.

Exemplo:

const fone = '000000000';

Step 4: Executando Projeto

Montado o circuito eletrônico e feita as configurações podemos agora executar o projeto.

Abaixo segue o link de um vídeo demonstrando o projeto em execução e o link do github contendo todos os projetos utilizados em cada ponta deste trabalho.

Link: https://youtu.be/hBcJOvn7U2Q

GitHub: https://github.com/maxmelodia/trabalhoPresencaIOT