83
UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC UNIDADE CHAPECÓ RODRIGO BATISTELLO AUTOMAÇÃO RESIDENCIAL UTILIZANDO RASPBERRY PI E ANDROID CHAPECÓ, SC 2014

Automação Residencial Utilizando Raspberry Pi e Android

Embed Size (px)

DESCRIPTION

Automação Residencial Utilizando Raspberry Pi e Android

Citation preview

  • UNIVERSIDADE DO OESTE DE SANTA CATARINA UNOESC UNIDADE CHAPEC

    RODRIGO BATISTELLO

    AUTOMAO RESIDENCIAL UTILIZANDO RASPBERRY PI E ANDROID

    CHAPEC, SC 2014

  • RODRIGO BATISTELLO

    AUTOMAO RESIDENCIAL UTILIZANDO RASPBERRY PI E ANDROID

    Trabalho de Concluso de Curso apresentado ao Curso de Sistemas de Informao, rea das Cincias Exatas e da Terra, da Universidade do Oeste de Santa Catarina UNOESC Unidade de Chapec como requisito parcial obteno do grau de bacharel de Sistemas de Informao.

    Orientador: Prof. Jose Luiz Cunha Quevedo

    Chapec, SC 2014

  • RODRIGO BATISTELLO

    AUTOMAO RESIDENCIAL UTILIZANDO RASPBERRY PI E ANDROID

    Trabalho de Concluso de Curso apresentado ao Curso de Sistemas de Informao, rea das Cincias Exatas e da Terra, da Universidade do Oeste de Santa Catarina UNOESC Unidade de Chapec como requisito parcial obteno do grau de bacharel de Sistemas de Informao.

    Aprovado em: ____/____/_____

    BANCA EXAMINADORA

    ________________________________________________ Prof. Jose Luiz Cunha Quevedo Universidade do Oeste de Santa Catarina Nota atribuda:

    ________________________________________________ Prof. Cristiano Agosti Universidade do Oeste de Santa Catarina Nota atribuda:

    ________________________________________________ Prof. Moacir Alves Universidade do Oeste de Santa Catarina Nota atribuda:

  • A minha famlia pelo apoio irrestrito em todos os momentos de minha vida.

  • AGRADECIMENTOS

    Agradeo a Deus por tudo, principalmente pela sade e a fora para concluir

    este trabalho.

    A minha famlia, meu pai Ary, minha me Lorena e minhas irms Francieli e

    Eveline pelo apoio e o incentivo em todos os momentos difceis.

    Ao meu orientador Jose Luiz por ter aceitado fazer parte deste desafio e por ter

    me ajudado a conclu-lo.

    Aos meus amigos e colegas de curso, Bruna, Franciele e Rafael por terem me

    ajudado na resoluo de problemas e no esclarecimento de dvidas.

    E por fim, a todos os professores e outras pessoas que de alguma forma

    contriburam para a realizao deste trabalho.

  • A persistncia o menor caminho do xito. Charles Chaplin

  • RESUMO

    A automao residencial surgiu entre as dcadas de 1970 e 1980 nos Estados Unidos,

    com o intudo de facilitar a vida das pessoas, permitindo um controle centralizado e

    integrado de diferentes tipos de equipamentos de uma residncia. O custo de

    instalao desse tipo de tecnologia geralmente elevado e feito apenas por

    profissionais capacitados, isso motivou o desenvolvimento de um prottipo de

    automao residencial utilizando tecnologias mais populares, no caso o Raspberry Pi,

    uma placa de expanso e um dispositivo mvel com plataforma Android. Por meio de

    uma pesquisa exploratria, cujas tcnicas utilizadas foram pesquisas documentais e

    bibliogrficas a fim de compreender e explicar do que se trata a automao residencial

    e as tecnologias utilizadas, desenvolveu-se um prottipo que possibilita aos

    moradores de uma residncia controlarem remotamente a iluminao, enviar

    comandos para acionamento de equipamentos eletrnicos, controlar alarme e som

    ambiente, permitir a visualizao da temperatura e humidade bem como o

    monitoramento de uma cmera de segurana. Tambm foi desenvolvido um controle

    de agendamento para acionar os equipamentos em determinados dias e horrios. Isso

    tudo resultou em um sistema de automao perfeitamente utilizvel. As tecnologias

    abordadas adaptaram-se com mrito ao projeto, apontando assim que o uso do

    Raspberry Pi em sistemas de automao perfeitamente vivel bem como a

    integrao com dispositivos mveis que utilizam a plataforma Android.

    Palavras-chave: Automao residencial, Raspberry Pi, Android.

  • ABSTRACT

    Residential automation arose between the decades of 1970 and 1980 in the United

    States, with the aim of facilitating people's lives, allowing a centralized and

    integrated control of different types of equipment of a residence. The cost of

    installation of this type of technology is usually high and done only by trained

    professionals, that motivated the development of a prototype of residential automation

    using most popular technologies, in case the Raspberry Pi, an expansion card and a

    mobile device with Android platform. Through an exploratory research, whose

    techniques used were documentary and bibliographical researches in order to

    understand and explain what home automation is all about and the technologies used,

    it was developed a prototype that allows residents of a residence to

    control remotely the lighting, to send commands to start electronic equipment, to

    control the alarm and the sound of the environment, to allow the display

    of the temperature and humidity as well as the monitoring of a security camera. It was

    also developed a scheduling control to trigger the equipment on certain days and

    times. This all resulted in a perfectly usable automation system. The

    technologies addressed have adapted with merit to the project, pointing

    out that the use of Raspberry Pi in automation systems is perfectly feasible as

    well as the integration with mobile devices using the Android platform.

    Keywords: Home automation, Raspberry Pi, Android.

  • LISTA DE FIGURAS

    Figura 1 - Raspberry Pi modelo B ............................................................................. 24

    Figura 2 - Organizao dos pinos GPIO do Raspberry Pi (26 pinos) ........................ 26

    Figura 3 - Organizao dos pinos GPIO do Raspberry Pi (8 pinos) .......................... 26

    Figura 4 Placa para automao residencial desenvolvida pelo Projeto Arduino .... 28

    Figura 5 - Sistema Computacional ............................................................................ 30

    Figura 6 - Caso de uso .............................................................................................. 42

    Figura 7 - MER .......................................................................................................... 45

    Figura 8 - Envio do sistema operacional para o carto de memria ......................... 47

    Figura 9 - Interface da ferramenta Putty .................................................................... 48

    Figura 10 - Conexo como Raspbery Pi atravs da ferramenta Putty ...................... 48

    Figura 11 - Interface da IDE para desenvolvimento em Python ................................ 49

    Figura 12 - Montagem da Maquete ........................................................................... 53

    Figura 13 - Prottipo para demonstrao do sistema de automao ........................ 54

    Figura 14 Componentes utilizados para montagem do sistema de automao ..... 55

    Figura 15 - Esquema eltrico do sensor de temperatura e humidade ....................... 56

    Figura 16 - Esquema de conexo dos sensores de alarme ...................................... 57

    Figura 17 - Esquema eltrico dos rels ..................................................................... 57

    Figura 18 - Esquema de conexo da sirene .............................................................. 58

    Figura 19 - Processo de montagem da parte eltrica e do painel de controle........... 59

    Figura 20 - Painel de controle do sistema de automao ......................................... 59

    Figura 21 - Comunicao entre os dispositivos mveis e o sistema de automao .. 60

    Figura 22 Interface inicial do sistema ao lado da configurao de acesso ............. 63

    Figura 23 - Interface de controle dos rels (Aplicativo Cliente) ................................. 65

    Figura 24 - Controle dos rels x Efeito no prottipo .................................................. 66

    Figura 25 Prottipo desenvolvido com todos os rels ligados ................................ 67

    Figura 26 - Menu de navegao do aplicativo para Android ..................................... 67

    Figura 27 - Interface de controle do alarme ao lado dos ltimos disparos ................ 68

    Figura 28 - Interfaces de controle de agendamento .................................................. 69

    Figura 29 - Interface para visualizao de temperatura e humidade ......................... 70

    Figura 30 - Interface para visualizao da imagem da cmera ................................. 71

    Figura 31 - Interface de controle do som ambiente ................................................... 72

  • Figura 32 - Interfaces de configurao do sistema .................................................... 74

  • LISTA DE QUADROS

    Quadro 1 - Requisitos funcionais e no funcionais ................................................... 39

    Quadro 2 - Expanso do caso de uso ....................................................................... 43

    Quadro 3 Trecho da rotina de interpretao do comando recebido (Servidor) ....... 63

    Quadro 4 - Trecho de cdigo Java que estabelece a conexo com o servidor ......... 64

    Quadro 5 - Trecho de cdigo responsvel por ligar ou desligar o rel (Servidor) ..... 65

    Quadro 6 - Trecho de cdigo que faz a leitura do sensor de alarme (Servidor) ........ 68

    Quadro 7 - Trecho do mtodo que obtm a temperatura e a humidade (Servidor) ... 70

    Quadro 8 - Trechos de cdigo correspondentes ao controle da cmera ................... 71

    Quadro 9 - Trecho de cdigo Python que inicia a execuo das msicas ................ 73

  • LISTA DE TABELAS

    Tabela 1 Utilizao de tecnologias relacionadas a automao residencial ............ 21

  • LISTA DE ABREVIAES E SIGLAS

    ADT Android Developer Tools

    ARM Advanced RISC Machine

    FTP File Transfer Protocol

    GB Gigabyte

    Gbps Gigabit por segundo

    GPIO General Purpose Input/Output

    GPL General Public License

    HDMI High-Definition Multimedia Interface

    IDE Integrated Development Environment

    IEEE Institute of Electrical and Electronics Engineers

    LAN Local Area Networks

    MB Megabyte

    Mbps Megabit por segundo

    MDF Medium Density Fiberboard

    MER Modelo Entidade-Relacionamento

    MHz Mega Hertz

    OHA Open Handset Alliance

    PDA Personal Digital Assistant

    RAM Random Access Memory

    SD Secure Digital

    SSH Secure Shell

    USB Universal Serial Bus

    UTF-8 8-bit Unicode Transformation Format

    VDI Voz, Dados e Imagem

    WLAN Wireless Local Area Netwok

    XML Extensible Markup Language

  • SUMRIO

    1 INTRODUO ............................................................................................................... 15

    1.1 OBJETIVOS ................................................................................................................ 15

    1.1.1 Objetivo geral ......................................................................................................... 16

    1.1.2 Objetivos especficos ........................................................................................... 16

    1.2 ESTRUTURA DO TRABALHO .................................................................................. 16

    2 REVISO DA LITERATURA........................................................................................ 18

    2.1 AUTOMAO RESIDENCIAL .................................................................................. 18

    2.2 RASPBERRY PI ......................................................................................................... 22

    2.2.1 Aplicao................................................................................................................. 24

    2.2.2 Raspbian ................................................................................................................. 25

    2.2.3 General Purpose Input/Output (GPIO)............................................................... 25

    2.3 PLACAS DE EXPANSO .......................................................................................... 26

    2.4 MOBILIDADE .............................................................................................................. 28

    2.5 SISTEMAS OPERACIONAIS .................................................................................... 29

    2.5.1 Linux ........................................................................................................................ 30

    2.6 ANDROID .................................................................................................................... 31

    2.7 LINGUAGENS DE PROGRAMAO ...................................................................... 32

    2.7.1 Java .......................................................................................................................... 32

    2.7.2 Python ...................................................................................................................... 33

    2.8 REDES DE COMPUTADORES ................................................................................ 34

    2.9 UNIFIED MODELING LANGUAGE (UML) ............................................................... 35

    3 CAMPO OU REA DE ESTUDO ................................................................................ 36

    4 MTODOS ...................................................................................................................... 37

    4.1 DELIMITAO DO ESTUDO, MTODOS E TCNICAS DE COLETA DE DADOS ............................................................................................................................................ 37

    4.2 CARACTERIZAO DO ESTUDO .......................................................................... 38

    4.3 TCNICA DE ANLISE E INTERPRETAO DE DADOS ................................... 38

    4.4 QUESTES DE PESQUISA ..................................................................................... 38

    5 APRESENTAO E ANLISE DOS RESULTADOS .............................................. 39

    5.1 MODELAGEM DO SISTEMA .................................................................................... 39

    5.1.1 Requisitos funcionais e no funcionais ........................................................... 39

    5.1.2 Caso de uso ............................................................................................................ 42

  • 5.1.2.1 Expanso do caso de uso ................................................................................... 43

    5.1.3 Modelo Entidade-Relacionamento ..................................................................... 45

    5.2 INSTALAO DO SISTEMA OPERACIONAL E APLICATIVOS .......................... 46

    5.2.1 Instalao do sistema operacional no Raspberry Pi...................................... 47

    5.2.2 Instalao da IDE de desenvolvimento no Raspberry Pi .............................. 49

    5.2.3 Configurao dos pinos GPIO ............................................................................ 50

    5.2.4 Instalao do banco de dados ............................................................................ 50

    5.2.5 Instalao do gerenciador do banco de dados ............................................... 51

    5.2.6 Instalao do servidor FTP.................................................................................. 51

    5.2.7 Instalao do servidor de cmera ...................................................................... 52

    5.2.8 Instalao do MPlayer .......................................................................................... 52

    5.3 CONSTRUO DO PROTTIPO ............................................................................ 53

    5.4 DESENVOLVIMENTO DO SISTEMA ....................................................................... 60

    5.4.1 O aplicativo servidor ............................................................................................. 60

    5.4.2 O Aplicativo cliente ............................................................................................... 61

    5.4.3 Funcionamento do sistema ................................................................................. 62

    6 CONSIDERAES FINAIS ......................................................................................... 75

    6.1 TRABALHOS FUTUROS ........................................................................................... 76

    REFERNCIAS ................................................................................................................. 78

    GLOSSRIO ..................................................................................................................... 81

  • 15

    1 INTRODUO

    A automao residencial ou domtica como tambm conhecida, da unio do

    latim Domus que significa casa e robtica controle automatizado de algo, veio para

    permitir aos usurios um controle automatizado e centralizado das residncias,

    agregando mais facilidade e qualidade de vida as pessoas.

    Com a popularizao dos smartphones e tablets surgiu a possibilidade de

    integrar as tecnologias mveis com a automao, a fim de proporcionar aos usurios

    controle sobre suas residncias mesmo distncia proporcionando uma nova

    experincia de vida aos moradores dessas casas inteligentes.

    Geralmente o custo para implantao desse tipo de sistema bastante elevado

    e feito apenas por profissionais capacitados, o que torna a mesma inacessvel para

    grande parte da populao. No entanto o surgimento de novas tecnologias

    proporcionou a construo de sistemas de automao bastante similares aos j

    comercializados e com um custo relativamente menor.

    por esses fatores que este trabalho justifica-se na construo de um sistema

    de automao residencial composto por um dos menores computadores do mundo,

    denominado Raspberry Pi, juntamente com uma placa de expanso prpria para esta

    finalidade e um smartphone com sistema Android. Neste sistema ser possvel

    controlar iluminao, alarme, som ambiente, visualizar cmera de segurana,

    temperatura e humidade, criar agendamentos, entre outros.

    Tudo isso no intuito de facilitar ainda mais a vida das pessoas, permitir um

    controle centralizado e sem a necessidade de estar presente no local, aumentar a

    segurana da residncia, a qualidade de vida dos moradores, alm de comprovar que

    essas novas tecnologias se adaptam perfeitamente a esta finalidade.

    1.1 OBJETIVOS

    A seguir apresenta-se o objetivo geral deste trabalho, bem como os objetivos

    especficos.

  • 16

    1.1.1 Objetivo geral

    Desenvolver um prottipo de automao residencial onde o usurio poder

    controlar remotamente sua residncia atravs de um dispositivo mvel com plataforma

    Android, enviando comandos para controlar iluminao, equipamentos eletrnicos,

    sistema de alarme, entre outros.

    1.1.2 Objetivos especficos

    Para atingir o objetivo geral, consideram-se os seguintes objetivos especficos:

    Estudar e compreender o funcionamento de uma residncia automatizada,

    levantando as principais aplicaes e vantagens.

    Demonstrar a aplicao de novas tecnologias em solues de automao

    residencial.

    Construir um prottipo para representar a aplicao da automao residencial.

    Construir as ligaes eltricas entre o Raspberry Pi, placa de automao e o

    prottipo, possibilitando o acionamento dos equipamentos e sensores.

    Desenvolver um aplicativo para Android que possibilite o controle da

    automao residencial a distncia, enviando comandos para ligar e desligar a

    iluminao, eletroeletrnicos, alarme, entre outros.

    Desenvolver um aplicativo servidor que ficar rodando no Raspberry Pi,

    recebendo e executando os comandos encaminhados pelo dispositivo mvel.

    1.2 ESTRUTURA DO TRABALHO

    Este trabalho est organizado da seguinte maneira: o captulo 2 ou reviso da

    literatura, o local onde ser apresentado todo referencial terico necessrio para

    elaborao do trabalho, tratando as principais caractersticas e vantagens da

  • 17

    automao residencial e abordando as tecnologias utilizas, como: Raspberry Pi e

    Android, alm das linguagens de programao Java e Python.

    Na sequncia sero apresentados os captulos 3 e 4 que contm informaes

    sobre o campo e a rea do estudo alm das metodologias utilizadas e questes de

    pesquisa que instigaram a elaborao do trabalho.

    O captulo 5 apresenta os resultados deste trabalho e tudo o que foi feito para

    atingir os objetivos e responder as questes de pesquisa. Ele descreve todos os

    passos executados, como a instalao do sistema operacional no Raspberry Pi,

    instalao de pacotes de aplicativos no sistema, criao do prottipo,

    desenvolvimento e funcionamento do sistema proposto junto ao prottipo criado.

    Por ltimo temos o captulo 6, onde est a concluso deste trabalho, ou seja,

    tudo que foi possvel aprender e concluir com a realizao do mesmo, bem como

    ideias para trabalhos futuros.

  • 18

    2 REVISO DA LITERATURA

    A reviso da literatura desse trabalho aborda uma viso geral e atualizada dos

    assuntos tratados, com enfoque principal na automao residencial ou domtica.

    Tambm sero apresentadas as tecnologias utilizadas no seu desenvolvimento como

    Raspberry Pi, Android, Java e Python.

    2.1 AUTOMAO RESIDENCIAL

    Segundo Muratori e Dal B (2011, p. 1) automao residencial o conjunto de

    servios proporcionados por sistemas tecnolgicos integrados como o melhor meio

    de satisfazer as necessidades bsicas de segurana, comunicao, gesto energtica

    e conforto de uma habitao.

    A automao residencial tambm conhecida como domtica (do latim

    Domus que significa casa e robtica controle automatizado de algo), casa

    inteligente, casa automtica ou retrofitting (ato de introduzir uma modificao em algo

    j construdo). Alguns autores costumam achar mais adequado o termo domtica, por

    ser mais abrangente e largamente utilizado na Europa, porm no Brasil mais comum

    o uso da traduo literal do termo home automation, denominao americana mais

    restrita, ou automao residencial. (MURATORI; DAL B, 2011; BOLZANI, 2004).

    Sendo assim a automao residencial pretende identificar todas as tecnologias

    que permitem tornar automtica uma srie de operaes e tarefas dentro de uma

    residncia (PRUDENTE, 2011).

    Para Prudente (2011) a domtica pode ser aplicada em todas as atividades

    dentro de uma habitao, integrando e conectando diferentes tipos de equipamento e

    instalaes, alguns dos exemplos que ele cita so: controle de iluminao e

    dimerizao (luminosidade), sistema de ar condicionado, ligar e desligar televises,

    comandos de veneziana, porta, porto eletrnico, controle de parmetros ambientais

    e atmosfricos, comando e controle para cada tipo de eletrodomstico, sistema de

    alarme antifurto, controle de acesso, deteco de incndio, vazamento de gs, perda

  • 19

    de gua, cmeras de vigilncia, entretenimento, home theater, internet, tele socorro e

    outros auxlios para idosos e deficientes fsicos.

    A automao residencial baseada na automao industrial, muito mais

    conhecida e difundida. Devido a diferena entre os dois tipos de ambientes, projetos

    especficos para cada rea tm sido desenvolvidos. A automao em projetos de

    pequeno e mdio porte com caractersticas comerciais e residenciais alm dos

    primeiros mdulos inteligentes comearam a surgir entre as dcadas de 1970 e 1980.

    Nos Estados Unidos, no fim dos anos 70 surgia os primeiros mdulos inteligentes,

    com comandos enviados pela prpria rede eltrica, tratavam-se de solues simples

    e no integradas como ligar remotamente algum equipamento ou luzes. J nos anos

    80 algumas companhias comearam a desenvolver sistemas de automao, e em

    1996 havia mais de 4 milhes de edifcios e residncias automatizadas (BOLZANI,

    2004; MURATORI; DAL B, 2011).

    Hoje existem no mercado empresas que oferecem um conjunto completo de

    recursos, onde o usurio pode escolher entre as opes disponveis, alm do mais os

    dispositivos podem ser acionados e controlados pela mesma interface, seja remoto,

    por voz ou telefone. Esses sistemas podem tambm ser programados para simular

    presena e assim expulsar possveis intrusos, ou at mesmo chamar a polcia.

    (BOLZANI, 2004).

    Segundo Bolzani (2004, p. 60) as caractersticas de um bom sistema inteligente

    so:

    Capacidade de integrar todos os sistemas;

    Atuao em condies variadas;

    Memria;

    Noo temporal;

    Fcil relao com o usurio;

    Facilidade de programao;

    Autocorreo.

    Para Muratori e Dal B (2011) a automao residencial pode ser dividida em 4

    classes, cada uma delas compreende as seguintes opes:

    Automao da instalao eltrica: compreende o fornecimento de

    controladores e atuadores: softwares de controle e superviso, rels, interface,

    temporizadores e sensores;

  • 20

    Controles remoto universais: fornecimento de controles fixos em paredes,

    painis mveis, licenas de software de integrao para Iphone, celulares,

    entre outros;

    Gesto de energia: sistema de gerenciamento do consumo energtico,

    medio do consumo de gua, equipamentos para proteo eltrica e de

    gerao de fontes de energia alternativas;

    Acessrios e complementos: compreende motorizao de persianas, toldos e

    cortinas, pisos aquecidos, aspirao central a vcuo, desembaadores de

    espelhos, irrigao automtica, fechaduras eltricas, equipamentos de controle

    de acesso, media centers, ativos de rede e telefonia.

    A aplicao de sistemas inteligentes e automatizados trazem inmeros

    benefcios aos seus utilizadores.

    Automatizando os sistemas, consegue-se um aproveitamento melhor da luminosidade ambiente, controlando luzes e persianas e mantendo sempre a temperatura ideal, mas sem desperdcio, obtendo-se uma reduo no consumo de energia. Um ambiente inteligente aquele que otimiza certas funes inerentes operao e administrao de uma residncia. como se ela tivesse vida prpria, com crebro e sentidos (BOLZANI, 2004, p. 60).

    Entre as vantagens obtidas com a aplicao de uma automao residencial

    Prudente (2011, p. 3) destaca:

    Maior conforto: deixam o ambiente mais acolhedor e agradvel, permitem gerir

    e controlar parmetros que incidem diretamente sobre a qualidade de vida das

    pessoas;

    Maior segurana: tanto no que diz respeito as pessoas, quanto eventos

    perigosos. possvel se precaver contra furtos, ou no caso de um sinistro como

    incndio, vazamentos de gs, entre outros;

    Maior versatilidade: possibilita variar a instalao e as funes dos

    componentes com o uso de softwares dedicados;

    Maior economia na gesto da instalao: possvel obter-se um controle total

    sobre a energia, iluminao, aquecimento, sistema de ar condicionado, entre

    outros.

    Alm das vantagens citadas acima a aplicao de um sistema de automao

    residencial pode trazer benefcios tambm s pessoas com dificuldades de locomoo

    ou com algum tipo de deficincia fsica. Existem aparelhos especficos que do uma

    certa liberdade elas, porm costumam ser caros e delicados. Com os sistemas

  • 21

    residenciais inteligentes, muitas alternativas mais baratas e flexveis tm surgido. Para

    essas pessoas faz muita diferena poder ligar e desligar luzes e equipamentos de uma

    cadeira de rodas ou da cama (BOLZANI, 2004).

    Em economias mais desenvolvidas o cenrio bastante propcio para as

    chamadas casas inteligentes, algumas contribuies importantes para isso foram a

    popularizao de diversas tecnologias e queda nos preos. As ofertas abundantes

    de servios de comunicao como a internet tambm ajudaram. (MURATORI; DAL

    B, 2011).

    Pesquisas realizadas nos Estados Unidos revelaram que 84% dos construtores

    de residncias entendem que incorporar tecnologia aos empreendimentos um

    importante diferencial de mercado, consumidores mais novos adquirindo seu primeiro

    imvel, so mais exigentes nesse quesito e o uso de sistemas automatizados com

    apelo a sustentabilidade so cada vez mais requisitados. Entre as tecnologias

    emergentes que tem possibilidade de crescimento nos prximos anos destacam-se

    media centers, monitoramento a distncia, controle de iluminao e o home care

    (modalidade de prestao de servios na rea da sade visando continuidade do

    tratamento hospitalar em domiclio) (MURATORI; DAL B, 2011).

    O crescimento da utilizao dessas tecnologias e a previso para os prximos

    anos pode ser observado na tabela 1.

    Tabela 1 Utilizao de tecnologias relacionadas a automao residencial

    Tecnologia 2003 2004 2005 2006 2015 (Previso)

    Cabeamento estruturado 42% 61% 49% 53% 80%

    Monitoramento de segurana 18% 28% 29% 32% 81%

    Multiroom udio 9% 12% 15% 16% 86%

    Home Theater 9% 8% 11% 12% 86%

    Controle de iluminao 1% 2% 6% 8% 75%

    Automao integrada 0% 2% 6% 6% 70%

    Gerenciamento de energia 1% 5% 11% 11% 62%

    Fonte: Adaptado de MURATORI; DAL B (2011, p.3).

    Apesar de muitas pessoas ainda pensarem nessas casas com certa viso

    futurista, o potencial de crescimento desse mercado enorme, tanto que fez surgir

    novas profisses, como a de integrador de sistemas, pessoa responsvel pela

    especificao, fornecimento, instalao, programao e ps-venda de sistemas de

    automao residencial (PRUDENTE, 2011; MURATORI; DAL B, 2011).

  • 22

    Aqui no Brasil o panorama tende mudar em um pequeno espao de tempo,

    competio do mercado imobilirio cada vez mais acirrada e a utilizao de

    diferenciais tecnolgicos podem fazer da automao um fator decisivo para atingir

    consumidores com necessidades especificas, como segurana, entretenimento,

    acessibilidade, trabalho em casa, conforto, convenincia e economia de energia,

    aproximando cada vez mais o mercado domstico brasileiro dos padres

    internacionais. (MURATORI; DAL B, 2011).

    Existem diversas tecnologias que podem ser utilizadas no desenvolvimento de

    sistemas de automao. Neste trabalho foi optado pelo uso do Raspberry Pi como

    controlador principal do sistema, entenderemos um pouco mais sobre esta tecnologia

    na sequncia.

    2.2 RASPBERRY PI

    Os computadores j fazem parte de nossas vidas e so indispensveis, tanto

    no uso pessoal quanto profissional. Eles nos auxiliam nas tarefas cotidianas, na

    comunicao e na automatizao de processos.

    O Raspberry Pi nada mais que um dos menores computadores do mundo,

    suas dimenses so prximas a de um carto de crdito e seu sistema operacional

    padro o Linux. Ele pode ser usado para realizar boa parte das tarefas de um

    computador comum e tambm nos mais diferentes tipos de projetos (NETTO, 2013).

    A notcia do desenvolvimento do Raspberry Pi veio tona em maio de 2011 e

    foi muito bem recebida. Os prprios idealizadores ficaram surpresos, isso porque ele

    despertou o interesse de programadores, profissionais da rea de automao e

    entusiastas em geral, mesmo antes do incio de sua produo (NETTO, 2013, p. 13).

    De acordo com Netto (2013) e a Raspberry Pi Foundation ([2013?]) o projeto

    de desenvolvimento teve incio em 2006, quando um professor da universidade de

    Cambridge, chamado Eben Upton, notou que o conhecimento sobre computadores

    dos novos alunos de cincias da computao tinha diminudo em relao aos alunos

    da dcada de 1990, isso porque antigamente para se usar um computador tinha que

    saber um pouco de programao, ele imaginou ento que se existisse um computador

    flexvel o bastante para ser uma ferramenta de aprendizado, com baixa potncia e

  • 23

    custo de fabricao que pudesse ser dado aos ingressantes poderia ajudar muito.

    Porm depois de um tempo eles perceberam o verdadeiro potencial do projeto,

    criaram uma instituio de caridade chamada Raspberry Pi Foundation e o Raspberry

    Pi deixou de ser destinado apenas aos acadmicos e passou a ser uma verdadeira

    ferramenta educacional, que poderia ser utilizada por crianas de todo o mundo.

    No entanto, quanto mais a data de lanamento se aproximava mais era o

    interesse das pessoas pelo pequeno computador, ento percebeu-se que ele no

    serviria mais apenas para ensinar crianas, mas tambm como uma plataforma

    alternativa para profissionais experientes de todo o mundo (NETTO, 2013).

    Inicialmente o computador no se chamaria Raspberry Pi, Eben Upton pensou

    em batiza-lo de ABC Micro, em homenagem aos computadores dos anos 90 que

    eram utilizados para ensinar programao s crianas na escola, esses computadores

    eram chamados de BBC Micros. Porm ele foi recebendo ideias de outros

    colaboradores at que o nome foi mudado. O termo Raspberry que em portugus

    significa framboesa uma aluso tradio de batizar computadores com o nome de

    fruta, enquanto Pi uma referncia ao Python, que a linguagem de programao

    nativa do Raspberry Pi (NETTO, 2013; RASPBERRY PI FOUNDATION, [2013?]).

    Existem atualmente dois modelos do Raspberry Pi no mercado, eles so

    denominados A e B. Ambos os modelos contam com um processador Advanced Risc

    Machine (ARM) de 700 Mega Hertz (MHz), uma unidade de processamento grfico

    Videocore IV, sada de vdeo High-Definition Multimedia Interface (HDMI) e vdeo

    composto, sada de udio, conector de alimentao Universal Serial Bus (USB), uma

    entrada para carto de memria que armazena o sistema operacional e programas,

    conector para flat-cables de 15 vias para cmeras de vdeo e conexes General

    Purpose Input/Output (GPIO), que so pinos de conexo programveis, cujo

    comportamento pode ser controlado e definido via software. Tudo isso em dimenses

    mnimas 85,60 mm x 56 mm e pesando apenas 45 gramas (NETTO, 2013).

    A diferena bsica entre os modelos que o A mais simples, no possui

    conexo de rede, conta com apenas uma conexo USB e possui 256 Megabyte (MB)

    de memria Random Access Memory (RAM), esse modelo vendido por US$ 25,00.

    J o modelo B (figura 1) um pouco mais completo, ele possui duas conexes USB,

    conta com uma entrada de rede do tipo Ethernet e 512 MB de memria RAM e pode

    ser comprado por US$ 35,00 (NETTO, 2013).

  • 24

    Figura 1 - Raspberry Pi modelo B

    Fonte: O autor.

    2.2.1 Aplicao

    Este pequeno computador pode ser utilizado nos mais diferentes tipos de

    projetos. A ideia inicial previa sua utilizao apenas para fins educacionais, porm

    como o interesse pela placa foi tanta acabou se abrindo um infinito mundo de

    possibilidades, com uma gama imensa de projetos e aplicaes.

    Ele pode ser utilizado como um computador normal ou um computador para

    programao, seja em Python, C/C++, Java ou at mesmo Assembly. As

    possibilidades que os pinos GPIO oferecem tambm so enormes e fazem com que

    o Raspberry Pi tambm possa ser usado como controlador de um rob ou em solues

    que envolvem automao (NETTO, 2013).

    Neste trabalho o Raspberry Pi o controlador do sistema de automao

    residencial, ele juntamente com uma placa de expanso, que por sua vez comunicar

    diretamente com os equipamentos da residncia. Foi optado pelo seu uso devido a

    ele ter as caractersticas necessrias para utilizao em um sistema de automao

    residencial e tambm por ele ser pouco explorado neste ramo.

  • 25

    2.2.2 Raspbian

    O Raspberry Pi assim como qualquer outro computador precisa de um sistema

    operacional para funcionar. O Raspbian um dos sistemas operacionais disponveis

    para ele, sendo tambm o sistema operacional mais indicado para o uso. Ele

    completo, possui uma interface grfica, navegador de internet, entre outras

    funcionalidades. (NETTO, 2013). Como os demais sistemas que podem rodar no

    Raspberry Pi baseado em Linux, para ser mais especfico essa verso em Debian.

    um sistema operacional com o kernel otimizado e reduzido, de modo a obter uma

    melhor performance e utilizao do hardware.

    2.2.3 General Purpose Input/Output (GPIO)

    O Raspberry Pi pode ser integrado com outros hardwares graas as suas

    conexes GPIO, essas conexes so utilizadas diretamente neste trabalho, para

    controlar os diferentes tipos de equipamentos conectados ao sistema de automao.

    Em portugus pode-se dizer que General Purpose Input/Output (GPIO) so

    pinos de propsito geral, isso porque fica a cargo do programador decidir se

    determinado pino ser uma entrada ou uma sada de dados e qual ser sua funo

    (NETTO, 2013).

    O Raspberry Pi conta com 26 pinos GPIO, sendo que 17 deles podem ser

    programados, os demais so pinos de energia, aterramento ou reservados para uso

    futuro, conforme pode ser observado na figura 2. So esses pinos que permitem que

    o Raspberry Pi seja utilizado no desenvolvimento de sistemas de automao, lendo

    estados e realizando acionamentos (NETTO, 2013).

    Alm desses 26 pinos GPIO o Raspberry Pi modelo B conta com mais 8 pinos

    extras, destes 4 podem ser programados, eles no vm prontos para uso, mas basta

    soldar os conectores para utiliz-los. O posicionamento desses pinos pode ser

    observado na figura 3 (SILVEIRA, [2013?]).

  • 26

    Fonte: Adaptado de MONK (2013, p. 4)

    Fonte: Adaptado de Monk (2013, p. 4) e Silveira ([2013?]).

    2.3 PLACAS DE EXPANSO

    Os pinos GPIO permitiram que o Raspberry Pi comunica-se com outros

    hardwares. Para facilitar as integraes comearam as surgir as placas de expanso

    ou em ingls Expansion Boards. Essas placas adicionam ainda mais possibilidades

    de uso ao Raspberry Pi. Atualmente existem inmeros modelos e variedades,

    desenvolvidas por diferentes profissionais espalhados pelo mundo.

    Essas placas de expanso permitem o desenvolvimento de projetos mais

    rpidos, e at mesmo por pessoas com pouco conhecimento em eletrnica, uma vez

    Rede

    Mini USB

    5 V

    GN

    D

    GP

    IO 1

    4

    GP

    IO 1

    5

    GP

    IO 1

    8

    GP

    IO 2

    3

    GP

    IO 2

    4

    GP

    IO 2

    5

    GP

    IO 8

    GP

    IO 7

    3.3

    V

    GP

    IO 0

    GP

    IO 1

    GP

    IO 4

    GP

    IO 1

    7

    GP

    IO 2

    1

    GP

    IO 2

    2

    GP

    IO 1

    0

    GP

    IO 9

    GP

    IO 1

    1

    Figura 2 - Organizao dos pinos GPIO do Raspberry Pi (26 pinos)

    Rede

    Mini USB

    5 V

    GP

    IO 2

    8

    GP

    IO 3

    0

    GN

    D

    3.3

    V

    GP

    IO 2

    9

    GP

    IO 3

    1

    GN

    D

    Figura 3 - Organizao dos pinos GPIO do Raspberry Pi (8 pinos)

  • 27

    que, se existir uma placa de expanso com as funcionalidades necessrias, no ser

    preciso investir em tempo e conhecimento para o desenvolvimento de um circuito mais

    complexo.

    Entre as mais diversas variedades destacam-se as placas para

    desenvolvimento de automaes, como exemplo podemos citar a placa da figura 4,

    que utilizada neste trabalho e foi desenvolvida pelo Projeto Arduino, ela permite

    tanto o desenvolvimento de automao residencial quanto industrial.

    Entre as caractersticas dessa placa, podemos dizer que ela consegue

    alimentar o Raspberry Pi eliminando assim uma fonte de energia, possui 10 atuadores

    (rels), 8 entradas para chaves ou sensores que permitem conectar sensores

    magnticos, de movimento ou incndio, 8 entradas analgicas que por padro o

    Raspberry Pi no tem e 3 transistores para controle de motores ou outros dispositivos

    que precisam de uma resposta mais rpida. (PROJETO ARDUINO, [2013?]).

    Como essa placa conectada ao Raspberry Pi que por sua vez roda Linux, o

    projeto de automao pode ser baseado em diferentes linguagens como: C, Java,

    Python, Pearl, entre outras. Alm do mais, essa placa compatvel com a biblioteca

    desenvolvida pela Adafruit (Empresa que tambm fabrica placas de expanso para o

    Raspberry Pi), essa biblioteca escrita em Python e tem seu cdigo aberto, podendo

    ser utilizada para controlar todas as funes da placa de expanso do Projeto Arduino.

    (PROJETO ARDUINO, [2013?]; RASPBERRY..., [2013?]).

    A utilizao dessa placa no trabalho foi necessria para evitar a construo de

    um circuito eltrico prprio, isso acontece devido a necessidade da utilizao de

    alguns componentes eletrnicos para acionar os equipamentos que o Raspberry Pi

    no tem, como rels, e tambm por permitir a conexo de uma quantidade maior de

    equipamentos, gerenciados por micro controladores especficos que tambm no

    esto presentes no Raspberry Pi. A opo por utilizar esse modelo de placa de

    expanso tambm foi devido a facilidade de uso e de integrao com a linguagem de

    programao Python.

  • 28

    Figura 4 Placa para automao residencial desenvolvida pelo Projeto Arduino

    Fonte: O autor.

    2.4 MOBILIDADE

    Como este trabalho utiliza diretamente dispositivos mveis importante

    definirmos do que eles se tratam. A mobilidade tem ganhado um enfoque cada vez

    maior, principalmente pela popularizao dos celulares, notebooks e smartphones.

    [...] mobilidade pode ser definida como a capacidade de acessar informaes a partir de qualquer lugar, a qualquer hora. Para isso, preciso contar com dispositivos mveis como notebooks, laptops, handhelds, entre outros, e uma conexo wireless eficiente, para o acesso aos sistemas remotos e internet (INTEL, [200-?], p. 1).

    Engana-se quem pensa que mobilidade um termo moderno. O desejo da

    humanidade comunicar-se a distncia e sem a necessidade de fios bem antigo. Um

    grande passo foi dado em 1794 com a criao do primeiro telegrafo tico e bem mais

    tarde, mais precisamente em 1947 com a criao do conceito de comunicao mvel,

    ou seja, o celular que comeou a operar apenas 20 anos depois (INTEL, [200-?]).

    Outro lanamento marcante ocorreu em 1993, quando a Apple lanou o Apple

    Newton Message Pad, o primeiro Personal Digital Assistant (PDA) do mercado

    mundial. No mesmo ano tambm foi lanado o Zoomer PDA desenvolvido pela Palm

    Computing. Inicialmente nenhum dos modelos fez o sucesso esperado, talvez o preo

    tenha contribudo, mas apesar disso, eles certamente marcaram o incio de uma

    cadeia evolutiva (INTEL, [200-?]).

    Com o passar dos anos, novos modelos de celulares e smartphones foram

    lanados, cada vez com mais recursos e funcionalidades, como cmera digital, acesso

  • 29

    internet e tela sensvel ao toque. Novas empresas tambm entraram no ramo, e foi

    em 2007 que o mercado reviveu grandes lanamentos com o Iphone da Apple que fez

    um grande sucesso e tambm com o lanamento da plataforma Android do Google,

    que por sua vez no chamou tanta ateno quanto o lanamento do Iphone. Mas,

    alguns anos depois podemos dizer que o Android se tornou um sucesso, sendo uma

    plataforma mundialmente conhecida e famosa, com milhares de aplicativos

    disposio dos usurios (KAWAMOTO, 2011).

    Atualmente a popularizao dos dispositivos mveis tem proporcionado o

    acesso a essas tecnologias por milhares de pessoas, essa popularizao acaba

    proporcionando a explorao de uma rea em constante evoluo e contribui para o

    surgimento de novos aplicativos, ferramentas e tecnologias que tendem a facilitar

    nosso dia-a-dia.

    2.5 SISTEMAS OPERACIONAIS

    Tanto dispositivos mveis quanto computadores precisam de um sistema

    operacional para funcionarem, por isso que eles so to importantes no mundo da

    tecnologia da informao, de nada adianta voc ter uma tima mquina sem um bom

    sistema operacional, e de nada adianta voc ter um sistema operacional sem ter onde

    execut-lo.

    Sistema operacional nada mais que a camada de software colocada entre o

    hardware e os programas que o usurio executa (figura 5) (OLIVEIRA; CARISSIMI;

    TOSCANI, 2010). Ele o responsvel pela comunicao com o hardware, isto , faz

    a ligao dos softwares do usurio com os perifricos, alm da distribuio e controle

    dos recursos computacionais. Segundo Oliveira, Carissimi e Toscani (2010):

    O sistema operacional responsvel pelo acesso aos perifricos; sempre que algum programa necessita de algum tipo de operao de entrada e sada, ele solicita ao sistema operacional. Dessa forma o programador no precisa conhecer os detalhes do hardware. Informaes do tipo como enviar um caractere para impressora ficam escondidas dentro do sistema operacional. Ao mesmo tempo, como todos os acessos aos perifricos so feitos atravs do sistema operacional, ele pode controlar qual programa est acessando qual recurso. possvel, ento, obter uma distribuio justa e eficiente dos recursos. (OLIVEIRA; CARISSIMI; TOSCANI, 2010, p. 22-23).

  • 30

    Figura 5 - Sistema Computacional

    Fonte: OLIVEIRA, CARISSIMI, TOSCANI (2010, p. 22)

    O sistema operacional procura tornar a utilizao do computador, mais eficiente

    e conveniente (OLIVEIRA; CARISSIMI; TOSCANI, 2010). Eles existem a mais de 50

    anos, e durante todo esse tempo uma grande variedade foi desenvolvida, mas nem

    todos so muito conhecidos (TANENBAUM, 2009).

    Entre os principais sistemas operacionais destacam-se o Windows, o Linux e o

    Mac OS. Como apenas o Linux foi utilizado diretamente neste trabalho, conheceremos

    um pouco mais sobre ele na sequncia.

    2.5.1 Linux

    O Linux um sistema operacional completo, desenvolvido pelo finlands Linus

    Torvalds. Um clone do sistema Unix, sua primeira verso a 0.01 foi liberada em 1991,

    essa verso continha 9.300 linhas de cdigos escritos em C e mais 950 linhas em

    linguagem Assembly (TANENBAUM, 2009).

    Segundo Campos (2006, p.1) Linux ao mesmo tempo um kernel (ou ncleo)

    e o sistema operacional que roda sobre ele, dependendo do contexto em que voc

    encontra a referncia. Atualmente o sistema mantido por uma comunidade de

    desenvolvedores composta por pessoas e entidades coordenada por Linus.

    Um sistema operacional de cdigo aberto, livre que adota uma licena do tipo

    General Public License (GPL), o que significa que todos os interessados podem utiliz-

  • 31

    lo e redistribu-lo nos devidos termos de licena. Aliado com outros softwares livres o

    Linux pode formar um ambiente moderno, seguro, eficiente e estvel para

    computadores em geral, servidores e sistemas embarcados (CAMPOS, 2006).

    O uso do Linux neste trabalho acontece diretamente no Raspberry Pi, porm

    outro sistema operacional derivado do mesmo utilizado e tratado a seguir, o Android.

    2.6 ANDROID

    A plataforma Android vem crescendo muito nos ltimos, tanto em nmero de

    usurios quanto em funcionalidades. Esse foi o principal fator que levou essa

    plataforma a ser escolhida para o desenvolvimento mvel deste trabalho.

    A plataforma Android foi desenvolvida com base no sistema operacional Linux,

    com objetivo de permitir que os desenvolvedores criem aplicaes mveis que tirem

    o mximo de proveito de seus aparelhos. um projeto de cdigo aberto, em constante

    evoluo, que oferece um conjunto completo de softwares para dispositivos mveis

    (OHA, [200-?]).

    O Android uma plataforma para tecnologia mvel completa, envolvendo um

    pacote com programas para celulares, j com um sistema operacional middleware,

    aplicativos e interface do usurio. (PEREIRA; SILVA, 2009, p. 3).

    Por ele ser open source, isto , ter seu cdigo aberto, o mesmo tem atrado a

    ateno de muitos fabricantes de aparelhos telefnicos, uma vez que o mesmo pode

    ser modificado e adaptado conforme as suas necessidades (PEREIRA; SILVA, 2009).

    Por trs de seu desenvolvimento temos o Google e tambm um grupo formado

    por empresas de telefnica mvel, fabricantes de aparelhos e desenvolvedores de

    software. Criado para padronizar uma plataforma mvel de cdigo aberto, a fim de

    atender as necessidades do mercado, esse grupo conhecido como Open Handset

    Alliance (OHA). (LECHETA, 2013).

    Lecheta (2013) comenta que toda a segurana do Android baseada na

    segurana do Linux, cada aplicao executada em um processo separado, que

    possu uma thread dedicada e tem seu prprio usurio no sistema operacional,

    portanto nenhuma aplicao pode ter acesso aos diretrios e arquivos de outra. Est

  • 32

    uma caracterstica bastante interessante que refora a segurana do sistema

    operacional.

    2.7 LINGUAGENS DE PROGRAMAO

    Linguagens de programao podem ser definidas como um conjunto de

    instrues (vocabulrio) associado a um conjunto de regras (sintaxe). Elas so usadas

    no desenvolvimento de programas para resoluo de um determinado problema

    (WILLRICH, [200-?]). Esses programas podem rodar em diferentes plataformas e

    hardwares, sejam eles computadores ou dispositivos mveis.

    A fim de construir o sistema de automao residencial, foram utilizadas duas

    linguagens de programao distintas neste trabalho. A seguir, ser apresentada as

    principais caractersticas de cada uma delas.

    2.7.1 Java

    Java uma linguagem de programao orientada a objetos, que roda

    independente de plataformas. Teve o incio de seu desenvolvimento em 1991, quando

    um grupo de desenvolvedores da Sun Microsystems liderado por James Gosling

    estava trabalhando no desenvolvimento de um projeto de TV interativa, James no

    satisfeito com os resultados da linguagem utilizada, trancou-se em um escritrio e

    criou a nova linguagem baseada em C e C++. O Java propriamente dito foi lanado

    pela Sun Microsystems no segundo semestre de 1995, em um kit de desenvolvimento

    gratuito. (CADENHEAD; LEMAY, 2005).

    O Java uma linguagem compilada que tornou-se popular justamente por rodar

    em mltiplas plataformas, por ser totalmente orientada a objetos, eficiente, possuir

    suporte a concorrncia com o uso de threads e tambm por ser uma linguagem

    segura, devido a sua coleta automtica de lixo que evita erros comuns dos

    programadores e por seus tratamentos de exceo, que permitem aplicao

    continuar rodando mesmo em condies anormais. (CESTA, 2009).

  • 33

    O Java foi utilizado no desenvolvimento do aplicativo para Android,

    possibilitando o controle da automao pelo usurio, de maneira fcil e intuitiva, de

    onde quer que ele esteja. Esta linguagem foi escolhida por ser a nativa da plataforma

    Android, facilitando assim o acesso aos recursos do sistema.

    2.7.2 Python

    Python uma linguagem de programao de auto nvel, orientada a objetos,

    de tipagem dinmica e forte, interpretada e interativa. Possui uma sintaxe clara e

    concisa que favorece a legibilidade do cdigo e torna a linguagem mais produtiva

    (BORGES, 2010).

    A linguagem foi criada em 1990 por Guido Van Rossum na Holanda. A mesma

    tinha foco em usurios como fsicos e matemticos e foi concebida a partir de uma

    outra linguagem existente na poca conhecida como ABC. Atualmente a linguagem

    bem aceita na indstria e por empresas de alta tecnologia. (BORGES, 2010).

    O Python possui diversas estruturas de alto nvel, uma vasta coleo de

    mdulos prontos para uso, alm de diversos frameworks de terceiros. Esta linguagem

    tambm possui recursos encontrados em linguagens mais modernas tais como:

    geradores, introspeco, persistncia, metaclasses e unidades de teste. O Python

    interpretado atravs de bytecode pela mquina virtual Python, tornando o cdigo

    portvel, ou seja, possvel de compilar aplicaes em uma plataforma e rodar em

    outra, ou executar direto do cdigo fonte. (BORGES, 2010).

    Python uma linguagem de cdigo aberto, com uma licena compatvel com a

    GPL, porm menos restritiva, pois permite que o mesmo seja incorporado inclusive

    em produtos proprietrios. Atualmente a linguagem mantida pela Python Software

    Foundation. Alm da aplicao como linguagem principal tambm possvel utiliz-lo

    como linguagem script em vrios softwares, ou integr-lo com outras linguagens como

    C e Fortran. (BORGES, 2010).

    Neste trabalho, o Python foi utilizado para o desenvolvimento do aplicativo

    servidor, que executado no Raspberry Pi. Esse aplicativo fundamental, ele recebe

    os comandos enviados pelo aplicativo mvel e executa os mesmos na residncia, ou

    seja, ele o responsvel pela comunicao com o Android e tambm pela

  • 34

    comunicao com o hardware envolvido. Essa linguagem foi escolhida, pelo fato de

    ser a mais indicada para o uso com o Raspberry Pi e tambm por facilitar a

    comunicao com os pinos GPIO do mesmo.

    2.8 REDES DE COMPUTADORES

    A fim de estabelecer a comunicao entre o dispositivo mvel e o Raspberry Pi

    necessrio a utilizao de uma rede de computadores.

    Segundo Nascimento (2011, p.4) Uma rede de computadores formada por

    um conjunto de mdulos processadores capazes de trocar informaes e compartilhar

    recursos, interligados por um sistema de comunicao (meios de transmisso e

    protocolos).

    As redes so de extrema importncia, tanto em ambientes residenciais como

    empresariais, pois propiciam inmeros benefcios como compartilhamento de

    recursos, impressoras, arquivos, entre outros. Alm de ser um timo meio de

    comunicao atravs da internet (NASCIMENTO, 2011).

    Entre as diversas classificaes das redes de computadores encontra-se as

    redes locais. Essas redes geralmente so privadas e permitem a interconexo de

    dispositivos em uma pequena regio. As redes locais ou Local Area Networks (LANs)

    como so conhecidas, podem ser cabeadas, sem fios ou mistas (NASCIMENTO,

    2011).

    As LANs cabeadas mais comuns utilizam o padro imposto pelo Institute of

    Electrical and Electronics Engineers (IEEE), conhecido como IEEE 802.3 podendo

    atingir velocidades de 100 megabit por segundo (Mbps) 10 gigabit por segundo

    (Gbps). Outro padro bastante popular e geralmente encontrado em notebooks e

    smartphones o IEEE 802.11 conhecido como Wi-Fi ou Wireless Local Area Netwok

    (WLAN), esse padro pode alcanar uma velocidade de at 300 Mbps

    (NASCIMENTO, 2011).

    As redes Wi-Fi esto se tornando cada vez mais populares e utilizadas, pois

    permitem conexes de qualidade sem o uso de fios. Tanto o padro IEEE 802.3

    quanto o IEEE 802.11 podem ser utilizadas no sistema proposto por este trabalho.

  • 35

    2.9 UNIFIED MODELING LANGUAGE (UML)

    Antes de iniciar o desenvolvimento de qualquer software extremamente

    importante analisar cada processo e modelar como o sistema deve se comportar.

    Unifield Modeling Language (UML) ou Linguagem de Modelagem Unificada,

    uma linguagem visual utilizada para modelar sistemas por meio do paradigma da

    orientao a objetos. Essa linguagem tornou-se padro na modelagem de sistemas e

    internacionalmente usada pela engenharia de software (GUEDES, 2007).

    Segundo Guedes (2007) cada diagrama da UML analisa o sistema ou parte

    dele, entre os principais tipos de diagramas podemos citar:

    Diagramas de casos de uso: o diagrama mais geral e informal da UML,

    utilizado principalmente para auxiliar no levantamento e anlise dos requisitos.

    Diagrama de classes: o diagrama mais utilizado e importante da UML, este

    diagrama define a estrutura das classes utilizadas pelo sistema, alm dos

    atributos, mtodos e relacionamentos.

    Diagrama de objetos: um complemento ao diagrama de classes, fornece uma

    viso dos valores armazenados pelos objetos de um diagrama de classes em

    um determinado momento.

    Diagrama de sequncia: preocupa-se com a ordem temporal em que as

    mensagens so trocadas entre os objetos envolvidos em um determinado

    processo.

    Alm dos diagramas descritos acima podemos citar outros como: diagramas de

    comunicao, estrutura composta, mquina de estados, atividade, interao geral,

    componentes, implantao, pacotes e diagramas de tempo (GUEDES, 2007).

  • 36

    3 CAMPO OU REA DE ESTUDO

    Nos ltimos anos a automao residencial ganhou novos adeptos e

    tecnologias, isso ocasionou um crescimento significativo nas residncias

    automatizadas. por esses fatores que a rea de estudo deste trabalho concentrou-

    se no desenvolvimento de uma soluo para controle de automao residencial

    baseada em novas plataformas, mais baratas, populares e pouco exploradas. Essa

    soluo englobou desenvolvimento mvel e desktop, alm de integraes com

    hardwares e circuitos eltricos.

    O campo de estudo concentrou-se em pessoas comuns que procuram um

    controle mais moderno, centralizado, eficiente e automatizado de suas residncias

    com menor custo de implantao, alm de entusiastas, estudantes e pessoas j

    ligadas ao ramo da automao.

    A homologao ou teste deste trabalho foi possvel atravs do desenvolvimento

    de um prottipo, onde foram aplicadas as solues propostas e desenvolvidas no

    decorrer do mesmo.

  • 37

    4 MTODOS

    Este captulo apresenta a classificao quanto aos mtodos, tcnicas e

    perguntas de pesquisa do trabalho.

    4.1 DELIMITAO DO ESTUDO, MTODOS E TCNICAS DE COLETA DE DADOS

    Este trabalho caracteriza-se por ser uma pesquisa exploratria, a mesma

    objetivou-se no desenvolvimento de uma soluo para controle de automao

    residencial a fim de possibilitar aos seus utilizadores um controle distncia ou

    centralizado de suas residncias. As pesquisas realizadas a fim de esclarecer os

    diversos pontos expostos nesse trabalho foram realizadas em livros, sites, artigos e

    outras fontes confiveis.

    O desenvolvimento do trabalho foi realizado entre os anos de 2013 e 2014 pelo

    acadmico Rodrigo Batistello orientado pelo professor Jose Luiz Cunha Quevedo

    como requisito parcial para obteno de grau no curso de Sistemas de Informao na

    Universidade do Oeste de Santa Catarina Unoesc, unidade Chapec que fica

    localizada na Av. Nereu Ramos 3777-D, bairro Seminrio, CEP 89813-000.

    Quanto aos mtodos utilizados este trabalho caracteriza-se por possuir uma

    abordagem dialtica, pois busca argumentar e contra argumentar sobre o assunto e

    tem um procedimento monogrfico, pois foi realizada uma pesquisa aprofundada

    sobre o assunto.

    Quantos as tcnicas foram utilizadas documentao indireta, tanto pesquisa

    documental, como sites da web, quanto pesquisas bibliografias, livros, revistas,

    monografias, entre outros.

  • 38

    4.2 CARACTERIZAO DO ESTUDO

    Quanto aos fins, o estudo caracteriza-se por exploratrio, aplicado e descritivo

    devido ao levantamento bibliogrfico e a possibilidade de experincias diretas na

    soluo proposta, tanto na parte de software com o aplicativo, quanto na parte de

    hardware com a criao do prottipo para exemplificao.

    Quanto aos meios, caracteriza-se em bibliogrfica devido a fundamentao

    terica ser extrada de fontes confiveis como livros, revistas artigos e monografias. E

    tambm como experimental, devido ao desenvolvimento do prottipo, que possibilita

    o controle de iluminao, eletroeletrnicos, alarme, entre outros.

    4.3 TCNICA DE ANLISE E INTERPRETAO DE DADOS

    A tcnica de anlise do trabalho qualitativa, os resultados do mesmo foram

    apresentados atravs de documentos, figuras e de um prottipo de automao

    completo, composto pelos aplicativos necessrios e de toda parte de hardware

    fundamental.

    4.4 QUESTES DE PESQUISA

    Quais so os equipamentos, componentes eletrnicos e ferramentas que

    melhor se adaptam ao trabalho?

    O hardware utilizado suficiente e adequado para execuo das tarefas

    propostas?

  • 39

    5 APRESENTAO E ANLISE DOS RESULTADOS

    Este captulo tem como objetivo apresentar o desenvolvimento do trabalho afim

    de atingir os objetivos propostos. Ser apresentado o prottipo construdo por meio

    de explicaes, imagens, quadros, capturas de telas do sistema desenvolvido e toda

    a parte de modelagem criada.

    5.1 MODELAGEM DO SISTEMA

    O sistema composto por dois aplicativos desenvolvidos em diferentes

    linguagens de programao. O aplicativo servidor foi desenvolvido em Python e o

    aplicativo cliente foi desenvolvido em Java.

    Antes de iniciar o desenvolvimento foi feita toda a anlise necessria, nesta

    anlise foi levantado todos os requisitos funcionais e no funcionais, foi criado e

    expandido o caso de uso alm do modelo entidade-relacionamento (MER) para

    representar o banco de dados sob o qual o sistema executado. Na sequncia ser

    detalhado cada um desses itens.

    5.1.1 Requisitos funcionais e no funcionais

    Todo desenvolvimento de software exige o levantamento de requisitos, sejam

    eles funcionais ou no funcionais. Para o desenvolvimento deste trabalho foram

    levantados os requisitos presentes no quadro 1.

    Quadro 1 - Requisitos funcionais e no funcionais

    1. Controlar luzes e outros equipamentos

    Descrio: Dever ser possvel o controle de luzes e outros equipamentos eletrnicos conectados a rels no sistema de automao, permitindo ligar e desligar estes remotamente.

    Requisitos funcionais

    Nome Restries Categoria

  • 40

    RF 1.1 Identificar os equipamentos

    Dever ser possvel a identificao do equipamento no sistema de automao atravs de um nome definido pelo usurio.

    Interface

    RF 1. 2 Ligar e desligar equipamentos

    Deve ser possvel ligar e/ou desligar determinado equipamento remotamente.

    Usabilidade

    RF 1.3 Identificar equipamentos ligados/desligados

    Devem ser identificados os equipamentos ou luzes ligados e desligados no momento.

    Interface

    2. Controlar sistema de alarme Descrio: O software deve permitir o controle e o monitoramento do sistema de alarme residencial remotamente.

    Requisitos funcionais

    Nome Restries Categoria

    RF 2.1 Ligar e desligar alarme Deve ser possvel ligar e desligar o alarme remotamente pelo usurio a qualquer momento.

    Usabilidade

    RF 2.2 Ligar e desligar pnico Permitir o disparo imediato da sirene pelo usurio, bem como o desligamento da mesma quando desejado.

    Usabilidade

    RF 2.3 Monitorar status Permitir controlar o status do alarme bem como visualizar os ltimos disparos ocorridos.

    Interface

    RF 2.4 Gerenciar sensores Deve ser possvel renomear os sensores e configurar quais sensores esto ativos no momento.

    Usabilidade Interface

    RF 2.5 Configurar opes de disparo

    Permitir selecionar se a sirene deve ser disparada ao detectar algum movimento nos sensores e por quanto tempo a mesma deve permanecer ativa.

    Usabilidade

    RF 2.6 Configurar envio de e-mail

    Deve ser possvel configurar um endereo de e-mail para receber a notificao de alarme disparado.

    Usabilidade

    3. Temperatura e humidade

    Descrio: Permitir atravs de uma interface a visualizao da temperatura e da humidade da residncia.

    Requisitos funcionais

    Nome Restries Categoria

    RF 3.1 Visualizar temperatura e humidade

    Permitir a visualizao da temperatura e humidade da residncia, podendo atualizar os dados a qualquer momento.

    Interface

    4. Cmera de segurana

    Descrio: Utilizada para monitoramento da residncia remotamente.

    Requisitos funcionais

    Nome Restries Categoria

    RF 4.1 Permitir a visualizao da cmera

    Criar uma interface onde o usurio possa visualizar uma cmera instalada na residncia e conectada no sistema de automao a qualquer momento.

    Interface

    5. Manter agendamentos

    Descrio: Utilizado para cadastrar agendamentos no sistema, bem como a visualizao dos agendamentos cadastrados ou a remoo dos mesmos.

    Requisitos funcionais

    Nome Restries Categoria

    RF 5.1 Cadastrar agendamentos

    O sistema deve permitir o cadastro de agendamentos, informando um nome, os equipamentos que deve ser acionados, a data e hora para ligar e desligar e os dias da semana que deve ser repetido.

    Usabilidade Interface

    RF 5.2 Remover agendamento O sistema deve permitir a excluso de um agendamento para que o mesmo no seja mais executado.

    Usabilidade

  • 41

    RF 5.3 Consulta de agendamento

    Permitir a consulta de agendamentos no sistema. Interface

    Requisitos no funcionais

    Nome Restrio Categoria

    RNF 5.4 Desativar automaticamente

    O agendamento deve ser desativado automaticamente aps sua execuo, sendo assim o mesmo no deve mais aparecer consulta de agendamento.

    Interface Segurana

    6. Controlar som ambiente

    Descrio: Permitir o controle remotamente de um sistema de som na residncia.

    Requisitos funcionais

    Nome Restries Categoria

    RF 6.1 Executar Permitir a execuo de uma msica selecionada pelo usurio.

    Usabilidade

    RF 6.2 Pausar Permitir que o usurio pause e retorne a execuo da msica a qualquer momento.

    Usabilidade

    RF 6.3 Avanar e retroceder Permitir avanar para a prxima faixa musical ou retroceder para a faixa anterior.

    Usabilidade

    RF 6.4 Listar msicas Exibir a lista de msicas armazenadas no sistema, bem como uma busca por nome da faixa.

    Usabilidade Interface

    Requisitos no funcionais

    Nome Restrio Categoria

    RNF 6.5 Armazenamento As msicas devem ser armazenadas pelo usurio em uma pasta disponvel atravs de acesso ao File Transfer Protocol (FTP) do sistema, esse acesso deve ser feito atravs de um computador.

    Segurana

    7. Instalao e utilizao

    Descrio: Requisitos necessrios para utilizao do sistema bem como sua instalao.

    Requisitos no funcionais

    Nome Restries Categoria RNF 7.1 Raspberry Pi O servidor deve rodar exclusivamente no

    Raspberry Pi conectado a uma placa de automao especifica.

    Sistema Operacional Hardware

    RNF 7.2 Android O aplicativo cliente roda em plataforma Android 2.3.6 ou superior.

    Sistema Operacional

    RNF 7.3 Banco de dados O banco de dados do servidor deve ser MySQL. Segurana

    RNF 7.4 Login O sistema deve contar com um login e senha de proteo.

    Segurana

    RNF 7.5 Conexo Para utilizao necessria conexo de rede entre o servidor e o cliente, alm de conexo com a internet para envio do e-mail no disparo do alarme.

    Rede

    RNF 7.6 Mltiplas conexes O sistema deve permitir mltiplas conexes Paralelismo

    RNF 7.7 Auto recuperao O sistema deve restaurar o estado anterior no caso de um desligamento inesperado.

    Confiabilidade

    RNF 7.8 Velocidade O sistema deve responder a qualquer comando em menos de 15 segundos.

    Velocidade

    Fonte: O autor.

  • 42

    5.1.2 Caso de uso

    Para proporcionar um melhor entendimento do sistema tambm foi elaborado

    um diagrama de caso de uso. O mesmo pode ser visualizado na figura 6.

    Figura 6 - Caso de uso

    Fonte: O Autor

  • 43

    5.1.2.1 Expanso do caso de uso

    A fim de explicar cada caso de uso foi realizada a expanso do mesmo, assim

    possvel entende-lo ainda melhor. Esta expanso est descrita no quadro 2.

    Quadro 2 - Expanso do caso de uso

    Controlar iluminao e outros equipamentos

    Ator: Morador da residncia 1. Descrio: Ligar ou desligar um equipamento ou iluminao. 2. Fluxo: 2.1 [IN] O morador da residncia informa a opo. 2.2 [OUT] O sistema exibe os botes para controle dos equipamentos. 2.3 [IN] O morador escolhe um equipamento para ligar ou desligar. 2.4 [OUT] O sistema executa o comando e apresenta o resultado alterando a cor do boto. 3. Excees 3.1 Exceo 2.4a: Erro na execuo do comando 2.4a.1 Retornar ao passo 2.3

    Controlar sistema de alarme Ator: Morador da residncia 1. Descrio: Ligar, desligar e monitorar o sistema de alarme. 2. Fluxo: 2.1 [IN] O morador escolhe a opo para controle do alarme. 2.2 [OUT] O sistema exibe as opes disponveis (Ligar, desligar alarme e pnico ou ltimos disparos). 2.3 [IN] O morador escolhe a opo desejada. 2.4 [OUT] O sistema executa a opo selecionada e exibe o retorno. 3. Excees 3.1 Exceo 2.4a: Erro na execuo do comando 2.4a.1 Retornar ao passo 2.3

    Manter agendamentos Ator: Morador da residncia 1. Descrio: Inserir, remover e filtrar agendamentos. 2. Fluxo 2.1 [IN] O morador escolhe a opo para manter agendamento. 2.2 [OUT] O sistema exibe uma interface com os agendamentos cadastrados. 3. Variantes 3.1 Inserir agendamento 3.2 Filtrar agendamento 3.3 Remover agendamento Variante 3.1 Inserir agendamento 3.1.1 [IN] O morador escolhe a opo de novo agendamento. 3.1.2 [OUT] O sistema exibe a interface para inserir um novo agendamento. 3.1.3 [IN] O morador preenche as informaes conforme desejado (nome, equipamentos, datas e dias da semana). 3.1.4 [IN] O morador salva ou cancela a insero do agendamento. 3.1.5 [OUT] O sistema exibe o resultado da solicitao. Variante 3.2 Filtrar agendamento 3.2.1 [IN] O morador preenche o campo de filtro 3.2.2 [OUT] O sistema exibe os agendamentos que atendem a condio do filtro. Variante 3.3 Remover agendamento 3.3.1 [IN] O morador escolhe um agendamento e clica em remover. 3.3.2 [OUT] O sistema exibe o resultado da solicitao de remoo.

    Visualizar temperatura e humidade Ator: Morador da residncia 1. Descrio: Exibe a temperatura e a humidade ambiente.

  • 44

    2. Fluxo 2.1 [IN] O morador escolhe a opo para visualizar a temperatura e a humidade. 2.2 [OUT] O sistema retorna os dados para o usurio.

    Visualizar cmera de segurana Ator: Morador da residncia 1. Descrio: Exibe a imagem da cmera de segurana. 2. Fluxo 2.1 [IN] O morador escolhe a opo de visualizao de cmera. 2.2 [OUT] O sistema exibe a imagem da cmera de segurana conectada ao sistema.

    Controlar som ambiente

    Ator: Morador da residncia 1. Descrio: Controla o som ambiente da residncia. 2. Fluxo 2.1 [IN] O morador da residncia escolhe a opo de controle do som ambiente. 2.2 [OUT] O sistema apresenta uma interface com a lista de msicas onde possvel, filtrar, executar, pausar, parar, avanar ou retroceder. 3. Variantes 3.1 Executar 3.2 Pausar 3.3 Avanar 3.4 Retroceder 3.5 Parar 3.6 Filtrar Variante 3.1 Executar 3.1.1 [IN] O morador escolhe uma faixa para reproduo ou clica no boto Play. 3.1.2 [OUT] O sistema executa a msica desejada. Variante 3.2 Pausar 3.2.1 [IN] O morador clica no boto correspondente ao pausar. 3.2.2 [OUT] O sistema pausa a msica em execuo. Variante 3.3 Avanar 3.3.1 [IN] O morador clica no boto correspondente ao avano de faixa. 3.3.2 [OUT] O sistema avana para a prxima faixa. Variante 3.4 Retroceder 3.4.1 [IN] O morador clica no boto correspondente ao retroceder. 3.4.2 [OUT] O sistema volta para a faixa anterior. Variante 3.5 Parar 3.5.1 [IN] O morador clica no boto correspondente para parar a execuo da msica. 3.5.2 [OUT] O sistema para a execuo da msica. Variante 3.6 Filtrar 3.6.1 [IN] O morador preenche o campo de filtro. 3.6.2 [OUT] O sistema filtra as faixas musicais que atendem ao filtro aplicado.

    Configurar opes de funcionamento

    Ator: Morador da residncia 1. Descrio: Exibe as configuraes disponveis, alm de permitir a modificao das mesmas. 2. Fluxo 2.1 [IN] O morador escolhe a opo de configurao do sistema; 2.2 [OUT] O sistema exibe as configuraes disponveis por aba (geral, rels, alarme, e-mail). 2.3 [IN] O morador escolhe a aba desejada. 2.4 [OUT] O sistema exibe as configuraes da aba. 2.5 [IN] O morador faz as alteraes conforme desejado, salvar ou cancela as alteraes. 3. Variantes 3.1 Salvar alteraes 3.2 Cancelar alteraes Variante 3.1 Salvar alteraes 3.1.1 [IN] O morador salva a nova configurao. 3.1.2 [OUT] O sistema exibe uma mensagem com o resultado da solicitao. Variante 3.2 Cancelar alteraes 3.2.1 [IN] O morador retorna sem salvar as alteraes. 3.2.2 [OUT] O sistema retorna ao estado anterior.

    Fonte: O autor.

  • 45

    5.1.3 Modelo Entidade-Relacionamento

    O modelo entidade-relacionamento (MER) utilizado para representao do

    banco de dados utilizado pelo sistema. Este simples, composto por apenas 9 tabelas

    e 4 relacionamentos. Ele foi desenvolvido para utilizao no banco de dados MySQL.

    Foi pensado em um modelo simples para um melhor funcionamento no hardware

    disponvel. O mesmo pode ser visualizado na figura 7.

    Figura 7 - MER

    Fonte: O autor.

    A explicao para cada tabela do MER criado a seguinte:

    Rele: Tabela que armazena as configuraes dos rels da placa de automao

    utilizada, essa tabela preenchida de forma fixa com 13 registros que

    correspondem a 10 rels e outros 3 transistores. Nessa tabela possvel

    atravs do sistema apenas alterar o nome e o status dos rels.

    SensorAlarme: Tabela que armazena as informaes dos sensores de alarme

    da placa de automao. Preenchida de forma fixa com 8 registros que

  • 46

    correspondem ao nmero de sensores da placa. Atravs do sistema possvel

    alterar o nome do sensor e o campo Ativo que diz se o mesmo est ou no

    sendo utilizado.

    DisparoAlarme: Tabela que armazena os disparos do alarme, ela est

    relacionada com a tabela de SensorAlarme, a fim de saber qual sensor originou

    o disparo. Atravs da mesma tambm possvel saber a data e a hora que o

    mesmo ocorreu.

    ConfiguracaoAlarme: Tabela que armazena as configuraes definidas pelo

    usurio, que dizem como o alarme deve se comportar, no tem relacionamento

    com outras tabelas pois utilizada em uma funo especfica no sistema,

    fazendo-se desnecessria essa relao.

    ConfiguracaoEmail: Tabela que armazena a configurao do e-mail feita pelo

    usurio. Armazena o destinatrio do e-mail e os dados do servidor que ser

    utilizado para envio. No tem relao com outras tabelas pois armazena uma

    nica configurao.

    Usurio: Tabela que armazena o usurio e a senha para login no sistema, no

    permitido o cadastro de mais de um usurio, possvel apenas alterar o

    existente.

    Agendamento: Tabela que armazena os agendamentos definidos pelo

    usurio, datas, status, nome.

    DiaAgendamento: Tabela que armazena os dias que o agendamento deve ser

    executado, est relacionada com a tabela de Agendamento atravs de uma

    chave estrangeira. Os dias ficam armazenados em um campo inteiro onde

    domingo corresponde a 0 e sbado a 6.

    ReleAgendamento: Tabela que armazena os rels que devem ser acionados

    para aquele agendamento. Est relacionada atravs de uma chave primaria e

    estrangeira com a tabela de Rele e tambm com a tabela Agendamento.

    5.2 INSTALAO DO SISTEMA OPERACIONAL E APLICATIVOS

    Para o desenvolvimento deste trabalho foi necessrio realizar a instalao e

    configurao de diversas bibliotecas, aplicativos e o prprio sistema operacional do

  • 47

    Raspberry Pi. Como o mesmo utiliza Linux, que um sistema operacional menos

    conhecido pelas pessoas as mesmas sero detalhadas na sequncia.

    5.2.1 Instalao do sistema operacional no Raspberry Pi

    Como mencionado na fundamentao terica foi optado pelo uso do sistema

    operacional Raspbian, o mesmo encontra-se disponvel para download no site oficial

    do Raspberry Pi (http://www.raspberrypi.org/downloads/). Efetuado o download foi

    necessrio extrair o arquivo que encontra-se compactado e utilizar a ferramenta

    Win32 Disk Imager (http://sourceforge.net/projects/win32diskimager) para copiar o

    sistema operacional para o carto de memria, esse precisa ter pelo menos 4GB livre

    e uma velocidade igual ou superior a classe 4, esse processo pode ser observado na

    figura 8.

    Figura 8 - Envio do sistema operacional para o carto de memria

    Fonte: O autor.

    Depois de carregar o sistema operacional no carto de memria, foi inserido o

    mesmo no Raspberry Pi, conectado o mesmo na rede cabeada e ligado na energia.

    Verificando as conexes ativas na tabela do roteador foi obtido o endereo IP do

    mesmo, e assim foi utilizada a ferramenta Putty (http://www.putty.org/) para

    estabelecer uma conexo Secure Shell (SSH), que nada mais que uma conexo

    remota, assim ficou dispensado o uso de um monitor, teclado e mouse. A interface da

    ferramenta pode ser observada na figura 9.

  • 48

    Figura 9 - Interface da ferramenta Putty

    Fonte: O autor.

    Ao estabelecer a conexo pela primeira vez (figura 10) foi utilizado o usurio

    pi e a senha raspberry para login no sistema. A partir da foi alterado algumas

    configuraes e atualizado o sistema com os respectivos comandos:

    sudo raspi-config

    sudo apt-get update

    sudo apt-get upgrade

    Figura 10 - Conexo como Raspbery Pi atravs da ferramenta Putty

    Fonte: O autor

  • 49

    5.2.2 Instalao da IDE de desenvolvimento no Raspberry Pi

    Para desenvolver o trabalho na linguagem Python no Raspberry Pi optou-se

    pela utilizao da Integrated Development Environment (IDE) desenvolvida pela

    Adafruit, denominada WebIDE, a empresa desenvolvedora a mesma que

    desenvolveu algumas das bibliotecas utilizadas neste trabalho. Esta IDE facilita muito

    o desenvolvimento, uma vez que possu uma interface web, simples e muito eficiente.

    Segundo Cooper (2012) a instalao da mesma possvel atravs da execuo do

    seguinte comando: curl https://raw.githubusercontent.com/adafruit/Adafruit-

    WebIDE/alpha/scripts/install.sh | sudo sh.

    Realizado o procedimento de instalao foi alterado a porta de acesso por meio

    de um navegador, acessando um endereo no seguinte padro: http://IP do Raspberry

    Pi/config (COOPER, 2012).

    Depois de alterar a porta foi necessrio reiniciar o Raspberry Pi. Feito isso

    bastou apenas acessar novamente o endereo removendo o config do final (http://IP

    do Raspberry Pi). Nesta etapa foi necessrio configurar uma conta no Bitbucket que

    nada mais que um repositrio de fontes online, privado e gratuito. Nesta etapa foi

    exibido na tela todos os passos que devem ser seguidos para obter acesso a IDE que

    pode ser observada na figura 11. (COOPER, 2012).

    Figura 11 - Interface da IDE para desenvolvimento em Python

    Fonte: O autor.

  • 50

    5.2.3 Configurao dos pinos GPIO

    Para utilizao dos pinos GPIO que permitem o controle do sistema de

    automao, foi necessrio seguir alguns passos para configurar os mesmos, esses

    passos so disponibilizados pela empresa que desenvolve a biblioteca e podem ser

    facilmente executados no sistema.

    Seguindo as orientaes de Monk (2012) foi necessria instalao de dois

    pacotes obtidos pelos comandos:

    sudo apt-get install python-dev

    sudo apt-get install python-rpi.gpio

    Depois foi editado um arquivo com o seguinte comando:

    sudo nano /etc/modules

    E adicionado as seguintes linhas:

    i2c-bcm2708

    i2c-dev

    Instalado mais dois pacotes:

    sudo apt-get install python-smbus

    sudo apt-get install i2c-tools

    Editado o arquivo e removida as entradas da blacklist comentando as linhas (#):

    sudo nano /etc/modprobe.d/raspi-blacklist.conf

    # blacklist spi-bcm2708

    # blacklist i2c-bcm2708

    5.2.4 Instalao do banco de dados

    Para armazenar as informaes necessrias no sistema de automao foi

    optado pelo uso do banco de dados MySQL junto ao aplicativo servidor. Essa opo

    foi devido a facilidade de instalao, utilizao, integrao com a linguagem Python e

    tambm pelo mesmo ser relativamente leve, funcionando sem problemas no

    Raspberry Pi.

  • 51

    A instalao foi simples obtida atravs da execuo de um nico comando no

    terminal do Linux, foi necessrio tambm configurar a senha de acesso para o usurio

    root do banco de dados quando solicitado (RASPBERRY WEB SERVER, [2013?]).

    sudo apt-get install mysql-server python-mysqldb

    5.2.5 Instalao do gerenciador do banco de dados

    Para gerenciar o banco de dados foi utilizado o aplicativo phpMyAdmin. Essa

    ferramenta bastante til pois facilita a criao e manipulao dos objetos do banco

    de dados. Ela roda em um servidor web, portanto pode ser acessada facilmente

    atravs de um navegador.

    Seguindo a orientao de Fulton (2013) a instalao foi bem simples bastando

    a execuo do comando abaixo e informando os dados de usurio e senha do banco

    quando solicitado.

    sudo apt-get install phpmyadmin

    5.2.6 Instalao do servidor FTP

    Tambm foi instalado no Raspberry Pi um servidor File Transfer Protocol (FTP)

    para possibilitar a transferncia de arquivos para o mesmo. Esses arquivos consistem

    principalmente nas msicas que so executadas a partir do aplicativo.

    Para efetuar a instalao foi seguido as orientaes de Pinto (2013) e

    executado os seguintes comandos:

    sudo apt-get install vsftpd

    sudo nano /etc/vsftpd.conf

    E editar as seguintes opes:

    Desativar o acesso annimo

    anonymouse_enable=NO

    Permitir o acesso dos utilizadores locais (criados no Linux)

    local_enable=YES

  • 52

    write_enable=YES

    Alterar Banner do servio

    ftpd_banner=Bem-Vindo ao FTP House Pi

    Por fim, salvar o arquivo e reiniciar o servio.

    sudo /etc/init.d/vsftpd restart

    5.2.7 Instalao do servidor de cmera

    Para streaming de vdeo da cmera conectada ao Raspberry Pi foi utilizada a

    biblioteca mjpg-streamer. Segundo IQ JAR (2013) a instalao da mesma consiste na

    execuo das seguintes etapas:

    sudo apt-get install libv41-0

    wget http://iqjar.com/download/jar/soft/mjpg-streamer.tar.gz

    tar -zxvf mjpg-streamer-rpi.tar.gz

    cd mjpg-streamer

    ./mjpg-streamer.sh start

    Onde: mjpg-streamer.sh [start|stop|restart|status] [porta] [resoluo] [frames].

    Exemplo para visualizao da imagem: http://raspberrypi:8083/?action=stream

    5.2.8 Instalao do MPlayer

    Para execuo das msicas atravs do aplicativo foi utilizado um player muito

    conhecido no Linux o MPlayer. A instalao do mesmo realizada com a execuo

    do seguinte comando:

    sudo apt-get install mplayer

  • 53

    5.3 CONSTRUO DO PROTTIPO

    A construo do prottipo foi de extrema importncia neste trabalho, atravs

    dele foi possvel ver de fato como se comporta uma residncia automatizada. Os

    componentes utilizados foram adquiridos em lojas de componentes eletrnicos, no

    optou-se por uma marca especfica foi apenas utilizado o que estava disponvel. A

    ideia foi montar uma casa onde fosse possvel controlar a iluminao (representada

    atravs de leds), um sistema de alarme, uma cmera, um sensor de temperatura e

    humidade, alm de uma tomada para ligar algum outro tipo de equipamento.

    Esse prottipo foi construdo com uma maquete de Medium Density Fiberboard

    (MDF) adquirida atravs do site Mercado Livre, a mesma vem desmontada sendo

    necessrio colar suas partes. O processo de montagem pode ser observado na figura

    12.

    Figura 12 - Montagem da Maquete

    Fonte: O autor.

    Finalizada esta etapa foi envernizada a madeira para maior durabilidade, e

    fixada a mesma sobre uma base para representar o jardim da residncia. O prottipo

    pronto pode ser visualizado na figura 13.

  • 54

    Figura 13 - Prottipo para demonstrao do sistema de automao

    Fonte: O autor.

    Depois disso foi construdo a estrutura eltrica do sistema, iniciando pelo painel

    de controle que foi montado sobre uma base de Voz, Dados e Imagem (VDI), esta

    base permite a fixao dos componentes e a organizao dos cabos, esse painel fica

    localizado no interior da maquete, mais precisamente no sobrado da casa. Na

    estrutura eltrica foi utilizado:

    1 Quadro VDI;

    1 Raspberry Pi modelo B;

    1 Placa de automao criada pelo Projeto Arduino;

    1 Sensor DHT22 (Sensor de temperatura e humidade);

    1 Sirene de alarme comum 12 volts;

    1 Adaptador Wi-Fi;

    1 Carto de memria SD de 16GB;

    1 Sensor de alarme infravermelho;

    1 Sensor de alarme magntico;

    1 Webcam USB;

    8 Leds verde straw hat (3.6 volts);

    9 Leds branco frio straw hat (3.6 volts);

    18 Resistores 10k (Para ligar os leds em 6 volts e o sensor DHT em 5 volts);

    1 Fonte 12 volts e 2 amperes (alimentao das placas);

    1 Fonte 6 volts e 2 amperes (alimentao dos leds);

    1 Caixa de som;

  • 55

    Fios, conectores, parafusos, presilhas, fita isolante e dupla face;

    Os componentes utilizados podem ser observados na figura 14, alguns deles

    foram comparados a outros objetos para melhor noo de tamanho. Nem todos os

    componentes esto na mesma escala da maquete, por isso necessrio adapt-los,

    como no caso da sirene que foi desmontada posteriormente para caber no prottipo.

    Figura 14 Componentes utilizados para montagem do sistema de automao

    Fonte: O autor.

  • 56

    A conexo entre a placa de automao e o Raspberry Pi feita atravs de um

    cabo flat, basta apenas prestar ateno no lado correto de conexo, identificado pela

    tarja branca/vermelha do cabo.

    J a conexo com os demais sensores e equipamentos um pouco mais

    complexa. No caso do sensor de temperatura e humidade a conexo foi feita com o

    pino GPIO 28 do Raspberry Pi. Para que essa conexo funcione necessrio ligar o

    sensor em uma fonte de energia de 5 volts e tambm a um resistor de 10k, essa

    ligao representada pela figura 15.

    Figura 15 - Esquema eltrico do sensor de temperatura e humidade

    Fonte: O autor.

    Para ligar os sensores de alarme bastou conecta-los na placa de automao,

    no caso de sensores infravermelhos (destinados a deteco de movimento no

    ambiente) necessrio conectar tambm a uma fonte de alimentao, no caso do

    sensor utilizado 12 volts, para o sensor magntico (destinado a portas e janelas, que

    violado sempre que uma das partes afasta-se da outra) no necessria uma fonte

    de alimentao. O esquema de ligao pode ser observado na figura 16 onde

    utilizado um sensor infravermelho comum, facilmente encontrado em lojas de

    componentes eletrnicos.

  • 57

    Figura 16 - Esquema de conexo dos sensores de alarme

    Fonte: O autor.

    O esquema de conexo dos rels pode ser observado na figura 17. Para

    funci