watchdogs - páginas...

17
Universidade Tecnológica Federal do Paraná – UTFPR Departamento Acadêmico de Eletrônica – DAELN Departamento Acadêmico de Informática – DAINF Engenharia de Computação Oficina de Integração 3 (IF66J) – S71 – 2017/1 Relatório Técnico Watch Dogs Sistema Inteligente de Segurança André Badenas [email protected] Caroline P. Sena [email protected] Lucas D. Fabri [email protected] Marlon M. P. Oliveira [email protected] Julho de 2017 Resumo Nos dias atuais em ambientes residenciais três aspectos são relevantes: segurança, praticidade e conforto. Deste modo a automação residencial (domótica) é uma prática útil e cada vez mais utilizada. Neste contexto o projeto Watch Dogs consiste em um sistema de segurança domiciliar que busca ser uma solução de segurança integrada para residências inteligen- tes. O sistema consiste em uma câmera (responsável por identificar os moradores e permitir o acesso),um microfone (responsável por receber comandos de voz do usuário para ativar e desativar o sistema) e em um conjunto de sensores e atuadores conectados a microcontroladores Rasp- berry Pi. Tais sensores quando disparados acionam um alarme e enviam uma notificação aos moradores através de um aplicativo Android. O apli- cativo também pode ser utilizado para ativar ou desativar o sistema, ofe- recendo diversas possibilidades de controle do mesmo ao usuário. Dessa forma, ao final da atividade, foi possível validar os conceitos apresentados e verificar o correto funcionamento do sistema, cujos resultados e desen- volvimento estão descritos no presente documento. 1 Introdução Nas últimas décadas, os preceitos da automação residencial vem ganhando es- paço na vida cotidiana com o barateamento de tecnologias mais sofisticadas e o aumento de profissionais qualificados no mercado [1]. A domótica, palavra originada da junção do termo latino "Domus"(casa) com "Robótica"e que foi utilizada oficialmente pela primeira vez em 1984 [2], compreende a utilização de sistemas eletrônicos e de informática para oferecer maior conforto, segurança, comunicação e melhor gestão dos recursos domés- ticos (energia elétrica, água, gás) [3]. 1

Upload: trinhhanh

Post on 09-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Universidade Tecnológica Federal do Paraná – UTFPR

Departamento Acadêmico de Eletrônica – DAELN

Departamento Acadêmico de Informática – DAINF

Engenharia de ComputaçãoOficina de Integração 3 (IF66J) – S71 – 2017/1

Relatório TécnicoWatch Dogs

Sistema Inteligente de Segurança

André Badenas – [email protected]

Caroline P. Sena – [email protected]

Lucas D. Fabri – [email protected]

Marlon M. P. Oliveira – [email protected]

Julho de 2017

Resumo

Nos dias atuais em ambientes residenciais três aspectos são relevantes:segurança, praticidade e conforto. Deste modo a automação residencial(domótica) é uma prática útil e cada vez mais utilizada. Neste contexto oprojeto Watch Dogs consiste em um sistema de segurança domiciliar quebusca ser uma solução de segurança integrada para residências inteligen-tes. O sistema consiste em uma câmera (responsável por identificar osmoradores e permitir o acesso),um microfone (responsável por recebercomandos de voz do usuário para ativar e desativar o sistema) e em umconjunto de sensores e atuadores conectados a microcontroladores Rasp-berry Pi. Tais sensores quando disparados acionam um alarme e enviamuma notificação aos moradores através de um aplicativo Android. O apli-cativo também pode ser utilizado para ativar ou desativar o sistema, ofe-recendo diversas possibilidades de controle do mesmo ao usuário. Dessaforma, ao final da atividade, foi possível validar os conceitos apresentadose verificar o correto funcionamento do sistema, cujos resultados e desen-volvimento estão descritos no presente documento.

1 Introdução

