INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DE RORAIMA DIRETORIA DE GRADUAO CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS
WILLERSON WAGNER DOS SANTOS SILVA ERICA CAMILA SILVA CUNHA JOS GABRIEL RIBEIRO FIGUEIREDO MIGUEL ALESSANDRO ARAJO CRUZ
SISPROTEGE ALARME INTELIGENTE E AUTOMAO RESIDENCIAL CONTROLADO PELA INTERNET
BOA VISTA RR 2013
WILLERSON WAGNER DOS SANTOS SILVA ERICA CAMILA SILVA CUNHA JOS GABRIEL RIBEIRO FIGUEIREDO MIGUEL ALESSANDRO ARAJO CRUZ
SISPROTEGE ALARME INTELIGENTE E AUTOMAO RESIDENCIAL CONTROLADO PELA INTERNET
Trabalho de Concluso de Curso apresentado ao curso Superior de Tecnologia em anlise e Desenvolvimento de Sistemas do Instituto Federal de Educao, Cincia e Tecnologia de Roraima IFRR, como requisito para obteno do ttulo de Tecnlogo em Anlise e Desenvolvimento de Sistemas.
Orientador: Prof. Saula Leite Oliveira Dantas
BOA VISTA RR 2013
INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DE RORAIMA DIRETORIA DE GRDUAO CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS
A Comisso Examinadora, abaixo assinada, aprova a pesquisa
SISPROTEGE ALARME INTELIGENTE E AUTOMAO RESIDENCIAL CONTROLADO PELA INTERNET
Elaborada por WILLERSON WAGNER DOS SANTOS SILVA ERICA CAMILA SILVA CUNHA JOS GABRIEL RIBEIRO FIGUEIREDO MIGUEL ALESSANDRO ARAJO CRUZ Como requisito parcial para obteno do ttulo de Tecnlogo em Anlise e Desenvolvimento de Sistemas
Maria Aparecida Ferreira Barbosa Fernandes (Membro IFRR)
Boa Vista, _____ de __________________________ de 2013.
AGRADECIMENTOS
Agradecemos primeiramente a Deus pela oportunidade de evoluir em nossas vidas, do conhecimento adquirido e as pessoas presentes nesse nosso percurso que certamente foram essenciais para o nosso processo de aprendizagem. Aos nossos pais, que nos fomentaram, fazendo de todo o possvel de diversos meios para que fosse alcanar o sucesso da nossa formao acadmica. A nossa orientadora professora Saula Leite de Oliveira Dantas, que com muita habilidade e conhecimento auxiliou a execuo deste trabalho de concluso de curso. A todos os professores que com disposio repassaram seus conhecimentos, ensinaram no s o caminho, mas at as possveis pedras que podem aparecer, criando assim, um lao fraterno eterno e muitas vezes sero lembradas em momentos das nossas vidas. A todos os colegas e amigos de classe, que participaram dessa jornada junto a ns, mesmo aqueles que seguiram por outros caminhos, sero para sempre lembrados e os que seguiram o mesmo caminho, s temos a agradecer ao auxilio, esforo e troca de experincias, no ensinando somente o conhecimento didtico e sim o da vida. E a todos que participaram direta e indiretamente, o nosso muitssimo obrigado por participar da realizao deste projeto.
No existe vento favorvel a quem no sabe onde deseja ir. Schpenhauer
RESUMO
Esta pesquisa ressalta a importncia da construo de um alarme inteligente com automao residencial controlado via internet ou controle remoto sem fio, usando a plataforma Arduino. Para isso o projeto busca responder a seguinte problemtica: O desenvolvimento de um alarme residencial por meio de tecnologias de cdigo aberto monitorado pela internet e que tem como premissa bsica o monitoramento eletrnico pelo prprio usurio tornar a sua aquisio mais acessvel populao? De modo que, sua realizao justifica-se por possibilitar ao usurio um monitoramento e controle do alarme de sua prpria residncia distancia, aonde possibilitar a ligao de lmpadas e abertura de porto eletrnico por meio da internet, atividade incomum com alarmes atuais, alm ter uma melhoria nos recursos de economia de energia e ainda a compatibilidade com sensores de tecnologias atuais. Neste sentido, apresentada a base terica usada para fundamentar o conhecimento que sustenta o processo investigativo desenvolvido. Para t anto, utilizou-se da pesquisa de campo e bibliogrfica, com abordagem quali -quantitativa de carter exploratrio, mediante o mtodo analtico e hermenutico tendo por instrumento de pesquisa um questionrio estruturado composto de perguntas do tipo fechada direcionado possveis consumidores. Os dados evidenciados possibilitaram perceber que a construo de um alarme inteligente importante, pois traz como benefcio uma relevante reduo do consumo de energia, alm de ser de fcil manuseio.
This research underscores the importance of building an intelligent alarm with home automation controlled via internet or wireless remote control, using the Arduino platform. For this project seeks to answer the following problems: The development of a residential alarm through open source monitored by the internet and that is the basic premise electronic monitoring by the user technologies will make your purchase more affordable to the population? So that their achievement is justified by allowing the user a monitoring and alarm control his own residence at a distance, where the link will enable lamp and electronic gate opening through the Internet, unusual activity with actual alarms, besides having an improvement in the energy- saving features and also compatibility with current sensor technologies. In this sense, the theoretical basis used to support the knowledge that underpins the research process developed is presented. For this, we used field research and literature, with qualitative and quantitative approach exploratory, through analytical and hermeneutical method by taking the survey instrument a structured questionnaire consisting of closed type of questions directed to potential consumers. The data evidenced realize that enabled the construction of an intelligent alarm is important because it brings a significant benefit as a reduction in energy consumption as well as being easy to handle.
FIGURA 1 CASO DE USO ........................................................................................ 18 FIGURA 2 ARDUNO UNO R3 ................................................................................. 29 FIGURA 3 TRANSDUTOR PIEZOELTRICO......................................................... 30 FIGURA 4 PWM VARIANDO A TENSO MDIA ................................................... 31 FIGURA 5 RELAY SHIELD ...................................................................................... 32 FIGURA 6 MDULO HIBRIDO 433,92MHZ ............................................................ 33 FIGURA 7 TRANSMISSOR DE CONTROLE REMOTO 433,92MHZ .................... 33 FIGURA 8 SINAL TRANSMISSOR HT6P20 HOLTEK OSCILOSCPIO .............. 34 FIGURA 9 CODIFICAO HOLTEK HT6P20 ......................................................... 34 FIGURA 10 MICROCONTROLADOR AVR ATMEGA328P .................................... 48 FIGURA 11 IDE DA PLATAFORMA ARDUNO ...................................................... 50 FIGURA 12 TRANSISTOR BC337 ........................................................................... 51 FIGURA 13 LIGAO DO TRANSISTOR BC337 PARA AMPLICAO DO SOM DA SIRENE .................................................................................................................. 51 FIGURA 14 PROTO SHIELD ................................................................................... 52 FIGURA 15 ARDUNO E PROTO BOARD .............................................................. 52 FIGURA 16 ARDUNO E PROTO SHIELD .............................................................. 53 FIGURA 17 TRANSISTOR MOSFET IRLZ44N ....................................................... 54 FIGURA 18 SISPROTEGE HARDWARE 1 ............................................................. 55 FIGURA 19 SISPROTEGE HARDWARE 2 ............................................................. 55 FIGURA 20 SISPROTEGE HARDWARE 3 ............................................................. 56 FIGURA 21 AUTENTICAO SISPROTEGE WEB ............................................... 57 FIGURA 22 AUTENTICAO WEB RESPONSIVE ............................................... 58 FIGURA 23 PGINA INICIAL ................................................................................... 59 FIGURA 24 PGINA INICIAL WEB RESPONSIVE ................................................ 59 FIGURA 25 PGINA DE EVENTOS ........................................................................ 60 FIGURA 26 PGINA DE EVENTOS WEB RESPONSIVE ..................................... 60 FIGURA 27 PGINA DE CONFIGURAO ........................................................... 61 FIGURA 28 PGINA DE CONFIGURAO WEB RESPONSIVE ......................... 61 FIGURA 29 PROTOCOLO SISPROTEGE .............................................................. 62
APNDICE B CDIGO FONTE ARDUINO ............................................................. 69
APNDICE C QUESTIONRIO ................................................................................ 79
11
1 INTRODUO
A presente pesquisa tem como tema de estudo: SisProtege alarme inteligente e automao residencial controlado pela internet, pois o intuito foi fazer uma analise sobre os alarmes disponveis no mercado de modo que possibilite ao usurio conhecer e ter a sua disponibilidade um alarme inteligente capaz de monitorar sua residncia a distancia por meio do uso da plataforma Arduno. Para tanto, esta pesquisa tem como objetivo principal desenvolver um alarme residencial com automao controlado pela internet que proporcione populao de Boa Vista Roraima facilidade no gerenciamento da segurana dos seus imveis e que tenha baixo custo na aquisio e implantao. Sua implementao partiu da premissa de que a automao, em suas mais diversas reas de atuao, tem facilitado vida das pessoas proporcionando maior agilidade, conforto, praticidade, segurana, dentre outras vantagens. Pois, com as novas tecnologias como as de transmisso de dados sem fio e de dispositivos controlados via web, j possvel levar esta facilidade conforto para uma gama muito maior de pessoas atravs da automao residencial . O presente trabalho est constitudo de vrios captulos, sendo a primeira dedicada a apresentar o problema, a justificativa, e os objetivos gerais e especficos. O segundo captulo apresenta a Fundamentao terica que abordou-se os temas de grande relevncia para a compreenso do assunto proposto, tais como: Plataforma Arduno, sensores de alarmes, modulo hbrido 433,92mhz, linguagem de programao PHP, servidor Web Apache. No terceiro capitulo apresentado o marco metodolgico em que se fundamenta a pesquisa, tais como os procedimentos e tcnicas utilizadas, a populao e amostra, entre outros. No quarto capitulo tratado os conceitos e ferramentas utilizados e a para a elaborao e o processo de desenvolvimento da anlise e discusso dos resultados. Vale destacar que no decorrer da pesquisa sero utilizado conceitos relacionados eletrnica e ao desenvolvimento de software com o intuito de utilizar uma ferramenta chamada Arduino para controlar dispositivos eletrnicos como lmpadas, portes eletrnicos, fechaduras eletrnicas, entre outros, de modo a implementar a automao residencial nos mais diversos ambientes. 12
Com a popularizao da automao residencial e a necessidade de aumentar a segurana em vrios tipos de ambientes, desenvolvemos a ideia de um alarme residencial que proporcione ao usurio benefcios que dificilmente so encontrados nos alarmes comuns disponveis no mercado. Contudo pretende-se utilizar o uso dessas aplicaes de sistemas de automao com a finalidade de realizar vrias funes dentro de um ambiente residencial, de forma simples e integrada valorizando o conforto e a segurana do ambiente, denominada de automao residencial.
1.1 PROBLEMA
A problemtica deste trabalho surge a partir da observao do monitoramento dos alarmes residncias ofertados por empresas de monitoramento eletrnico no comrcio local de Boa Vista Roraima, aonde verificou-se que os mesmos geram um gasto com mensalidades e uma demora no repasse das informaes de violao do ambiente. Alm disso, o custo de um alarme controlado e monitorado pela internet bastante elevado, o que motivou os integrantes da equipe a pensarem em uma soluo mais acessvel aos usurios. Logo, a questo norteadora deste trabalho : O desenvolvimento de um alarme residencial por meio de tecnologias de cdigo aberto monitorado pela internet e que tem como premissa bsica o monitoramento eletrnico pelo prprio usurio tornar a sua aquisio mais acessvel populao?.
1.2 JUSTIFICATIVA
A Cidade de Boa Vista est em constante crescimento, e consequentemente vm apresentando uma maior procura por dispositivos de segurana que proporcione ao cliente auxlio 24 horas por dia. Atualmente, os alarmes de segurana possuem dois tipos de custo: implantao de equipamentos e a despesa mensal para monitoramento, que geralmente tem custo elevado, limitando-se a um pblico especfico. 13
Com base nas pesquisas desenvolvidas pelos acadmicos, o SISPROTEGE um alarme de baixo custo de implantao e sem mensalidades, com automao e monitorado via internet. Outros recursos tambm foram trabalhados como: economia eficiente de energia, monitoramento pelo prprio usurio e ainda com recursos de automao que geralmente no so encontrados nos alarmes comuns. Ao refletirmos sobre esse aspecto buscou-se entender como o desenvolvimento de um alarme residencial por meio de tecnologias de cdigo aberto monitorado pela internet e que tem como premissa bsica o monitoramento eletrnico pelo prprio usurio poder tornar a sua aquisio mais acessvel populao de Boa Vista- Roraima. Diante desta problemtica, a realizao dessa pesquisa justifica-se por analisar a falta de um alarme com automao monitorado pela internet que tenha um bom custo/beneficio e que tenha recursos de economia de energia bem eficientes no comrcio brasileiro e, principalmente no comercio roraimense. Neste sentido a pesquisa de grande relevncia, pois procura entender os benefcios e a acessibilidade deste alarme para a sociedade de forma que se torne um instrumento simples e com maior comodidade para o usurio. No entanto a criao da SISPROTEGE surge como um sistema de segurana completo que pode ser controlado em qualquer lugar do mundo, podendo reduzir gastos como as mensalidades, pagas pelas organizaes, o setor industrial e as residncias poderia alavancar a economia regional e, tambm baratear o preo deste tipo de servio j que este recurso seria destinado a outros fins. Contudo o estudo ganha evidencia por ser um alarme que contribui para a melhoria da qualidade de vida, aonde a segurana primordial para a vida de cada cidado.
1.3. OBJETIVO
1.3.1 GERAL
Desenvolver um alarme residencial com automao controlado via internet, com recursos de tecnologia que proporcione facilidade no gerenciamento da segurana e ainda com baixo custo para aquisio e implantao. 14
1.3.2 ESPECFICOS
a) Investigar as formas de monitoramento eletrnico realizada por empresas de segurana na cidade de Boa Vista; b) Identificar como a aquisio do alarme automatizado pode tornar dispensvel a contratao de empresas de monitoramento eletrnico; c) Desenvolver um produto com custo/benefcio no alcance de todos, reduzindo despesas com mensalidades.
15
2 FUNDAMENTAO TERICA
Para a construo deste projeto necessrio o estudo de alguns conceitos, funcionamento de componentes e peas envolvidos no trabalho. Nesse caso, a fundamentao terica diz respeito a esta parte do trabalho onde explicado as etapas do processo de implementao e aprendizagem para chagar ao objetivo final.
2.1 ENGENHARIA DE SOFTWARE
Sendo a engenharia de software tem por objetivo apoiar o desenvolvimento profissional de software, mais do que a programao individual (SOMMERVILLE, 2011, p.03), h a necessidade de profissionalizar o software e transform-lo em uma atividade padronizada, estabelecendo, para isso, mtodos para evitar a falha durante a criao de software. Por conta disso, engenharia de software uma abordagem sistemtica para a soluo de software; ela analisa questes praticas de custo, prazo e confiana, assim como as necessidades dos clientes e produtores do software (SOMMERVILLE, 2011, p.06). com essa engenharia que se pode fazer um planejamento de software, analisar questes sobre o que ele ir atender quem sero seus clientes e como ser feito o desenvolvimento.
2.1.1 Engenharia de requisitos
Os requisitos de um sistema so as descries do que o sistema deve fazer, os servios que oferece e as restries a seu funcionamento. Esses requisitos refletem as necessidades dos clientes para um sistema que serve a uma finalidade determinada (SOMMERVILLE, 2011, p. 57). Compreender os requisitos no uma das tarefas mais fceis da criao do software e uma das mais importantes para a o desenvolvimento de qualquer projeto. A dificuldade principalmente na comunicao tanto do cliente que muitas 16
vezes no sabe a importncia de cada funcionalidade e o outro grande motivo de falha ou modificao dos requisitos passados para a equipe de desenvolvimento, sobre o que o cliente realmente quer ou precisa, de modo que:
O objetivo do processo de engenharia de requisitos fornecer a todas as partes um entendimento escrito do problema. Isso pode ser conseguido por meio de um certo nmero de produtos de trabalho, cenrio de usurios, listas de funes e de caractersticas, modelos de anlise ou uma especificao(PRESSMAN, 2006, p.116).
Uma prtica comum e adotada ao nosso trabalho a identificao dos requisitos, que posteriormente so divididos em: requisitos funcionais e requisitos no funcionais.
2.1.2. Requisitos Funcionais
Requisitos funcionais so, segundo Sommerville (2011), declaraes de servios que o sistema deve fornecer, de como o sistema de reagir a estrada especificas e de como o sistema deve se comportar em determinadas situaes. Em alguns casos, estes requisitos tambm podem explicitar o que o sistema no deve fazer. Como pode ser verificado, esses requisitos ditos funcionais so as caractersticas individuais do sistema, como ele recebe os dados de entrada, como so tratados esses dados e como ser a sada deles. E, como tal, vo desde requisitos gerais, que so bastante abstratos para os usurios finais, at requisitos bem especficos e detalham claramente e podem ser compreendidos sem dificuldade.
2.1.3 Requisitos No Funcionais
Requisitos no funcionais so, de acordo com Sommerville (2011), as restries aos servios ou funes oferecidas pelo sistema. Incluem-se a, as restries de timing, no processo de desenvolvimento e aquelas impostas pelas normas. 17
Ao contrrio das caractersticas individuais ou servios do sistema, os requisitos no funcionais, muitas vezes, aplicam no sistema como um todo (Sommerville, 2011, p. 59). Os requisitos definidos como no funcionais, so os requisitos que no esto diretamente ligados ao usurio, mas ao suporte do sistema como um todo, so eles que definem toda a arquitetura que o sistema ter, ou seja, eles so a base para os requisitos funcionais. Eles permitem ou restringem as funcionalidades individuais.
2.1.4 Cenrio
As pessoas geralmente acham mais fcil se relacionar com exemplos da vida real do que com descries abstratas. Elas podem compreender e criticar um cenrio de como elas pode interagir com um sistema de software (SOMMERVILLE, 2011, p. 73). Descrevendo como o software se comporta, elaborando uma sequencias de aes e respostas, para que seja claro comportamento do software. Com o conjunto dessas aes e respostas feitas, ficam mais claros quais so os requisitos necessrios para o sistema e resolve a real problemtica do proposto. Sendo criadas situaes onde o cliente necessita desativar o alarme, acender uma lmpada e outras funcionalidades de automao residencial, alm da criao de cenrios onde se deve seguir a lei, onde foi colocado como requisito que um alarme deve estar em disparo por no mximo 6 minutos. [...] Os cenrios podem ser particularmente uteis para adicionar detalhes a uma descrio geral de requisitos. Trata-se de descries de exemplos de sesses de interao (SOMMERVILLE, 2011, p. 73).
2.1.5 Caso de Uso
Os casos de uso so uma tcnica para captar os requisitos funcionais de um sistema. Eles servem para descrever as interaes tpicas entre usurios de um sistema e o prprio sistema, fornecendo uma narrativa sobre o sistema utilizado (FOWLER,2005, p. 104). 18
Com os casos de uso so possveis construir um ponto de vista de como o sistema se comporta para o usurio. Descrevendo as principais funcionalidades, e o impacto que ele tem no ambiente onde ser implantado. Com isso se torna mais fcil a comunicao e a compreenso do que o sistema est propondo. Com a anlise de mercado de diferentes tipos de alarmes, observou as principais funcionalidades e com isso incrementamos um sistema que levasse em conta o proposto pelo grupo, o que gerou o seguinte caso e uso:
Figura 1 Caso de Uso
A figura acima explicitada nos prope perceber como se d a funcionalidade do sistema a ser utilizado pelo usurio de dos benefcios propiciados por sua adoo.
19
2.1.6. DOCUMENTO DE REQUISITOS
Este documento mostra de forma clara funcionalidades presentes no sistema, desde requisitos padres de distintos sistemas de segurana at os diferenciais do SISPROTEGE. O usurio pode administrar as funcionalidades do alarme, da automao e utilizar o controle sem fio de forma bsica para ativar e desativar o alarme sem conflito com o sistema, conforme segue nas tabelas 1 e 2 os requisitos do sistema:
RF01 Criar, alterar, excluir usurios: Este requisito permite a criao, alterao e excluso de usurios.
Prioridade: Essencial Importante Desejvel RF02 Ativao e desativao web: Este requisito permite ativar e desativar atravs da Internet.
Prioridade: Essencial Importante Desejvel RF03 Ativao e desativao pelo controle remoto: Este requisito permite ativar e desativar atravs do controle remoto.
Prioridade: Essencial Importante Desejvel RF04 Verificao web: Este requisito permite consultar o estado do alarme pela Internet.
Prioridade: Essencial Importante Desejvel RF05 Gerenciar dispositivos: Este requisito permite ligar ou desligar dispositivos ligados s portas de automao residencial presentes no alarme atravs da internet.
Prioridade: Essencial Importante Desejvel 20
RF06 Desativar sirene: Este requisito permite parar o aviso sonoro da sirene pela internet quando houver disparo do alarme.
Prioridade: Essencial Importante Desejvel TABELA 1 REQUISITOS FUNCIONAIS
RNF01 Ambiente : O sistema ser desenvolvido na linguagem PHP, sendo acessado pela web e utilizando web Responsive.
Prioridade: Essencial Importante Desejvel RNF02 Banco de Dados: O sistema ser executado no Banco de Dados MySql.
Prioridade: Essencial Importante Desejvel RNF03 Hardware: O software ser desenvolvido na plataforma Arduno, Utilizando o Arduno Uno R3 com memria SRAM2 kb, memria flash 32 kb, EEPROM 1 kb e 14 pinos de entrada e sada.
Prioridade: Essencial Importante Desejvel RNF04 Norma ABNT: Segue os padres da norma ABNT NBR 10151, em caso de disparo, a sirene ter que sinalizar por exatamente 6 minutos, para evitar incmodo vizinhana.
Prioridade: Essencial Importante Desejvel RNF05 Compatibilidade com alarmes: O alarme deve ser compatvel com sensores e controles de alarmes comuns.
Prioridade: Essencial Importante Desejvel 21
RF06 Desativar sirene: Este requisito permite parar o aviso sonoro da sirene pela internet quando houver disparo do alarme.
Prioridade: Essencial Importante Desejvel TABELA 2 REQUISITOS NO FUNCIONAIS
As tabelas 1 e 2 exemplificam muito bem os requisitos funcionais e no funcionais do programa que interferem diretamente nesse processo.
2.2. METODOLOGIA GIL DE SOFTWARE
Segundo Beck (2001), estamos descobrindo maneiras melhores de desenvolver software fazendo-o ns mesmos e ajudando outros a faz-lo. Por meio deste trabalho, passamos a valorizar:
Indivduos e interao entre eles mais que processos e ferramentas; Software em funcionamento mais que documentao abrangente; Colaborao com o cliente mais que negociao de contratos; Responder a mudanas mais que seguir um plano. Ou seja, mesmo havendo valor nos itens direita, valorizamos mais os itens esquerda. Posto que, sempre existiu uma grande quantidade de softwares que falhavam ou o projeto no era finalizado. Com o passar dos tempos percebeu-se a necessidade de desenvolver com menor risco os projetos de software, tornando a atividade mais produtiva. Definindo assim uma lgica na criao facilitando o oramento, o cronograma, as funcionalidades e fornecendo um produto de qualidade para o cliente. Outros dois detalhes importante a documentao que criada, que bastante objetiva, tornando o trabalho mais profissional e concreto, trazendo segurana e clareza para o cliente e desenvolvedor e a o segundo ponto importante aproximao do cliente e o programa, criando o que o cliente realmente necessita, 22
fornecendo mais flexibilidade e colaboraes do que a apenas a criao sem feedback. Dentro desses conceitos e com o grupo formado, trabalhou-se com o Extreme Programming que serviu de base para o desenvolvimento, para tanto, segue abaixo a metodologia adotada.
2.3. EXTREME PROGRAMMING (XP)
Segundo Beck (2004) e Cunningham (2002), extreme Programming (XP) uma disciplina de desenvolvimento de software voltada para pequenas e mdias equipes, onde os requisitos so vagos e mudam frequentemente. Desenvolvido por Kent Beck, Ward Cunningham e Ron Jeffries, o XP tem como principal tarefa a codificao, com nfase menor nos processos formais de desenvolvimento, com uma maior disciplina de codificao e testes. Tem como valores a comunicao, simplicidade, feedback e coragem.
2.3.1. Valores
A metodologia de desenvolvimento de software Extreme Programming (XP) uma metodologia gil, criada por Kent Beck em 1997. O XP tem vrias prticas eficientes isoladamente, mas o principal dessa metodologia o conjunto. Optando realizar um trabalho mais amplo, integrado e conjunto, seguindo os quatro valores do XP. A comunicao no XP prioriza construir entendimento do problema, para criar a melhor soluo ao cliente, fazendo o grupo pensar como um todo e trabalhando em um foco comum, priorizando mais a interao do relacionamento das pessoas envolvidas do que o uso da documentao formal. A comunicao tambm fortalecida pela programao em pares, testes e frequente contato com o cliente. A simplicidade, sugerindo a cada integrante do grupo adote a soluo funcional mais fcil. Visando a construo das funcionalidades e criando um 23
ambiente suscetvel a mudanas futuras sem muito custo. Tendo em vista a resoluo de todo problema da forma mais simples, o problema de agora se resolve agora, depois se trata com o problema futuro. O Feedback aproxima a viso da equipe para a verdadeira lgica do projeto, fazendo vrios casos de testes e repassando para o cliente, assim ele entendem cada vez mais sobre o desenvolvimento. Tendo um Feedback rpido todos envolvidos no projeto tero um aprendizado mtuo, prevenindo e sanando a corrigir possveis ms interpretaes dos programadores, riscos e problemas. Um erro resolvido no incio se torna o menos custoso do que sendo resolvido no final, por isso a importncia do entendimento das reais funcionalidades do projeto. A coragem aplicada todo tempo, como por exemplo na tomada de atitude de alterar cdigo j escrito e que se encontra funcional, jogar cdigo fora e reescreve-lo e compartilhar o fonte com todos. Com isso pode notar alguns temores que merecem ser superados. Beck e Fowler (2001) citam alguns dos medos presentes nos desenvolvimentos do projeto, entre os quais esto:
a) Clientes temem: No obter o que pediram; Pedir a coisa errada; Pagar demais por muito pouco; Jamais ver um plano relevante; No saber o que est acontecendo; Fixarem-se em suas primeiras decises e no serem capazes de reagir a mudanas nos negcios.
b) Desenvolvedores, por sua vez, temem: Ser solicitados a fazer mais do que sabem fazer; Ser ordenados a fazer coisas que no fazem sentido; Ficar para trs tecnicamente; Receber responsabilidades, sem autoridade; No receber definies claras sobre o que precisa ser feito; 24
Sacrificar a qualidade em funo de prazo; Ter que resolver problemas complicados sem ajuda; No ter tempo suficiente para fazer um bom trabalho.
Alm de ter coragem consigo no desenvolvimento deve-se ter esse valor para confiar em todos envolvidos no projeto, realizar o feedback com os outros, encontrar formas simples para solucionar o problema do cliente e fazer a comunicao, em que estado est o projeto e se as funcionalidades esto a desejo do cliente. O XP integra esses quatro valores como se fosse todo o modo de desenvolver o projeto, ou seja, no sero trabalhados os valores separados, mas sim todos juntos do inicio ao fim.
2.1.3.2 Papis
Os papis que compem um time XP formado por diferentes tipos de pessoas, com caractersticas e habilidades singulares e necessrias para o sucesso do projeto geral, os papeis no variam muito em relao ao de outros processos e metodologias. Alguns destes papis so apresentados por Atels, Miller e Novak (2002):
Dono do Ouro: o cliente que paga pelo desenvolvimento do projeto; Gerente: Gerencia e acompanha o planejamento do projeto; Coach: o tcnico do time. Orienta o time, mantendo a disciplina na aplicao das prticas que so padres da equipe; Testadores: Ajudam os clientes com a definio dos testes. Realizam os testes do sistema; Desenvolvedores: Definem a arquitetura, realizam estimativas e implementam o cdigo; Tracker: Responsvel por coletar as mtricas do projeto. Ele capaz de contar uma histria da iterao ao final da mesma, atravs dos apontamentos que realizou e das informaes que foram coletadas; 25
Analistas: Ajudam o cliente na definio dos requisitos.
Existem variaes e diferentes referncias sobre papis em XP. Estes papis at podem ser acumulados por mais de uma pessoa dentro do time, porem deve tomar certos cuidados (CUNNINGHAM, 2006).
2.1.3.3. Prticas de Trabalho
O XP sistematiza vrias atividades para conduzir o projeto, afim de que ele seja finalizado, esteja de acordo com o que foi proposto inicialmente e, principalmente, seja funcional. So evidenciadas, a seguir, as prticas utilizadas no desenvolvimento deste projeto, entre as quais est:
a) Cliente prximo
O XP busca a aproximao do cliente, para as reais funes desejadas por ele sejam implementadas pela equipe de desenvolvimento. Esta aproximao pode ser tanto do cliente com o grupo ou mover o grupo para prximo do cliente, e, como tal, traz mais rapidamente e com maior clareza o feedback, conforme aponta Teles (2004):
A reduo da distncia entre cliente e desenvolvedores tambm produz outro efeito benfico: a melhoria na relao de confiana entre as partes envolvidas. Estar prximo fisicamente permite que o cliente perceba mais facilmente os esforos da equipe de desenvolvimento. Alm disso, a reduo no tempo para a obteno de resultados tambm ajuda a elevar a satisfao do cliente, o que tambm melhora os relacionamentos.
Pelo fato de no ter um cliente real, voltou-se o trabalho para o as principais funes, ou seja, funes bsicas que um sistema de segurana exerce e incrementamos tecnologia, trazendo uma segurana que possa ser feita pela web.
26
b) Triagem de planejamento
Focar nas reais funcionalidades do sistema, reunindo todas as funcionalidades categorizando-as. Segundo Yourdon (2004), as funcionalidades de um sistema podem ser categorizadas em tem que ser feita, deveria ser feita e poderia ser feita. Colocando prioridades no mais importante. Os projetos em XP como a maioria da metodologia gil, se baseiam em dois fundamentos: release e interaes. Releases o conjunto coeso de funcionalidades prontas a serem usadas pelo cliente formada por vrias iteraes que so cada pequeno progresso no desenvolvimento, sendo feitas vrias iteraes de forma incremental e onde so corrigidos possveis mudanas, erros e interpretaes erronias. No final de cada release se faz um no escopo de planejamento pra iniciar a execuo da funcionalidade. Foi separado o projeto em partes e colocados em grau de importncia e uma lgica, durante a programao. Dividindo em categorias como sugere Yourdon (2004):
c) Reunio em p
So reunies feitas pela equipe servindo para integrar o grupo e para todos visualizem o que foi feito e o que ser feito por cada integrante, focando assim no que realmente importante, no nosso caso em especifico utilizamos essa reunio ao fim da tarde, sendo mais produtiva ao grupo, tanto pelo horrio de disponibilidades dos integrantes da equipe o que facilitava a resoluo dos problemas que j eram modificadas logo no dia seguinte.
d) Programao em par
Programao em par um estilo de programao, onde dois programadores desenvolvem a parte disposta a eles lado a lado, cooperando mutuamente em todos os aspectos, tirando dvidas escrevendo cdigo e principalmente corrigindo erros, trazendo sempre o conhecimento para a dupla, pois: 27
Esta tcnica implementa uma das diversas redes de proteo que os projetos XP utilizam para reduzir os riscos de eventuais falhas. Quando um programador desenvolve em par, ele conta com a presena de outro desenvolvedor que faz uma inspeo imediata de todo o cdigo que produzido (TELES, 2005, p.79).
Cada etapa do processo de desenvolvimento era divido em dois, onde eram revessados constantemente que encerravam uma Sprint (tarefa), fazendo todos interagirem com toda parte da elaborao do projeto.
e) Cdigo coletivo
Para Beck (2000), o desenvolvedor no apenas programa em par com diferentes pessoas ao longo do tempo, como tambm tem acesso a todas as partes do cdigo, inclusive aquelas que ele no programou. , por isso, que ele tem o direito de fazer qualquer alterao que considerar necessria sem ter que pedir permisso. Naturalmente, seus colegas tambm podem alterar o seu cdigo sem lhe pedir. Isso significa que todos da equipe iro interagir, fortalecendo os laos de confiana, tendo um melhor aprendizado em diferentes reas. Como essas mudanas sero primeiramente testes, ou seja, no ser feita no sistema ou na funcionalidade que esta pronta, pode-se melhorar e ser feita a automatizao com mais facilidade pelos desenvolvedores. Junto com a programao em par o cdigo, o coletivo integra a equipe que mesmo desenvolvendo algo pode dar ideias de como melhorar diferentes funcionalidades para os outros colaboradores do grupo.
f) Cdigo padronizado
Tendo em vista que, a adoo de um padro ajuda a simplificar a comunicao, a programar em par e a tornar o cdigo coletivo, da mesma forma, a prpria programao em par e a prtica de cdigo coletivo ajudam a assegurar que a equipe ir seguir o padro adotado (TELES, 2005,p.92). Caso haja inadequao no cdigo a constante reviso torna mais fcil a resoluo e como o cdigo padronizado, facilita a compreenso e o ajuste. Esse 28
padro escolhido pela prpria equipe e vai evoluindo de acordo com o grau de confiana e comunicao. Pelo fato do cdigo criado ser padronizado e comentado, deixou-se de perder muito tempo e Facilitava a compreenso ao trocar de dupla no cdigo.
g) Releases curtas
Tornar uma release o mais curta possvel, mas tambm deve conter todos os todos os requisitos que foram julgados importantes, trazendo assim foco ao trabalho, diminuindo a perca de tempo e agregando um feedback maior para o grupo que por sua vez facilitar para as outras iteraes e correes de possveis erros, vendo assim toda a criao, parte por parte do projeto.
h) Refatoramento
Verses novas tendem a destruir as velhas verses. Mas no caso do refatoramento, essas mudanas aumentam a capacidade do sistema desenvolvido e de forma iterativa ele ir se adequar as mudanas. Essa tcnica visa melhorar o cdigo existente tornando mais estruturado sem alterar a sua funcionalidade. Por isso sistemas de cdigos fceis de ler, so mais adequados para metodologias que se fundamentam tambm em iteratividade, pois com pouco esforo se melhora e modifica o sistema sem grandes riscos. Sempre sabendo que poder ter implementaes futuras.
2.4.SISPROTEGE HARDWARE
Neste tpico est descrito todas as tecnologias relacionadas parte fsica do sistema, que poder ser visualizada em sua forma detalhada para melhor entendimento da temtica proposta.
29
2.4.1. Arduino
Este projeto foi desenvolvido utilizando a plataforma a Arduno, figura 2, pela sua popularizao e facilidade na implementao de sistemas, este dispositivo ser responsvel pelo controle de sensores, controle da sirene, gerenciamento de controles remotos, discadora e tambm por gerar o estado de sensores para o PHP.
Figura 2: ARDUNO UNO R3 Fonte: www.arduino.cc
Desse modo, verifica-se que:
O Arduino uma plataforma de prototipagem eletrnica open-source, baseado em um microcontrolador que se conecta ao computador pessoal atravs de uma porta serial ou USB, dependendo do modelo utilizado. Ele possui uma linguagem de programao prpria, baseada em Wiring, que implementada em um ambiente de desenvolvimento (IDE), tambm prprio, baseado em Processing, e que pode ser utilizada em vrios sistemas operacionais. Atravs desta plataforma pode-se montar uma variedade de circuitos de forma fcil e gil, como, por exemplo, um sistema de sensores, cujos dados podem ser interpretados e utilizados pelo prprio Arduino ou repassados para um PC (personal computer, ou computador pessoal). A sua alimentao se d pela porta USB conectada ao PC ou por uma fonte externa de at 25V (INTERFACING, 2009).
A linguagem de programao do Arduino simples e sua sintaxe se assemelha muito ao C++ e ao Java. Um programa tpico possui duas funes bsicas, o void setup(), que executada logo no incio do programa, e o void loop(), que a funo executada repetidamente pelo microcontrolador. Fora elas existem diversas outras funes como por exemplo as que fazem com que um pino emita e receba sinais digitais ou analgicos. 30
O modelo do Arduino escolhido para ser utilizado neste projeto foi o Arduino UNO R3 que utiliza um microcontrolador ATMega328P com interface USB e tambm um conector de alimentao externa este nos garante recursos de sobra para a execuo do projeto.
2.4.2. PWM (Pulse Width Modulation)
Uma das funcionalidades do alarme poder gerar tipos de sinais na sirene, para isso ser utilizado uma sirene sem som sintetizado. O transdutor, figura 3, da sirene ser alimentado com uma tenso proveniente de um transistor BC337 que este ser ligado a uma porta PWM do Arduino para gerar uma frequncia em um tenso varivel at 12v, a partir da intensidade do sinal ir gerar os sons do alarme. Com isso vai baratear bastante o produto, pois no ter que adquirir uma sirene amplificada.
Figura 3 TRANSDUTOR PIEZOELTRICO
Para isso necessrio que a tenso fornecida para a sirene seja varivel, entretanto isso no seria possvel, primeira vista, utilizando puramente sinais digitais, que funcionam somente com zero ou tenso mxima. A pulse Width Modulation (PWM), ou modulao por largura de pulso, serve justamente como tcnica para obter um sinal analgico a partir de um digital:
31
Tendo um circuito que possui apenas uma chave e uma carga qualquer, quando a chave ligada passar a potncia mxima sobre a carga e quando ela est desligada a potncia ser nula. A pergunta como fazer para obter um valor diferente de potncia sobre a carga entre este valor nulo e a potncia mxima, a est o ponto em que entra a ideia do PWM (GHIRARDELLO, 2008).
O PWM consiste em um padro de rpida alternncia entre liga e desliga de um perodo T, na qual, parte do tempo ela estar em estado ativo e parte do tempo em estado desativado. Vemos assim que a potncia mdia aplicada a carga pode ser diferente dos valores digitais e que a tenso sobre a carga varia, como pode ser evidenciado na figura 4:
Figura 4 - PWM VARIANDO A TENSO MDIA. Fonte: (GHIRARDELLO, 2008)
2.4.3. Relay Shield
Inicialmente o alarme vai contar com um Relay Shield, figura 5, para fazer o controle do mdulo de automao residencial, bem como:
Ligar lmpadas; Abertura de porto eltrico; Ativao de eletrnicos de potncia.
32
Relay Shield uma placa muito verstil para o Arduino, pois permite acionar cargas em outras tenses de operao (lmpadas, motores, eletrodomsticos, mquinas, etc.). Funciona como um interruptor eletrnico, onde possvel ligar e desligar a carga pelo Arduino (WEBTRONICO, 2013).
Figura 5 Relay Shield
2.4.4. Mdulo Hbrido 433,92MHZ
O alarme ir contar com uma comunicao sem fio atravs de um mdulo hibrido na frequncia 433,92mhz, figura 6, que alm de ser um dos mais baratos com preo variando de 8 a 15 reais. A vantagem de usar esta frequncia porque proporciona compatibilidade com vrios tipos de alarmes, podendo ser codificado transmissores de controle remoto modelo HT6P20 Holtek, figura 7. Estes controles remotos so adquiridos em vrios modelos e cores alm de ser tambm um dos mais baratos chegando a um valor de 20 reais no comercio local.
33
Figura 6 Mdulo hibrido 433,92mhz
2.4.5. Transmissor de Controle Remoto Holtek HT6P20
O transmissor 433,92mhz, figura 7, se mostrou com um bom custo/beneficio alm de ser fcil de ser encontrado no comercio local, para a leitura correta do sinal foi verificado em um osciloscpio de computador, figura 8, facilitando fielmente a leitura no Arduino. Com base nessa leitura do osciloscpio o sinal foi convertido no Arduino com 95% de preciso. Segundo o manual do sinal do HT6P20 verifica-se que 1 perodo divido em uma parte baixa e uma alta do sinal, figura 9, quando a parte baixa for maior que a alta o valor do perodo, o valor do bit 1, o contrrio 0, fazendo com que gere os 29 bits, sendo que os 4 bits finais (Anticode) sero marcados com 0101.
Figura 7 Transmissor de controle remoto 433,92mhz
34
Figura 8 Sinal transmissor HT6P20 Holtek Osciloscpio Fonte: Autoria prpria
Figura 9 Codificao Holtek HT6P20 Fonte: Holtek, 2003
2.5. SISPROTEGE WEB
Neste tpico est descrito todas as tecnologias e ferramentas utilizadas no desenvolvimento do sistema de administrao Web.
2.5.1. Linguagem PHP
Alguns autores possuem opinies adversar sobre a linguagem PHP, mas trs autores se destacam por possurem conceitos que se assemelham e que deixam esse conceito claro. Segundo Barreto a linguagem PHP : 35
PHP uma linguagem que permite criar sites WEB dinmicos, possibilitando uma interao com o usurio atravs de formulrios, parmetros da URL e links. A diferena de PHP com relao a linguagens semelhantes a Javascript que o cdigo PHP executado no servidor, sendo enviado para o cliente apenas html puro. Desta maneira possvel interagir com bancos de dados e aplicaes existentes no servidor, com a vantagem de no expor o cdigo fonte para o cliente. Isso pode ser til quando o programa est lidando com senhas ou qualquer tipo de informao confidencial (BARRETO, 2000).
Tambm na viso de Hackenhaar e Cardoso (2010), a linguagem PHP surge como uma:
linguagem de programao Web PHP foi desenvolvida em 1994 por Rasmus Lerdorf. Essa linguagem utiliza um conjunto de scripts e voltada para aplicaes Web, embutido no HTML. O cdigo delimitado por tags iniciais e finais, que permitem ao programador oscilar entre o HTML e o PHP. A maneira como o PHP executado diferencia-se do Javascript, pois do lado do cliente que o cdigo executado no servidor, gerando um HTML e o cliente acaba recebendo os resultados gerados pelos scripts. Possui cdigo aberto, no se necessita da compra de licena, o programa gratuito, multiplataforma, tem acesso a banco de dados e faz o processamento de imagens ao envi-las para o navegador do usurio.
O PHP como linguagem de programao tem uma sintaxe bastante parecida como com C, Perl e Java, com o PHP possvel desenvolver:
1. Web dinmicas (websites, intranets e outros); 2. Aplicaes Destop (PHP-GTK); 3. Scripts de linha de comando; 4. Tarefas de segundo plano.
A linguagem de programao PHP Software Livre, distribudo sob uma licena na qual os usurios no so obrigados a publicar seu cdigo. A portabilidade uma das maiores vantagens do PHP, possibilitando sua instalao e configurao em diversos sistemas operacionais tais como: Linux, Mac Os X, Windows, entre outros. Segundo Soares (2011, p. 28), uma das caractersticas mais marcantes do PHP a sua capacidade de se misturar ao HTML, tornando mais fcil a gerao de pginas web dinmicas. J para a NetCraft existem mais de 20 milhes de domnios, sendo que 35% da internet usam a linguagem PHP. Umas das maiores plataforma do mundo em 36
tecnologia o Yahoo, que utiliza o PHP e chegar receber em seus servios da internet 150 mil visitantes simultaneamente.
2.5.2 Sistema Gerenciador Banco de Dados (SGBD) MYSQL
Alecrim (2008), afirma que o MySQL um dos sistemas de gerenciamento de banco de dados mais populares que existe e, por ser otimizado para aplicaes Web, amplamente utilizado na Internet. Esta aplicao muito utilizada em conjunto com a linguagem de programao Web PHP, disponvel em vrios sites de hospedagem de pginas, pois tem um bom desempenho em conjunto. O MySQL um SGBD, um sistema de gerenciamento de banco de dados, que por sua vez usa a linguagem SQL (Structured Query Language) e conhecido por sua facilidade de uso, sendo utilizada por diversas empresas tais como Facebook, Google, Adobe e Alcatel. Sua interface simples, e tambm sua capacidade de ser executado em vrios sistemas operacionais, cdigo aberto, so alguns do motivo para este SGBD ser to usado atualmente, e seu uso estar crescendo cada vez mais. Algumas das vantagens do Mysql em relao a outros bancos de dados do mesmo porte: tem uma facilidade maior para programao, tm funes mais simples, cdigo-aberto e compatvel como com diversas linguagens de programao. A seguir, algumas das principais caractersticas existentes no MySQL:
1. Portabilidade (suporta praticamente qualquer plataforma atual); 2. Pouco exigente quanto a recursos de hardware; 3. um software livre; 4. Compatibilidade (existem drivers ODBC, JDBC, .NET e mdulos de interface para diversas linguagens de programao, como Delphi, Java, C, C++, Python, PERL, PHP e Ruby); 5. Facilidade de uso; 6. Excelente desempenho e estabilidade.
37
2.5.3. Servidor Web Apache
Segundo informaes do projeto Apache (APACHE, 2013), o apache uma aplicao desenvolvida que utiliza o conceito de software open source. Este conceito visa o desenvolvimento de software sem fins lucrativos e mantidos por uma comunidade de desenvolvedores. Abaixo seguem algumas caractersticas que tornaram este servidor de pginas Web muito atrativo:
a) Suporte para plataformas open source e proprietrias; b) Sem custos para sua utilizao; c) Estruturao em mdulos; d) Suporte a vrias linguagens: PHP, PERL, HTML, PYTHON; e) Controle de acesso e encriptao utilizando certificados digitas, SSL, entre outros.
2.5.4. Design Web Responsive
Segundo Zemel (2012), o Web Design Responsivo pensar em pginas que se adaptem a todo tipo de dispositivo e contexto de uso. sair das limitaes de um navegador de computador pessoal e seu tamanho previsvel, e pensar em pginas com flexibilidade que suportem todo tamanho de tel a, qualquer tipo de resoluo, interfaces com touch ou mouse. Kinight (2011) afirma que Web Design Responsivo uma prtica consiste em uma mistura de redes flexveis e layouts, imagens e o uso inteligente de consultas de mdia CSS. Como o usurio muda a partir de seu laptop para dispositivo mvel, o site deve mudar automaticamente para acomodar resoluo, tamanho da imagem e capacidades de script. Ainda segundo Knight (2011), o site deve ter a tecnologia para responder automaticamente s preferncias do usurio. Isso eliminaria a necessidade de uma concepo diferente e fase de desenvolvimento para cada novo aparelho no mercado. 38
Web Design Responsivo desenvolver um site de forma que os elementos que compe o mesmo, adaptam-se automaticamente larguras de tela do dispositivo no qual ele est sendo visualizado, ou seja, criar sites flexveis que ofeream excelentes experincias de uso em qualquer plataforma. Desse modo, um design responsivo inclui:
1. Adaptar o layout da pgina de acordo com a resoluo em que est sendo visualizada; 2. Redimensionar as imagens automaticamente para que caibam na tela e para que no sobrecarreguem a transferncia de dados em um celular, por exemplo; 3. Simplificar elementos da tela para dispositivos mveis, onde o usurio normalmente tem menos tempo e menos ateno durante a navegao; 4. Ocultar elementos desnecessrios nos dispositivos menores; 5. Adaptar tamanho de botes e links para interfaces touch(toque) onde o ponteiro do mouse substitudo pelo dedo do usurio; 6. Utilizar de forma inteligente recursos mveis como geolocalizao e mudana na orientao do aparelho (horizontal ou vertical).
2.5.5. Ferramentas Utilizadas
A seguir sero descritos as ferramentas utilizadas para desenvolvimento do sistema Web.
a) ASTAH COMMUNITY
Astah Community uma ferramenta add-on para a UML que est pronto para usar no instante em que voc baix-lo, permitindo que a UML seja rpida e facilmente reforada. Uma ferramenta prtica e simples de usar, para a modelagem UML de criao de diversos tipos de diagramas sendo uma ferramenta add-on, ou seja, utiliza caractersticas originais, facilitando o que ela props. 39
b) PHPMYADMIN
PhpMyAdmin um software livre desenvolvido em PHP para administrao do MySQL pela Internet. A partir deste software livre possvel criar e remover bases de dados criar, remover e alterar tabelas, inserir, remover e editar campos, executar cdigos SQL e manipular campos chave, alm disso, o programa de computador muito utilizado por programadores web que muitas vezes necessitam manipular bases de dados.
c) ADOBE DREAMWEAVER
O Adobe Dreamweaver fornece uma interface visual intuitiva para a criao e a edio de sites, alm de compatibilidade atualizada com os padres da Web. Enquanto que, o Dreamweaver um programa de computador com o objetivo de oferecer uma ferramenta para modelagem de pginas da internet, onde se pode trabalhar com vdeos, imagens, textos e muitos outros elementos para a web. Adobe Dreamweaver o famoso aplicativo de web design desenvolvido pela gigante Adobe, com o objetivo de oferecer uma ferramenta para a modelagem de pginas da internet. O programa conta com uma interface limpa e simplificada, com ferramentas e recursos de edio visual e suporte completo ao HTML5, CSS3 e jQuery.
d) BRMODELO
A ferramenta utilizada neste trabalho para fazer o DER o brModelo que um programa freeware (software gratuito) voltado para o ensino da modelagem no banco de dados relacional desenvolvida e defendida por Carlos A. Heuser. Esta foi a verso 1, com o tempo e recebendo alguns e-mails parabenizando sobre a ferramenta e a ajuda da dela na faculdade, foi feita a verso 2 aprimorada e disponibilizada juntamente com o seu cdigo fonte.
40
3 METODOLOGIA
Apresentam-se neste capitulo os procedimentos metodolgicos cientficos utilizados para a realizao da pesquisa, partindo-se do problema, objetivos e finalizando com a apresentao de um documento padro. Para desenvolver os objetivos e resolver a problemtica, foram definidos aes sobre os fatores que norteiam a importncia dada a criao SISPROTEGE alarme inteligente e automao residencial controlado pela internet, que busca uma maior comodidade e praticidade de maneira acessvel ao usurio.
3.1. PESQUISA DE CAMPO E BIBLIOGRFICA
A pesquisa de campo tem como objetivo principal, responder ao problema pesquisado de forma que envolva desde o estudo de opinio dos entrevistados at os aspectos peculiares a realidade a sua volta (GIL, 1991). A vantagem desse tipo de pesquisa que traz elementos sempre atuais e novidades recentes, o que d ao trabalho um referencial social e humano do contexto pesquisado (FURAST, 2007, p. 35). Dessa forma, Gil (1991) destaca que esse tipo de pesquisa se resume, dentre outros aspectos, a analisar, explicar e interpretar os dados coletados, tudo de forma fidedigna e sem qualquer tipo de alterao ou interferncia, pois os dados coletados refletem a opinio dos investigados. Portanto, a pesquisa de campo foi utilizada para a coleta dos dados acerca do objeto investigado, possibilitando, assim, compor informaes que refletissem os fatores relacionados s questes propostas para responder a problemtica central estabelecida para este estudo. Quanto pesquisa bibliogrfica Marconi; Lakatos (2007, p. 33) descreve que a que
abrange a leitura, anlise e interpretao com base em material j elaborado, constitudo principalmente de livros, artigos, peridicos, entre outros, cujo objetivo conhecer as diferentes contribuies cientficas disponveis sobre o tema em questo com tripla finalidade: desenvolver hipteses, aumentar a familiaridade do pesquisador com um ambiente, fato 41
ou fenmeno para a realizao de uma pesquisa futura mais precisa ou modificar e clarificar conceitos.
Para Furast (2007, p. 27) por meio da pesquisa bibliogrfica pretende-se atender aos objetivos do autor, uma vez que precisa ir ao encontro da soluo para o problema levantado. Esse tipo de pesquisa possibilitou construir um marco terico essencial para a compreenso de tema explorado nesse estudo, pois quanto mais completas e abrangentes forem as fontes bibliogrficas consultadas, mas rica e profunda ser a pesquisa (GIL, 2010, p. 27).
3.2. ABORDAGEM QUALI-QUANTITATIVA
A pesquisa qualitativa considera que h uma relao dinmica entre o investigador e o sujeito investigado, isto , um vnculo indissocivel entre o mundo objetivo e a subjetividade do sujeito que no pode ser traduzido em nmeros, de modo que:
Os movimentos em torno da pesquisa qualitativa buscam confrontar-se com os excessos da formalizao, mostrando-nos que a qualidade menos questo de extenso do que de intensidade. Deix-la de fora seria deturpao da realidade (DEMO, 2000, p. 29).
Esta abordagem determina a qualidade do sujeito e/ou objeto investigado, para tanto, tem vocao para mergulhar na profundidade dos fenmenos de forma compreensiva, abrindo-se para apreender e pesquisar a realidade alicerada no consenso obtido da percepo de vrios indivduos diante de um mesmo fenmeno, leva em conta toda a sua complexidade e particularidade. No almeja alcanar a generalizao, mas sim o entendimento das singularidades. Com a pesquisa quantitativa buscou-se coletar os dados que serviram de base para iniciar a pesquisa. Segundo Cervo, Bervian e Da Silva (2007) a pesquisa quantitativa realiza descries precisas da situao e quer descobrir as relaes existentes entre os elementos e componentes. Quanto pesquisa quantitativa ela possibilita, segundo Chizzotti (2003, p. 51), reunir, de forma criteriosa, tcnicas e a confeco de instrumentos adequados de registro e leitura dos dados colhidos em campo, e, como tal, centra sua importncia 42
na medida em que prev a mensurao de variveis pr-estabelecidas, de forma a verificar e explicar sua influncia sobre outras variveis, utilizando-se para isso, da anlise da frequncia de incidncia e de correlao estatstica. Para Andrade (2010), a utilizao da pesquisa quantitativa importante porque, alm de prev a mensurao de variveis pr-estabelecidas, ela busca, o conhecimento por meio do mtodo das cincias da natureza que centra-se na rigorosidade e comprovao cientfica. Em se tratando disso, Gil (2010, p. 26) evidencia que a utilizao da pesquisa quantitativa em trabalhos cientficos justifica-se por:
Submeter um fato experimentao em condies de controle e apreci-lo coerentemente, com critrios de rigor mensurando a constncia das incidncias e suas excees e admitindo como cientficos somente os conhecimentos possveis de apreenso em condies de controle, legitimados pela experimentao e comprovados pela mensurao.
Sendo assim, essa abordagem foi utilizada para tratar os dados coletados e, desta forma compor estatisticamente os fatores predominantes relacionados ao ambiente investigado.
3.3. TIPO DE PESQUISA
Quanto aos objetivos esta pesquisa exploratria por que tem como objetivo proporcionar maior familiaridade com o problema, com vistas a torn-lo mais explcito ou a construir hipteses (TEIXEIRA, 2007, p. 78) visando o aprimoramento de ideias ou a descoberta de intuies, por isso, bastante flexvel, pois a proposta possibilitar a considerao dos mais variados aspectos relativos ao fato estudado. Neste contexto a pesquisa exploratria do ponto de vista de seus objetivos, conforme aponta Gil (2008) O objetivo de uma pesquisa exploratria familiarizar-se com um assunto ainda pouco conhecido, pouco explorado. Assim, ao final de uma pesquisa exploratria, busca-se conhecer mais sobre aquele assunto por ser um tipo de pesquisa muito especfica ela assume caractersticas de estudo de caso e bibliogrfica.
43
3.4. MTODOS
Fez-se uso do mtodo Analtico e hermenutico que trabalha por meio de evidncias documentadas por meio de estudos e facilita a interpretao e o aproveitamento das opinies e resultados obtidos ao longo do processo. O Mtodo Analtico caracteriza-se pelas anlises contnuas durante o processo, como define Gil (1994, p. 35), deve se valer em mais de um momento de observao, dando a quem observa uma maior preciso dos fatos. O mtodo hermenutico identifica os fundamentos para ratificar ou retificar o que se esta pesquisando, usando processos interpretativos facilitando a interpretao e o aproveitamento das opinies e resultados obtidos ao longo do processo.
3.5. POPULAO E AMOSTRA
O universo corresponde, segundo Marconi e Lakatos (2007, p. 108), toda a populao que o pesquisador possui para extrair a amostra. Sendo assim, a populao que se tem disponvel para selecionar a amostra necessria para que o estudo seja realizado. Em se tratando disso, a pesquisa foi realizada na sede do municpio de Boa Vista, Estado de Roraima/BR, com pessoas comuns da sociedade e de diversas classes sociais. Neste caso, abrangeu uma populao alvo de possveis consumidores. E teve como amostra 10 pessoas da sociedade de diversas classes sociais. Dentre os participantes da pesquisa, optou-se por trabalhar com aqueles que se dispuseram a responder as perguntas.
3.6. INSTRUMENTO DE MEDIDA
Dos instrumentos para coleta de dados sugeridos o mais apropriado o questionrio, pois uma vez instrutrurado por questes relativas a natureza do tema 44
possibilita o registro e anlise dos dados que comporo os resultados estabelecidos, conforme ensina Marconi e Lakatos (2007). Sendo assim, o questionrio um instrumento de coleta de dados que permite ao pesquisador obter informaes sobre conhecimentos diversos a respeito de uma determinada realidade, pois:
uma tcnica de investigao composta por um conjunto de questes que so submetidas a pessoas com o propsito de obter informaes sobre conhecimentos, crenas, sentimentos, valores, interesses, expectativas, aspiraes, temores, comportamento presente ou passado, etc. Construir um questionrio consiste basicamente em traduzir objetivos da pesquisa em questes especficas. (GIL, 2010, p. 121).
Como se pode verificar, o questionrio consiste num documento que tem a funo de proporcionar os dados requeridos, por meio das questes elaboradas e aplicadas, para descrever as caractersticas e informaes gerais da populao, amostra da realidade pesquisada, bem como testar hipteses previamente elaboradas (GIL, 2010). Com base nisso, foi aplicado, junto aos sujeitos da pesquisa, um questionrio estruturado contendo um total de sete questes fechadas objetivando responder ao problema de pesquisa outrora levantado.
45
4. ANALISE E DISCUSSO DOS RESULTADOS
4.1. QUESTIONRIO APLICADO AO POSSVEL CONSUMIDOR
N Perguntas Respostas Quanti dades % 01 Voc possui algum tipo de alarme em sua residncia?
Sim
No
03
07
30%
70% 02 Voc como consumidor, acredita que os alarmes so acessveis?
Sim
No
04
06
40%
60% 03 Em sua opinio o valor de um alarme residencial custa em media quanto para uma residncia com 5comudos?
Ate 800,00 reais
Ate 1.500,00 reais
Ate 2.000,00 reais
01
06
03
10%
60%
30% 04 Sabendo que os servios de monitoramentos feito por empresas especializadas so em grande maioria caros. O que voc acha de um alarme residencial que seja monitorado pelo prprio cliente?
Bom
timo
Ruim
02
07
01
20%
70%
10% 05 Quais as dificuldades encontradas para obteno de um alarme residencial?
Falta de recursos financeiros
Custo elevado do monitoramento
Falta de uma empresa confivel
04
06
0
40%
60%
0% 06 A grande quantidade de assaltos em residncias acontece por falta de segurana, voc confia em sistema de alarme e monitoramentos feitos por empresas especializadas?
Sim
No
09
01
90%
10% 07 O alarme um meio utilizado para inibir e tirar a viso de infratores dos estabelecimentos residenciais. Baseado nisso voc instalaria esse tipo de sistema em sua casa?
Sim
No
10
0
100%
0% Fonte dados coletados pelos pesquisadores - 2013 46
Ao analisar as respostas do questionrio, buscamos refletir sobre as mesmas para entender como pensa o mercado consumista com relao aos alarmes residenciais e seus servios de monitoramento. Desta forma buscamos sugerir um alarme inteligente e automao residencial controlado pela internet e partindo desta nova opo verificar como o usurio se comporta ao ter um produto que possa dar - lhe uma maior comodidade e praticidade de maneira acessvel. Os resultados obtidos na pesquisa foram satisfatrios e levaram a uma ampla viso dos comportamentos dos possveis usurios de alarmes e da acessibilidade deste produto em suas residncias. Notou-se que a maioria dos entrevistados tem inteno de obter um alarme para suas residncias, mas a maioria aponta como uma das dificuldades encontradas para obteno de um alarme residencial, o fato do alto custo do monitoramento. Diante disto surge a ideia de criar o SISPROTEGE, como forma de trazer comodidade e acessibilidade ao usurio. Tambm para a reduo dos gastos do consumidor, sugerimos um sistema aonde o prprio usurio possa fazer seu monitoramento por meio de telefones moveis e da internet, desta forma buscamos levar este produto ao mercado de modo que possibilite ao usurio conhecer e ter a sua disponibilidade um alarme inteligente capaz de monitoramento da sua residncia a distancia de modo que possibilite a economia de energia por meio do uso da plataforma Arduino.
4.2 DESENVOLVIMENTO DO ALARME SISPROTEGE
A construo do alarme SISPROTEGE iniciou-se partindo da reviso bibliogrfica sobre tecnologia e equipamentos que poderiam ser usadas no desenvolvimento deste projeto aonde verificou-se que a manipulao dos microcontroladores exige conhecimentos avanados em eletrnica, partindo dessa analise destacou-se que a plataforma Arduino que proporciona um ambiente completo para a construo de sistemas microcontrolados por desenvolvedores com conhecimento bsico em eletrnica. Partindo desses estudos, constatou o uso das seguintes tecnologias:
Plataforma Arduno; 47
Linguagem de programao PHP; Servidor Web Apache; SGBD MYSQL; Sensores para alarmes; Modulo Hbrido 433,92mhz wireless; Design Web Responsive.
No decorrer da primeira etapa, foram adquiridos: Arduino UNO, sensores de infravermelhos, Relay Shield. Na segunda etapa, desenvolveu-se uma verso dos algoritmos do Arduino. Em seguida, foi desenvolvido um sistema Web para administrao das funcionalidades do sistema presente no Arduino. Este sistema permitir a interao entre o usurio e o alarme. Na quarta etapa, foi desenvolvido um protocolo simples para a comunicao USB (Universal serial bus) para fazer a integrao de hardware e software. Por fim, a ultima etapa, aps a agregao das partes, criou-se o SISPROTEGE. Instalou o sistema na bancada para verificar o funcionamento do mesmo.
4.2.1. SisProtege Hardware
Este tpico se refere a metodologia empregado no desenvolvimento da parte fsica do sistema (Hardware), para isso ser explanado algumas tecnologias que esto ligadas a este desenvolvimento.
4.2.1.1. Microcontroladores
Segundo Pereira (2013), microcontrolador, figura 10, um chip que integra em um mesmo encapsulamento, a unidade central de processamento (UCP), unidade lgica e aritmtica (ULA), circuitos de suporte, memrias e perifricos. Um microcontrolador frequentemente referido como um computador num nico chip. 48
Figura 10 Microcontrolador AVR ATMEGA328p
Para o funcionamento de um microcontrolador preciso de alguns componentes eletrnicos, como reguladores de tenso, cristais de frequncia entre outros. Por isso foi feito o uso da plataforma Arduino, este j possui um hardware com todos os componentes necessrios para funcionamento do microcontrolador, alm de j est bastante expandindo no mercado com bibliotecas de cdigos e exemplos que facilitam o desenvolvimento de qualquer sistema que use microcontroladores.
4.2.1.2. Arduino Uno R3
Inicialmente o hardware do alarme ser desenvolvido utilizando a plataforma Arduino, especificamente Arduino UNO R3 por ter recursos de sobra para a concluso deste projeto, bem como um Relay Shield, figura 4, para acionamentos de dispositivos eltrico/eletrnicos presentes na residncia. Ambos trabalharo em conjunto para executar tarefas referentes automao residencial. Segundo Arduino (Home page), o Arduino UNO R3 possu as configuraes que esto na tabela 3.
Microcontroller ATmega328 Operating Voltage 5V Input Voltage 7-12V 49
(recommended) Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz TABELA 3 CONFIGURAO ARDUNO
Esta configurao de hardware mesmo sendo modesta, permite a execuo de todas as funes, at mesmo um processamento paralelo, com uma tima preciso para anlise dos dados e com pinos de entradas e sadas disponveis para que o alarme possa monitorar vrios setores. O Arduino ser responsvel por administrar sensores, analisar controles, efetuar disparo, gerar sons da sirene, gera estado de sensores para a interface Web, alm de contar tempo utilizando os relgios internos. Itens como Interrupes internas e externas, timmers, PWM e outros recursos avanados sero amplamente utilizadas para execuo de todas as tarefas executadas no Arduino para que no haja perda de desempenho. O Arduino uma plataforma de cdigo aberto tanto no hardware como no ambiente de desenvolvimento de software, ele possui uma Interface de Desenvolvimento IDE multiplataforma, figura 11, que pode ser usado em diferentes sistemas operacionais, Windows, Linux, Mac OS. Esta IDE permite o desenvolvimento dos algoritmos e a gravao deste sistema diretamente no microcontrolador.
50
Figura 11 IDE da plataforma Arduino.
4.2.1.3. Sirene
A sirene escolhida para este alarme uma sirene simples sem som sintetizado, ou seja, sem som amplificado. O som do alarme ser gerado no prprio Arduino utilizando a funo Tone(). Esta funo capaz de mudar a frequncia do sinal de sada, para isso, esta funo recebe um valor como parmetro da frequncia e o Arduino gera um sinal de sada na frequncia passada pelo parmetro. Este sinal proveniente do Arduino tem uma corrente muito baixa, por isso no possvel gerar som diretamente do Arduino para a sirene. Para usar este sinal na sirene necessrio usar um transistor amplificador. O transistor que foi utilizado para amplificar este sinal o BC337, figura 12, este possui a possibilidade de conduzir uma corrente suficiente para amplificar uma sirene. O esquema, figura 13, est mostrando a ligao entre transistor e Arduino. Para proteger a porta de sada do Arduino e limitar a corrente na base do BC337 foi utilizado um resistor 1k2 OHM entre a base do transistor e o pino de sada do Arduino. Nesta mesma figura demonstra trs fios que sero utilizados para fazer a ligao da sirene. Segue as seguintes cores dos fios e funcionalidades: 51
Preto Terra; Amarelo Sinal Amplificado; Vermelho Alimentao 12v.
Figura 12 Transistor BC337
Figura 13 Ligao do Transistor BC337 para amplificao da sirene
4.2.1.4. Proto Shield
Para que o hardware seja incorporado em uma nica pea, ser utilizado um Proto Shield, figura 14, compatvel com Arduino. Este acessrio servir de encaixe 52
no Arduino Uno e todos os componentes sero soldados nesta, com isso todos os componentes funcionaro como um, deixando a impresso de que s existe uma pea em funcionamento. Sem o Proto Shield seria feito a ligao em uma Proto Board, figura 15, utilizando vrios fios e no ficaria nem um pouco atrativo, diferente de um projeto construdo em uma Proto Shield, figura 16.
Figura 14 Proto Shield
Figura 15 Arduno e Proto Board 53
Figura 16 Arduino e Proto Shield
4.2.1.5. Relay Shield
Toda a automao residencial do sistema ser administrada por uma placa de rels, figura 5, onde estes faro o acionamento de cargas de correntes altas, como ligamento de lmpadas e acionamento de porto eletrnico. Para isso, este Relay Shield ser ligado placa do Arduino por meio de ligaes com fios (Jumpers), na mesma forma da figura 15.
4.2.1.6. Sensores
No existe alarme sem sensores, por isso os sensores utilizados neste projeto so sensores de infravermelho passivo. O proposito deste alarme poder desligar a alimentao eltrica dos sensores quando o alarme estiver desligado e efetuar o inverso quando ligar o alarme para que no haja desperdcio de energia. Para que essa regra de negcios funcione preciso programar um acionador de alimentao, que neste caso ser usado um transistor Mosfet IRLZ44N, figura 17. Este transistor ser responsvel por alimentar os sensores quando o alarme for ligado, levando em considerao que o manual deste sensor diz que o sensor passa dois minutos para 54
estabilizar depois que foi ligado para que no ocorra disparo falso e atravs dos Timmers do Arduino, especificamente o Timer 1, que conta exatamente dois minutos para haver de fato um disparo, ou seja, quando o alarme liga, o sensor pode detectar uma presena mas o alarme no entra em disparo, somente dois minutos aps o ligamento do alarme que ele de fato pode disparar, este o tempo que o alarme espera os sensores estabilizarem. Um IRLZ44N pode alimentar simultaneamente mais de 40 sensores.
Figura 17 Transistor Mosfet IRLZ44N
4.2.1.7. Resultado
Com a juno de todas estas tecnologias e com o conhecimento adquirido pelas pesquisas bibliogrficas foi possvel desenvolver um hardware, figura 18, 19 e 20, que pudesse fazer transmisso de dados com o computador. Realizando com isso um alarme controlado pela internet que necessita de um computador servidor para administrar o Arduino e a aplicao Web que ser demonstrado nos tpicos a seguir. Todo o cdigo fonte est disposto no Apndice B, que poder ser melhorado conforme a necessidade do usurio. Podemos citar o domnio do uso de interrupes de software que foi a grande conquista neste projeto, pois este quesito se mostrou pouco conhecido no meio acadmico e estudantes em geral, isto facilitou bastante o desenvolvimento deste hardware que se fosse feito de outro modo iria triplicar a complexidade deste sistema de alarme. 55
Figura 18 SISPROTEGE HARDWARE 1
Figura 19 SISPROTEGE HARDWARE 2
56
Figura 20 SISPROTEGE HARDWARE 3
4.2.2. SisProtege Web
A interface Web que responsvel por administrar as funes do hardware do alarme abrange as seguintes funcionalidades:
Inserir, alterar e excluir usurios; Cadastrar e zerar controles remotos; Ligar e desligar alarme; Desativar sinalizao da sirene; Ligar e desligar portas de automao; Enviar sinal porto eletrnico.
A seguir, sero explanadas algumas telas do sistema web em 2 modos, normal e Web Responsive para demonstrar as funcionalidades do sistema. Na figura 21 e 22 segue a imagem da tela de autenticao no sistema, uma vez que feito a autenticao, o usurio autenticado far parte de uma sesso para que possa ter acesso as funcionalidades do sistema. Este um recurso bsico de segurana que 57
restringe o acesso de usurios no permitidos s paginas de controle do alarme. Nesta pgina contem um boto Sair, que encerra a sesso e redireciona para a pgina de autenticao.
Figura 21 Autenticao SISPROTEGE WEB 58
Figura 22 Autenticao Web Responsive
A figura 23 e 24 demonstra a pgina principal do sistema, onde possvel ligar ou desligar alarme, gerenciar automao, abrir porto eletrnico, desativar sirene, entre outros. Ressaltando que no canto superior direito tem uma imagem Protegido, isto diz que o alarme est ligado, se estivesse desligado estaria Desprotegido.
59
Figura 23 Pgina principal
Figura 24 - Pgina principal Web Responsive
A figura 25 e 26 mostra a pgina de Eventos, esta foi feita para adicionar no banco de dados todos os eventos de disparo gerados pelo alarme, para isso ser 60
possvel o alarme envia uma informao por meio da porta USB (Universal Serial Bus) que ser monitorada pelo sistema web, quando receber esta informao o sistema deve fazer o tratamento e guardar no banco de dados o respectivo evento.
Figura 25 Pgina de Eventos
Figura 26 - Pgina de Eventos Web Responsive 61
Figura 27 Pgina de Configurao
Figura 28 Pgina de Configurao Responsive
62
A figura 27 e 28 mostra a pgina das configuraes do sistema, onde possvel cadastrar controles, zerar controles, cadastrar usurios e configurao da porta USB.
4.2.3. Comunicao entre sistemas
Este tpico se prope mostra a forma de comunicao entre sistema Web e Arduino. Segundo Collucci (2013), enviar bits de forma sequencial por um fio ou barramento chamado de comunicao serial, um meio muito utilizado para comunicao entre dispositivos. Existem diversas tecnologias de comunicao serial como RS-232, USB, FireWire, Fibre Channel, SCSI dentre outros. Todas as placas do Arduino possuem ao menos uma porta de comunicao Serial (chamadas de UART ou USART), nos pinos digitais 0 (RX) e 1 (TX), e boa parte deles pode se comunicar com um computador via USB. Utilizando este recurso do Arduno criou-se uma comunicao com o computador simplesmente escrevendo uma informao na porta de comunicao USB do computador e analisando essa informao no Arduno. Para que essa tcnica funcione preciso escrever na mesma porta que o Arduno est conectada. Na figura 29, podemos analisar os comandos (protocolo), para que o Arduno consiga entender as funcionalidades enviadas pela interface Web.
Figura 29 Protocolo SISPROTEGE
Quando escrito algum caractere descrito na figura 29 na porta de comunicao USB que est conectado o Arduno o alarme ir responder com a devida funcionalidade. Isto foi necessrio tanto para deixar o hardware com fcil integrao com outros sistemas e tambm para o desenvolvimento em equipe. 63
5. CONSIDERAES FINAIS
Este trabalho apresentou a elaborao de um prottipo de um sistema de alarme utilizando a plataforma Arduino. O trabalho surgiu aps a constatao de que os alarmes monitorados tm um preo no muito acessvel aos consumidores, levando este tipo de segurana a um pblico especfico. O SisProtege um sistema que foi projetado para famlias independentes de classe, que no podem arcar com as despesas de um sistema de monitoramento de cmeras, props-se a construo de um sistema de alarme monitorado pela internet. Apesar de o SisProtege ter como requisito um computador pessoal ligado por 24 horas na residncia, o mesmo garante que no ter gastos excessivos com energia uma vez que o consumo de um computador de mesa popular consome cerca de 150 Watts. Em contrapartida a este requisito proposto o uso de mini- computadores, tais como Raspberry que possuem um consumo de energia extremamente baixo e com preo bem acessvel, vale tambm salientar que este computador servir tambm para as tarefas dirias do usurio. Com o SISPROTEGE, o usurio poder monitorar o alarme da residncia em tempo real em qualquer lugar do mundo (rua, trabalho, viagem) pela internet, alm de poder ligar ou desligar lmpadas e fazer a abertura de porto eletrnico. O sistema ser totalmente compatvel com sensores e controles remotos presentes nos alarmes comuns, garantindo assim a facilidade na implementao, uma vez que os acessrios so facilmente encontrados no comercio local. Os testes realizados na bancada se mostraram bastantes estveis, garantindo assim a implantao em uma residncia. Seu custo se mostrou bastante acessvel em comparao aos alarmes deste tipo presentes no comercio geral. A plataforma Arduno e a linguagem PHP so de cdigo aberto o que garante baixo custo na aquisio deste equipamento. Com base no protocolo desenvolvido, figura 29, o alarme garante a integrao de outros sistemas para a comunicao com o mesmo. Como pontos negativos deste projeto, podemos citar a inexistncia de uma comunicao com GSM (operadoras de celular) ou discadora de telefones de modo a avisar o usurio quando o alarme detectar um intruso na residncia. Por fim, como sugestes para trabalhos futuros: 64
Com relao aos algoritmos desenvolvidos para o Arduno, sugere-se criar funcionalidades para o cadastro de controles, monitoramento de temperatura do ambiente;
Com relao ao sistema Web, sugere-se desenvolver um mecanismo que guarde no SGBD as ocorrncias de disparos ocorridas no alarme. 65
REFERNCIAS
ANDRADE, Maria Margarida de. Introduo Metodologia do Trabalho Cientfico. 10. ed. So Paulo: Atlas, 2010.
BECK, Kent: Manifesto para o desenvolvimento gil de software, disponvel em:http://manifestoagil.com.br/ http://www.c2.com/cgi/wiki?ExtremeRoles, Acesso em : 26 de Nov. 2013
BOEIRA, Marcelo: O que Raspberry Pi ?, disponvel em: http://blog.marceloboeira.com/raspberry-pi/o-que-e-raspberry-pi/. Acesso em: 30 ago. 2013
COLLUCCI, Anthony, Comunicao Serial com Arduno, 2013. Disponvel em: http://amcollucci.com.br/2013/07/15/comunicacao-serial-com-arduino/
CUNNINGHAM, Ward: Extreme Programming, disponvel em: http://www.c2.com/cgi/wiki?ExtremeProgramming, Acesso em : 4 de Out. 2013
CUNNINGHAM, Ward: Extreme Roles, disponvel em: http://www.c2.com/cgi/wiki?ExtremeRoles, Acesso em : 4 de Out. 2013
CHIZZOTTI, Antonio. Pesquisa em cincias humanas e sociais. 6. ed. So Paulo: Cortez, 2003. (Biblioteca da educao. Srie 1. Escola; v. 16)
DEMO, P. Metodologia do conhecimento cientfico. So Paulo: Atlas, 2000.
FRIZZARIN, Fernando Bryan: Usando o sensor de umidade e temperatura DHT11, disponvel em: http://www.seucurso.com.br/index.php?option=com_content&view=articl e&id=231:us 66
FURAST, Pedro Augusto. Normas Tcnicas para o Trabalho Cientfico: Elaborao e Formatao. Explicitao das Normas da ABNT. 14. ed. Porto Alegre: s.n., 2007.
GHIRARDELLO, A. Apostila sobre Modulao PWM. 2008. Disponvel em: http://www.eletronica.org/arq apostilas/apostila pwm.pdf. Acesso em: 20 nov. 2009.
GIL, Antnio Carlos. Como elaborar projetos de pesquisa. So Paulo:Atlas, 1991; 2007.
____. Mtodos e Tcnicas de Pesquisa Social. 6. ed. 3. reimpr. So Paulo: Atlas, 2010.
HACKENHAAR, Jonathan; CARDOSO, Tatiana. Um comparativo entre PHP e JSP: definindo a melhor aplicao para o desenvolvimento de projetos web., Revista iTEC Vol. I, No 1, 2010.
HOLTEK, HT6P20X Series 224 OTP Encoder. 2003. disponvel em: http://pdf1.alldatasheet.com/datasheet-pdf/view/85416/HOLTEK/HT6P20B.html
KNIGHT, Kayla, Responsive WebDesign: What It Is and How To Use It, 2011. Disponvel em: http://coding.smashingmagazine.com/2011/01/12/guidelines-for- responsive-web-design/ Acesso em: 25 Nov. de 2013
LAKATOS, Eva Maria; MARCONI, Marina de Andrade. Fundamentosde Metodologia Cientfica. So Paulo: Atlas, 5 ed. 2003; 2007.
NETTO, Daniel, O uso do Raspberry Pi pelos profissionais de eletrnica, Saber Eletrnica, v. 468, n. 1, p. 12-20, mar/abr, 2013.
pinMode(sirene, OUTPUT); pinMode(pinMosfet, OUTPUT); pinMode(sen, INPUT_PULLUP);//configura como entrada em nivel alto pinMode(power, OUTPUT); pinMode(pinoRx, INPUT);
if(currentMillis - previousMillis> intervalo) { if ((onOFF == 1) & (senOK == 1)){ // ESTE TRECHO DE CDIGO FAZ COM QUE O LED DA PORTA 13 FIQUE LIGANDO E DESLIGANDO A CADA 1 SEGUNDO SE O ALARME ESTIVER ATIVADO digitalWrite(13, !digitalRead(13)); } previousMillis = currentMillis; }
// ONOFF A VARIVEL QUE DIZ SE O ALARME EST LIGADO OU DESLIGADO if (onOFF == 1){ if ((digitalRead(sen) == LOW) & (senOK == 1) & (disp == 0)){ //VERIFICA SE O ESTADO DO SENSOR EST EM ALTO, SE ESTIVER QUER DIZER QUE OUVE DISPARO disp = 1; // EM ALGUM DOS SENSORES Timer1.initialize(1000000); // seta o Timer1 para disparar interrupo a cada 1 segundo Timer1.attachInterrupt( timerIsr ); // seta uma interrupo por estouro de timer } }
/// SE DISP == 1, A VARIVEL QUE INDICA QUE O ALARME EST EM DISPARO if (disp == 1){ sireneSOM(2); }
if (serialOK == 1) { //FLAG SERIAL, SE ESTIVER IGUAL A 1 QUER DIZER QUE CHEGOU SINAL NA USART releShield(rByte); serialOK = 0; rByte = 0; 71
}
if (sinal == 1){ // ESTA FLAG DIZ QUE CHEGOU UM DADO DE CONTROLE REMOTO NO MODULO HIBRIDO detachInterrupt(0); // DESATIVA A INTERRUPAO 0 ligaDesliga(); sinal = 0; dadoLido = 0; attachInterrupt(0, trataInterrupcao, RISING); //Habilita interrupo pino 2 na borda de descida } }// FIM LOOP
voidescreveStringUSART(const String esc){ for (int i = 0; i = esc.length(); i++){ USART_Transmit(esc[i]); } }
String stringEstados(){ String est = ""; // (1) se esta em disparo // (2) ligado // (3) iniciando sensores // (4) porta 1 rele shield // (5) porta 2 rele shield // (6) porta 3 rele shield // (7) porta 4 rele shield PORTAO ELETRICO, LIGA POR 1 SEGUNDO E DESLIGA
est[0] = disp; est[1] = onOFF; est[2] = senOK;
if (digitalRead(p1) == HIGH) est[3] = 1; elseest[3] = 0;
if (digitalRead(p2) == HIGH) est[4] = 1; elseest[4] = 0;
if (digitalRead(p3) == HIGH) est[5] = 1; elseest[5] = 0;
if (digitalRead(p6) == HIGH) est[6] = 1; elseest[6] = 0;
charavr_Usart_Write_String(char* txData) { char success = 0; int i = 0;
// While not end of transmit string while(txData[i] != '\0') { // Print string one char at a time USART_Transmit(txData[i]); // Increment char position in string i++; }
success = 1;
return(success); }
//////////ROTINA DE INTERRUPO USART//////////////////// ISR(USART_RX_vect) { rByte = UDR0; //char novo = UDR0;
//////////////////------ Rotina da interrupo do timer1 a cada 1 segundo para ligar os sensores -----------///////////////// voidtimerIsr() { contadorTimer++;
if (disp == 1){// CONTA O TEMPO QUE PASSOU EM DISPARO PARA PODER DESATIVAR A SIRENE NO TEMPO DETERMINADO if (contadorTimer>tempoDisparoSeg){ disp = 0; contadorTimer = 0; Timer1.detachInterrupt(); } } else{ if (contadorTimer>tempoLigaSensoresSeg){ //CONTA O TEMPO PARA LIGAR A ALIMENTACAO DOS SENSORES NO MOSFET senOK = 1; contadorTimer = 0; Timer1.detachInterrupt(); } } }
//////// ------- Esta funcao responsvel por tratar os retornos da USART--------////// voidreleShield(char le){ if (le == 'S'){// LIGA OU DESLIGA ALARME, SE ESTIVER EM DISPARO, CANCELA O DISPARO if (disp == 1) disp = 0; ligaDesliga(); } elseif (le == 'X'){//CADASTRA CONTROLE REMOTO cadastraControle(dadoLido); } else if (le == 'A'){ // SIMULA DISPARO 74
disp = 1; onOFF = 1; } elseif (le == 'E'){ //transmite para serial os dados das portas dos sensores char* est; // est = stringEstados(); USART_putstring(est); //printf(est); /* for (int i = 0; i >est.length(); i++){ USART_Transmit(est[i]); }*/ } else if (le == '1'){ digitalWrite(p1, !digitalRead(p1)); } else if(le == '2'){ digitalWrite(p2, !digitalRead(p2)); } elseif(le == '6'){// pino 6 programado para dar um pulso de 1 segundo para abrir portaoeletronico digitalWrite(p6, LOW); digitalWrite(p6, HIGH); delay(1000);
digitalWrite(p6, LOW); } le = 0; }
//////// ------- FUNCAO QUE GERA OS SONS DA SIRENE--------////// voidsireneSOM(constint valor){ if (valor == 1){ tone(sirene, 2000); delay(100); noTone(sirene); delay(100); tone(sirene, 2200); delay(200); noTone(sirene); } else if (valor == 2){ //sireneemdesparo int i = 1200; int a = 0; intche = 1; while (a != 100){ if (disp == 0){ noTone(sirene); return; 75
break; } tone(sirene, i); if (che == 1)i = i + 10; else i = i - 10;
if (i > 2000){ che = 0; a++; } if (i < 1200){ che = 1; a++; } delay(1); } noTone(sirene); } else{ noTone(sirene); delay(100); tone(sirene, 1800); delay(200); noTone(sirene); } }
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // voidcadastraControle(const long val){ while (true){ if (sinal == 1){ gravaLongEEPROM(val); // Serial.println("Sinal Recebido!"); break; } } }
voidligaDesliga(){ //Serial.flush(); detachInterrupt(0); if (onOFF == 0){ onOFF = 1; Timer1.initialize(1000000); // seta o Timer1 para disparar interrupao a cada 1 segundo Timer1.attachInterrupt( timerIsr ); // seta uma interrupao por etouro de timer sireneSOM(1); 76
digitalWrite(pinMosfet, HIGH);// ATIVA O PINO EM ALTO PARA FAZER COM QUE O MOSFET CONDUZA E ALIMENTE OS SENSORES } else{ onOFF = 0; sireneSOM(0); noTone(sirene); disp = 0; Timer1.detachInterrupt(); senOK = 0; digitalWrite(pinMosfet, LOW);// DESLIGA A ALIMENTACAO DOS SENSORES //Serial.println("sirene 0"); }
attachInterrupt(0, trataInterrupcao, RISING); }
voidleControle() { for ( bitLido = 0; bitLido< 28; bitLido ++) { tempo = 0; baixo = 0; while (true) //aguarda o nivel subir { if (digitalRead(pinoRx) == HIGH) tempo ++; if (tempo > 8) break; baixo ++; if (baixo> 200) break; }
tempo = 0; alto = 0; while (true) //aguarda o nivel baixar { if (digitalRead(pinoRx) == LOW) tempo ++; if (tempo > 8){ break;} alto ++; if (alto > 200){ break;} }
dadoLido = (dadoLido<< 1); //rotacionadadoLido um byte para esquerda if (baixo > alto){ dadoLido = dadoLido + 1; } } //fim do loop for, lidos os 28 bits
voidtrataInterrupcao() { detachInterrupt(0); // Liga o LED para sinalizar a atividade da rotina de interrupo // Se o led ficar piscando sem que seja apertado boto do controle, // sinal de que est chegando muita interferncia no RX. digitalWrite(power, HIGH);
tempo = 0; alto = 0; while (true) //aguarda o nivel baixar e permanecer 8 ciclos em baixo { if (digitalRead(pinoRx) == LOW) tempo ++; if (tempo > 8) break; alto ++; }
if ((alto > 70) and (alto < 200)){ leControle();}
digitalWrite(power, LOW); // Desliga o LED attachInterrupt(0, trataInterrupcao, RISING); //Habilita interrupo pino 2 na borda de descida return; }
int gravaLongEEPROM1(const long valor){ byte b1[4]; int int1, int2 = 0;
int1 = lowByte(valor); int2 = highByte(valor);
b1[0] = lowByte(int1); b1[1] = highByte(int1);
b1[2] = lowByte(int2); 78
b1[3] = highByte(int2);
for (int i = 0; i == 3; i++ ){ EEPROM.write(i, b1[i]); }
return 1; }
voidgravaLongEEPROM(const long valor){//grava 4 bytes naeeprom intpos = 1; byte a = 0; for (int i = 0; i = 7; i++){ bitWrite(a, i, bitRead(i, valor)); } EEPROM.write(pos, a); pos++; a = 0; for (int i = 8; i = 16; i++){ bitWrite(a, i, bitRead(i, valor)); } EEPROM.write(pos, a); pos++; a = 0; for (int i = 16; i = 20; i++){ bitWrite(a, i, bitRead(i, valor)); } EEPROM.write(pos, a); pos++; a = 0; }
booleanverSinalValido(const long sinal){ long myFloat1; // eeprom_write_float( (float *) 20, myFloat1 ); for (int i = sizeof(sinal); i = 0; i--){ if (bitRead(i -1, sinal) == 1){ if (bitRead(i -2, sinal) == 0){ if (bitRead(i -3, sinal) == 1){ if (bitRead(i -4, sinal) == 0){ returntrue; } } } } } }
79
MINISTRIO DA EDUCAO SECRETARIA DE EDUCAO PROFISSIONAL E TECNOLGICA DIRETORIA DE GRADUAO CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS QUESTIONRIO PARA AO CONSUMIDOR 1) Voc possui algum tipo de alarme em sua residncia? Sim ( ) No ( ) 2) Voc como consumidor, acredita que os alarmes so acessveis? Sim ( ) No ( ) 3) Em sua opinio o valor de um alarme residencial custa em media quanto para uma residncia com 5cmdos? ( ) ate 800,00 reais ( ) ate 1.500,00 reais ( ) ate 2.000,00 reais 4) Sabendo que os servios de monitoramentos feito por empresas especializadas so em grande maioria caros. O que voc acha de um alarme residencial que seja monitorado pelo prprio cliente? ( ) Bom ( ) timo ( ) Ruim 5) Quais as dificuldades encontradas para obteno de um alarme residencial? ( )Falta de recursos financeiros ( ) Custo elevado do monitoramento ( )Falta de uma empresa confivel 6) A grande quantidade de assaltos em residncias acontece por falta de segurana, voc confia em sistema de alarme e monitoramentos feitos por empresas especializadas? ( ) Sim ( ) No 7) O alarme um meio utilizado para inibir e tirar a viso de infratores dos estabelecimentos residenciais. Baseado nisso voc instalaria esse tipo de sistema em sua casa? ( ) Sim ( ) No