Nas últimas décadas, os preceitos da automação residencial vem ganhando es-paço na vida cotidiana com o barateamento de tecnologias mais sofisticadas eo aumento de profissionais qualificados no mercado [1].

A domótica, palavra originada da junção do termo latino "Domus"(casa)com "Robótica"e que foi utilizada oficialmente pela primeira vez em 1984 [2],compreende a utilização de sistemas eletrônicos e de informática para oferecermaior conforto, segurança, comunicação e melhor gestão dos recursos domés-ticos (energia elétrica, água, gás) [3].

1

Page 2: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 2

Esses benefícios são percebidos na forma da automatização de tarefas do-mésticas corriqueiras como o controle da temperatura quando os moradoresestão presentes ou não, acionamento da iluminação ambiente, detecção de va-zamentos por meio de sensores, irrigação de plantas e uma série de outras pe-quenas tarefas, que somadas, impactam no cronograma diário do cidadão ur-bano atual [4].

Os sistemas de segurança e alarme residencial mais comuns disponibiliza-dos no mercado geralmente são compostos por uma central eletrônica que atuade maneira passiva. Nesses sistemas o ativamento é realizado mediante coman-dos dados pelo usuário através de um controle remoto que funciona por rádiofrequência. Com isso e tendo em mente os preceitos da domótica, a propostado projeto Watch Dogs é construir um sistema de segurança inteligente, capazde identificar a invasão da residência, soar um alarme e enviar um aviso atra-vés de um aplicativo Android, além da possibilidade de programar horários deativação.

Como pode ser visto na Figura 1, o projeto consiste na integração entre qua-tro partes principais, sendo elas:

Figura 1: Visão geral do projeto Watch Dogs.

• Sistema embarcado: consiste em dois computadores single-board Rasp-berrys Pi 2 e 3 conectados por fio a três sensores de infravermelho, trêssensores de fim de curso, uma câmera para reconhecimento facial, ummicrofone para a detecção de comandos por voz, uma sirene para alertasonoro e um servo motor acoplado à porta monitorada pela câmera. Afunção de um dos Raspberry Pi (3) é ler o status dos sensores, analisaro áudio captado pelo microfone para reconhecer os comandos por voz eativar o alarme sonoro. O outro Raspberry Pi (2) tem como função pro-cessar as imagens da câmera para a realização de reconhecimento faciale controlar o servo motor para realizar a abertura e fechamento da porta

Page 3: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 3

trocando informações com a estação base.

• Estação base: na forma de um aplicativo para dispositivos móveis (p. ex.,tablets e smartphones com sistema operacional Android, a estação base éresponsável pela ativação e desativação do sistema, exibição do status dossensores e do histórico de atividades, também é o elemento responsávelpelo cadastro de usuário e por executar a notificação no caso de violaçãoda segurança.

• Comunicação: a troca de dados entre o sistema embarcado e a estaçãobase será realizada por meio da internet. No caso, o Raspberry Pi estaráconectado por cabo a um roteador e a estação base estará conectada àrede wi-fi.

• Ambiente de simulação: é composto por uma maquete de madeira repre-sentando uma residência com quatro cômodos, portas e janelas, para arealização dos testes e avaliação do funcionamento do sistema.

São instalados no ambiente de simulação todos os componentes pertencen-tes ao projeto. O aplicativo tem um controle da ativação do sistema de sensorese alarmes. Se ocorrer qualquer alteração no estado dos sensores, o sistema enviauma notificação ao aplicativo e ativa um buzzer, que é desativado somente porcomando no aplicativo. A câmera se encontra na entrada da maquete. Quandoum indivíduo se aproximar da câmera e for identificado, o Watch Dogs abrirá aporta através do servo motor conectado a ela. Caso contrário enviará uma noti-ficação ao aplicativo dizendo que há pessoas estranhas nas redondezas da casa.

Os requisitos do projeto Watch Dogs podem ser vistos nas tabelas 1 e 2.

Tabela 1: Requisitos funcionais

1 O aplicativo deve permitir ao usuário ativar o alarme ou escolher o horário de ati-vação no próprio dia

2 O aplicativo deve receber uma notificação quando o alarme é acionado3 O aplicativo deve exibir a proposta de ativação e exibir a contagem regressiva do

tempo para ativação automática do sistema4 O aplicativo deve permitir ao usuário escolher quais sensores serão ativados5 O aplicativo deve exigir autenticação do usuário para seu uso6 O sistema embarcado deve reconhecer a face dos usuários7 O sistema embarcado deve ser capaz de distinguir pessoas residentes de não resi-

dentes através da captura de imagens8 O sistema embarcado deve acionar a sirene quando o sistema está ativo e algum

dos sensores for acionado9 O sistema deve poder ser controlado através de comandos de voz

Page 4: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 4

Tabela 2: Requisitos não funcionais

1 A comunicação entre sistema embarcado e aplicativo deve ser feita por WI-FI2 A biblioteca utilizada para o processamento de imagens é a OpenCV3 O microcontrolador utilizado deve ser o Raspberry Pi 34 O aplicativo deve ser feito para sistemas Android5 O aplicativo deve apresentar uma interface amigável ao usuário

O presente documento tem por finalidade a documentação sob um aspectotécnico do trabalho realizado pela equipe durante a concepção e realização doprojeto Watch Dogs. Esse relatório está estruturado de maneira que as próxi-mas seções trazem uma visão mais detalhada da estrutura eletromecânica, dautilização de softwares e dos resultados obtidos, bem como das referências uti-lizadas.

2 Materiais e dispositivos utilizados

Nesta seção serão abordados os sensores, atuadores, sistema embarcado e for-mas de comunicação utilizados, fornecendo detalhes sobre seus funcionamen-tos e justificando as suas escolhas.

2.1 Sensores e atuadores

Foram utilizados sensores de fim de curso e sensores de movimento para detec-tar a invasão da casa. Também foram utilizados um servo motor SG90-9g de 5Vpara movimentar a porta e um buzzer.

O sensor de fim de curso utilizado foi do tipo reed switch, ou sensor mag-nético. Esse tipo de sensor é constituído por uma chave de contato normal-mente aberta composta por duas lâminas de material ferromagnético; quandoum campo magnético é aproximado, as lâminas se tocam fechando o circuitoe permitindo a passagem de corrente [5]. Esse sensor foi utilizado nas janelasda maquete, de modo que o sensor fosse acoplado próximo à uma janela e umímã na folha da janela. Quando essa está fechada o circuito está em nível altoe quando ocorre a violação o sensor indica nível baixo. Esse tipo de sensor foiselecionado porque é de fácil obtenção e utilização e também possui custo aces-sível. Na Figura 2a é possível visualizar o sensor em seu encapsulamento.

O sensor de movimento e presença baseia-se num sensor Passive InfraRed(PIR) que mede a diferença na quantidade de radiação infravermelha captadapor dois elementos sensíveis. Quando um animal ou pessoa passa pela áreade detecção, duas leituras de radiação diferentes são percebidas em momentosdistintos e é essa diferença o que gera o sinal de detecção de movimento [6] [7].O sensor utilizado é do modelo DYP-ME003 e está ilustrado na Figura 2b suafaixa de alimentação varia de 4,5 V a 20 V e a tensão no pino de sinal é 0 V paranível baixo e 3,3 V para nível alto [8], sendo compatível com o Raspberry Pi.

Page 5: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 5

O servo motor é um motor comum com um encoder acoplado, que tem afunção de fornecer o feedback de velocidade e posição. Ele é um atuador rota-tivo que trabalha com servo-mecanismo e que usa o feedback de posição paracontrolar a velocidade e a própria posição final do motor. Internamente, elecombina um motor com um circuito de realimentação, um controlador e cir-cuitos complementares. O modelo utilizado é o Micro Servo 9g TowerPro SG90,como pode ser visto na Figura 2c, esse servo possui eixo de rotação de 180°,sendo que o grau de rotação é determinado por um sinal enviado a ele.

(a) Sensor magnético.

(b) Sensor PIR.

(c) Servo motor.(d) Buzzer.

Figura 2: Sensores e atuadores utilizados.

2.2 Câmera e microfone

A câmera utilizada foi uma web cam do modelo Logitech C920 com resoluçãoFull HD de 1080p, ilustrada na Figura 3a. A facilidade de utilização de uma webcam plug & play com resolução considerável foi fator determinante na escolhaquando comparada à raspicam. A alimentação e comunicação são feitas poruma das portas USB do Raspberry Pi.

A captação de áudio foi realizada utilizando o microfone de um headset USB,modelo DEX DF-55, como mostra a Figura 3b conectado diretamente ao Rasp-berry PI. Optou-se por esse dispositivo porque não foi possível encontrar ummicrofone USB com preço acessível e em tempo hábil para a implementação doprojeto.

Page 6: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 6

(a) Web cam.(b) Headset com microfone.

Figura 3: Câmera e Microfone.

2.3 Módulo embarcado

A estação base consiste em computadores Raspberry Pi (Raspberry Pi 3 ModelB e Raspberry Pi 2 Model B). Este tipo de computador foi escolhido por ser umcomputador single-board com grande capacidade de processamento, de fácilinterfaceamento com sensores e atuadores, possuir conector Ethernet e adap-tador WiFi integrados, o que facilitou a comunicação entre as partes do sistema.Ele tem como principais características um processador Broadcom BCM283764bit, ARMv8 Cortex-A53 Quad-Core, clock de 1.2 GHz, memória RAM de 1GB,adaptador Wi-Fi 802.11n integrado, 4 portas USB 2.0, conector Ethernet e 40 pi-nos, importante para a conexão dos sensores. O sistema operacional utilizadofoi o Raspbian Jessie versão 4.4, disponível gratuitamente, e a linguagem utili-zada na programação foi Python. Como memória permanente foi utilizado umcartão Kingston SD classe 10 de 16 GB de capacidade.

3 Desenvolvimento

Nesta seção serão apresentados os passos do desenvolvimento do projeto, desdea construção da estrutura eletromecânica até a integração de todos os compo-nentes do sistema.

3.1 Estrutura Eletromecânica

A estrutura eletromecânica é composta pelos sensores posicionados na maquetee conectados aos Raspberrys Pi. Essa estrutura é o ambiente de testes do sis-tema. Aqui estão descritos o processo de confecção da maquete e de instalaçãodos sensores, assim como a conexão entre eles.

3.1.1 Confecção da maquete

O ambiente de teste deve permitir a verificação de todas as funcionalidades doproduto, em escala reduzida. Por isso, foi confeccionada uma maquete de umaresidência com quatro cômodos, sendo eles uma sala, um corredor, uma cozi-nha e uma suíte. A maquete foi feita em MDF, sendo que as janelas e portas

Page 7: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 7

foram confeccionadas utilizando-se uma serra tico-tico. As dimensões da ma-quete são mostradas na Figura 4:

Figura 4: Projeto da maquete.

3.1.2 Posicionamento dos sensores

Foram utilizados três sensores de fim de curso (reed switch) nas janelas e trêssensores de movimento e presença (PIR - Passive InfraRed) nas paredes da ma-quete. Os sensores de fim de curso foram instalados na janela do quarto, dasuíte e da sala. Os sensores de presença foram posicionados na sala, quarto esuíte a fim de cobrir as entradas dos recintos. O alarme sonoro (buzzer) e a es-tação base foram posicionados na parede ao lado da porta, localizada na suíte.A câmera para o reconhecimento facial foi posicionada na porta de entrada. Aporta foi acoplada ao servo motor.

Page 8: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 8

Figura 5: Sensores posicionados

Figura 6: Maquete com todos os sensores e câmera

3.2 Software

O desenvolvimento do projeto consistiu principalmente na elaboração de fun-cionalidades de software, que serão melhor detalhadas nas subseções seguintes.

3.2.1 Reconhecimento facial

O reconhecimento facial foi feito utilizando a classe createLBPHRecognizer dabiblioteca OpenCV [9], que cria uma instância de um reconhecedor de faces.

Page 9: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 9

Um reconhecedor de faces é treinado e avaliado através do método Local BinaryPattern Histogram(LBPH), que é a combinação do Local Binary Pattern(LBP)com Histogram of oriented gradients(HOG). O LBPH funciona da seguinte forma:

• Divide-se a imagem analisada em células de, por exemplo, 16x16 pixels

• Cada pixel na célula é comparado com seus 8 vizinhos. Os pixels da célulasão comparados de forma circular, no sentido horário

• Onde o pixel central tiver maior valor que o vizinho, escreve-se 0, casocontrario 1. Tem-se assim um número de 8 bits, que é convertido paradecimal.

• Monta-se um histograma com a frequência de cada valor encontrado.

• Normaliza-se os valores encontrados

• Adiciona-se cada número gerado em uma posição do vetor

• Calcula-se a norma do vetor e compara-se com o limiar.

A principal vantagem do LBPH em relação aos métodos Eigenfaces ou Fisher-Faces (que também estão disponíveis na biblioteca OpenCV) é que as imagensde treinamento e as imagens de teste podem ser de diferentes tamanhos. Utilizando-se a classe createLBPHRecognizer, o reconhecimento facial foi dividido em 3 eta-pas: a detecção de faces e salvamento dos padrões, o treinamento e finalmenteo teste para reconhecimento ou não da pessoa.

Na detecção de faces, o programa primeiro pede um identificador corres-pondente à face a ser detectada. Feito isso, utiliza-se um padrão de face já exis-tente na OpenCV para executar uma função que detecta faces. Detectando aface, ele a salva em um padrão de cinza, que deve ser alterado dependendo dailuminação para garantir imagens com maior qualidade e visibilidade. Esse pro-cesso se repetiu até que fossem salvas 50 faces de cada pessoa. Um exemplode detecção de face pode ser encontrado na figura 7.É importante destacar quepara uma detecção de faces mais rápida e posterior reconhecimento foi neces-sário diminuir a resolução da câmera, de 640x480 pixels para 320x240.

Page 10: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 10

Figura 7: Exemplos de faces utilizadas para treinamento

A segunda etapa é o treinamento, em que o programa lê as imagens salvase utiliza-se da função train. Feito isso, os dados são salvos em um arquivo .ylm,que será utilizado posteriormente para comparação no reconhecimento de fa-ces.

A última etapa trata dos testes de padrão. Lê-se o arquivo .yml gerado, de-tecta a face que se encontra na frente da câmera e define-se um limiar. Feitoisso, o programa utiliza essa imagem para comparar com os dados salvos e cal-cula um valor entre 0 e 255. Se esse valor for menor que o limiar para algumdos usuários cadastrados, significa que o programa reconhece aquele usuáriocomo a face da pessoa que está na frente da câmera. Esse processo se repetevarias vezes durante oito segundos ou até reconhecer a face. Se reconhecer aface, ativa-se um motor para abrir a porta da maquete, simbolizando entradapermitida.

3.2.2 Reconhecimento de comandos de voz

Para utilizar o cliente Jasper [10], foi preciso um microfone USB, conforme des-crito na seção 2.2. O software utilizado foi a imagem pré-configurada do clienteJasper, que vem com o Raspberry Jessie. A versão da imagem utilizada foi a 1.5,pois vem com todas as bibliotecas necessárias para executar o cliente Jasper.

Existe uma variedade de opções nas configurações de reconhecimento defala no cliente Jasper, tanto para transformar a fala em texto, como o inverso.Entre as opções que o Jasper oferece para STT (Speak To Text), foram escolhidasa Pocketsphinx e a Wit.ai STT, para utilização offline e online, respectivamente.[10]

O Pocketsphinx STT é um decodificador open-source que funciona off-line,ele é feito para sistemas embarcados como o Raspberry Pi, infelizmente a taxa

Page 11: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 11

de acerto não é a melhor dentre as opções oferecidas pelo Jasper. Essa API é umaopção, caso o sistema opere em um ambiente sem acesso à internet.

A Wit.ai STT, que em 2015 foi adquirida pelo Facebook, é uma plataformagratuita para desenvolvimento e utiliza colaboração coletiva para treinar o algo-ritmo de reconhecimento de fala e necessita de conexão com a internet.

Neste caso para utilizar o Speak to Text (SST), optou-se por utilizar um ser-vidor externo, a API Wit.ai, que não possui limites e é free. O funcionamento daAPI pode ser visto na Figura 8.

Figura 8: Fluxograma de funcionamento da API WIt.ai no projeto.

Dentre as opções que o Jasper nos oferece para Text To Speak (TTS) optou-se pela eSpeak. A eSpeak é um sintetizador compacto open-source para váriasplataformas que funciona off-line, ele apresenta um som “robótico” na voz.

O projeto não necessita converter texto para fala, mas ter um retorno doprograma de formato sonoro foi importante para o debug do projeto.

Ao ser executado, o cliente Jasper, entra em modo de escuta, porém só aten-derá a um comando solicitado quando chamado pelo nome configurado. Noprojeto, ele aguarda pela expressão "CASA"e assim que o algoritmo identifica ochamado, ele emite um bip sonoro, indicando que está ouvindo e aguardando ocomando. A partir disso, é necessário dizer a palavra chave do comando especí-fico. Feito isso, ele emite outro bip sonoro, mostrando que recebeu a palavra eirá processar o comando. O comando é executado, se existente. Caso contráriosignifica que o comando é inexistente.

No Watch Dogs, os comandos reconhecidos são LIGAR, DESLIGAR, DELAYe SOCORRO. O comando LIGAR ativa o alarme, o comando DESLIGAR por suavez desativa o alarme, o comando DELAY ativa o alarme após 10 minutos e ocomando SOCORRO dispara o alarme.

Page 12: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 12

3.2.3 Aplicativo

Para desenvolvimento do aplicativo escolheu-se utilizar a IDE Android Studiopois ela oferece diversos recursos importantes, como ferramentas, estruturasde testes e emulador rápido. Dessa forma, a linguagem base utilizada para odesenvolvimento foi Java.

O aplicativo foi iniciado pela programação da interface, tendo como objetivoproduzir uma interface de fácil uso e autoexplicativa. Ela apresenta em sua telainicial, mostrada na Figura 9(a), campos para a autenticação do usuário.

A tela seguinte, Figura 9(b), apresenta um botão para ativar ou desativar osistema, seguido de dois botões para agendar um horário de ativação do sistemae para configurar aspectos do controle. O botão de ativação apenas tem suacor e texto alterados quando pressionado, indicando a mudança de estado dosistema, enquanto que os outros botões redirecionam para outras telas.

(a) (b)

Figura 9: Telas do aplicativo. (a) Tela de autenticação (b) Tela de ativação

A tela de agendamento, Figura 10(a), mostra dois relógios que devem serajustados conforme as horas de ativação e de desativação desejadas pelo usuá-rio. Essa tela demonstra que o agendamento apenas pode ser feito para períodosdo dia corrente.

Page 13: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 13

(a) (b) (c)

Figura 10: Telas do aplicativo. (a) Tela de agendamento (b) Tela de configuração (c)Tela de seleção dos sensores

A tela de configurações, mostrada na Figura 10, possibilita selecionar a op-ção de ativação automática do sistema, e selecionar os sensores que o usuáriodeseja ativar individualmente.

O aplicativo utilizará um banco de dados localizado na estação base paraguardar e acessar dados sobre o usuário e os sensores. Esse banco de dados(descrito na seção 3.3) será acessado a cada vez que o aplicativo for aberto.

3.3 Comunicação

A comunicação entre o aplicativo e o Raspberry Pi é realizada por meio do bancode dados MySQL. Para isso, o Raspberry Pi será conectado via cabo Ethernet(RJ45) na rede LAN do roteador na residência, garantindo maior confiabilidadeno funcionamento. A comunicação será implementada por meio de sockets,utilizando a biblioteca do Java, de maneira que o Raspberry Pi seja visto comoservidor, e a aplicação como cliente.

O programa desenvolvido em Python é um servidor MySQL, onde o mesmoestá sempre escutando na porta pré-configurada em busca de nova conexãocom o banco de dados.

Quando houver alteração do status dos sensores no banco de dados, o alarmeirá disparar, indicando invasão na residência.

Page 14: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 14

Figura 11: Modelo Entidade-Relacionamento do Banco de Dados utilizado

O status dos sensores são controlados pelos valores -1, 0, 1, 2 e 3 onde -1significa desativado, 0 significa que o sensor estava ligado e foi desativado, 1significa ativado, 2 significa disparado e 3 significa que foi agendado para serativado em 10 minutos.

Quando o status é alterado, automaticamente é acionado o alarme, pois oprograma fica constantemente verificando o status dos sensores no banco dedados.

4 Resultados

4.1 Testes

Para a voz, foram feitos testes com LEDs. A partir dos comandos "CASA- "Ligar",os LEDs acendiam, e com os comandos "CASA- "Desligar", os LEDs apagavam.O funcionamento dos comandos está explicado na seção 3.2.2.

A partir dos testes realizados, foi possível um acerto de 80% dos comadosrealizados. Na documentação, a porcentagem de acertos é maior, sendo que oerro no sistema é devido ao fato de a equipe estar utilizando um microfone deheadset, cuja qualidade é baixa.

Para integrar a voz ao sistema, foi utilizado o multiprocessing do Python,foi criada uma thread para verificar o status dos sensores no banco de dados,quando um sensor dispara, o mesmo altera o status dos sensores para 2, e oalarme é disparado.

Para o reconhecimento facial, os testes foram realizados com as própriaspessoas da equipe. Três membros da equipe tiveram suas faces cadastradas,o quarto membro não. O sistema deve identificar corretamente as três pessoas.Quando, após oito segundos, contados a partir da detecção da primeira face,não reconhece, retorna uma não identificação. No projeto, a correta identifica-ção pode ser verificada pela abertura de uma porta controlada por um servo mo-tor. Para o treinamento do reconhecimento de face, cada pessoa sentou-se no

Page 15: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 15

mesmo lugar com a mesma iluminação a uma distancia de aproximadamente60cm da câmera. Foram feitas 10 detecções com cada pessoa resultando em 40amostras. Dessas, obtiveram-se 29 acertos, 8 confusões, em que o sistema con-funde uma pessoa cadastrada com outra, e 3 erros, em que o sistema confundeuma pessoa não cadastrada com alguém cadastrado. Os resultados estão den-tro do esperado. Uma vez que o Raspberry Pi tem um processamento menor secomparado a um computador, o que exigiu diminuir a resolução das imagensde treinamento e teste. A figura 12 mostra o sistema identificando corretamenteas pessoas cadastradas e não cadastradas.

(a) André (b) Lucas

(c) Caroline(d) Marlon (não cadastrado, e não reconhe-cido)

Figura 12: Testes de reconhecimento de imagem dos membros da equipe.

4.2 Custos

A Tabela 3 apresenta o custo material estimado do desenvolvimento do projeto.Dada a natureza acadêmica do projeto, alguns itens foram emprestados de pro-fessores e colegas estudantes, tais como a câmera, a fonte de alimentação, aplaca Raspberry Pi 3 e o servo motor, o que reduziu significativamente o gastoda equipe com materiais.

Page 16: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 16

Tabela 3: Relação de itens e custos referentes à execução do projeto.

Item Quantidade Valor total (R$)Buzzer 1 9,00Câmera 1 240,00Cartão Micro SD 1 42,00Corte da madeira - 30,00Ferragens e materiais diversos - 30,00Fonte de Alimentação 1 35,00Microfone 1 75,00Madeira 1 30,00Raspberry Pi 3 1 165,00Raspberry Pi 2 1 169,00Sensor de fim de curso com ímã 4 44,00Sensor de movimento e presença 4 50,00Servo motor 1 25,00Total 17 944,00

5 Conclusão

O projeto apresentou resultados satisfatórios por ter atendido aos requisitospropostos, tendo cumprido com o objetivo esperado inicialmente.

O reconhecimento de voz possui falhas devido ao equipamento utilizado,porém supre a necessidade do sistema. O reconhecimento de imagens, apesarde ter cerca de 20% de erro, consegue reconhecer os usuários cadastrados no sis-tema. Os sensores tem bom custo benefício, funcionando da maneira desejada.O aplicativo possui uma interface intuitiva, de fácil utilização.

Para implementações futuras, algumas melhorias poderiam ser feitas, comopor exemplo, a criação de uma inteligência capaz de identificar o padrão de usodo sistema e sugerir a ativação do sistema em horários específicos. Além disso, oprojeto poderia ser ampliado para controlar outras funcionalidades da residên-cia, como iluminação e som ambiente, tornando a residência mais inteligente esegura.

6 Agradecimentos

A equipe agradece ao PET-EE e ao aluno de engenharia eletrônica, integrante doPET-EE, Charles Reis Ribeiro que contribuíram de forma muito significativa aodesenvolvimento do projeto. Aos professores João Fabro e Rubens de Farias, eao aluno Tomás Abril por empréstimos de materiais.

Page 17: WatchDogs - Páginas Pessoaispaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/... · Sistema Inteligente de Segurança ... e controlar o servo motor para realizar

Relatório Técnico: Watch Dogs - Sistema Inteligente de Segurança 17

Referências

[1] J.A. Alves and J. Mota. Casas inteligentes. Centro Atlântico, 2003.

[2] R. Harper. Inside the Smart Home. Springer London, 2003.

[3] Mariotoni C. A. e Andrade E. P. Descrição de sistemas de automação pre-dial baseados em protocolos plc utilizados em edifícios de pequeno porte eresidências. CTAI - Revista de Automação e Tecnologia da Informação, 1(1),2002.

[4] C.A.M. BOLZANI. Residências Inteligentes. LIVRARIA DA FISICA, 2004.

[5] Instituto Newton C. Braga. Como funciona o reed switch (art373).http://www.newtoncbraga.com.br/index.php/como-funciona/2462-art373.

[6] Adafruit. How pirs work. https://learn.adafruit.com/pir-passive-infrared-proximity-motion-sensor/how-pirs-work.

[7] Glolab Corporation. How infrared motion detector components work.http://www.glolab.com/pirparts/infrared.html.

[8] ElecFreaks. Specification of dyp-me003. http://elecfreaks.com/store/download/datasheet/sensor/DYP-ME003/Specification.pdf.

[9] OpenCV. Lbphfacerecognizer class reference. http://docs.opencv.org/trunk/df/d25/classcv_1_1face_1_1LBPHFaceRecognizer.html.

[10] Matt Curry. Jasper client, March 2014.