Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bacharelado em Ciência da Computação Escola de Engenharia de Piracicaba Fundação Municipal de Ensino de Piracicaba Automação com Arduino: Luzes e Temperatura Guilherme Frander Bassa Ano: 2017 Bacharelado em Ciência da Computação Escola de Engenharia de Piracicaba Fundação Municipal de Ensino de Piracicaba Automação com Arduino: Luzes e Temperatura Monografia de Conclusão de Curso de Graduação apresentada à Escola de Engenharia de Piracicaba como um requisito para a conclusão do Curso de Bacharelado em Ciência da Computação Discente: Guilherme Frander Bassa Docente Orientador: José Martins Junior - i - FOLHA DE APROVAÇÃO Data de Defesa: Banca Examinadora Prof. ............................... Assinatura: Prof. ................................. Assinatura: Prof. ................................ Assinatura: - ii - AGRADECIMENTOS Agradeço aos meus professores, ao meus pais, a minha namorada, que sem essas pessoas eu não teria condições de chegar até aqui. - iii - RESUMO Com o passar dos anos o número de aparelhos eletrônicos nas casas vêm crescendo rapidamente, com isso surge e a necessidade desses aparelhos serem controlados a distância gerando conforto e comodidade para as pessoas em suas casas. Com esse objetivo, o presente projeto apresenta um sistema mobile para proporcionar a o controle de vários aparelhos através de um celular por uma rede wireless. Para ser possível essa comunicação será utilizada a placa Arduino, pois cobre todas as necessidades de recursos do projeto, através de seus sensores e Shields. Podendo assim acender uma luz pelo celular ou programar para que o ventilador ligue quando a casa estiver em uma certa temperatura. - iv - ABSTRACT Over the years the number of electronic gadgets in homes has been growing rapidly, with this emerges and the devices are controlled at a distance generating comfort and convenience for the people in their homes. To this end, the present project introduced a mobile system to provide control of multiple messages through a mobile over a wireless network. To be possible, this communication must be used on an Arduino board, because it covers all the project resource needs, through its sensors and shields. This way you can light a light for the cell phone or program for the fan to turn on when a house is at a certain temperature. - v - LISTA DE ILUSTRAÇÕES Figura 1 – Arquitetura centralizada dos equipamentos...................................................08 Figura 2 – Integração de recursos habitacionais de uma residência................................09 Figura 3 – Arduino uno...................................................................................................11 Figura 4 – Hierarquia de View........................................................................................12 Figura 5 – Diagrama de caso de uso................................................................................16 Figura 6 – Diagrama de atividades..................................................................................17 Figura 7 – Diagrama de atividades..................................................................................18 Figura 8 – Diagrama de classe.........................................................................................19 Figura 9 – Fluxograma Arduino......................................................................................20 Figura 10 – Ciclo de vida Services..................................................................................21 - vi - LISTA DE TABELAS Tabela 1 – Cronograma de desenvolvimento...............................................................05 - vii - LISTA DE ABREVIATURAS E SIGLAS USB - Universal Serial Bus IDE - Integrated Development Environment PC - Personal Computer LAN - Local Area Network WAN - Wide Area Network TCP - Transmission Control Protocol IP - Internet Protocol UDP - User Datagram Protocol Open Source Código Aberto XML- Extensive Markup Language - viii - SUMÁRIO RESUMO .................................................................................................. iii ABSTRACT ............................................................................................... iv LISTA DE ILUSTRAÇÕES ......................................................................... v LISTA DE TABELAS ................................................................................. vi LISTA DE ABREVIATURAS E SIGLAS ....................................................... vii 1 INTRODUÇÃO 1.1 Contextualização ........................................................................... 01 1.2 Objetivo ......................................................................................... 02 1.3 Motivação ...................................................................................... 03 1.4 Materiais e Métodos ....................................................................... 04 1.5 Cronograma Realizado ................................................................... 05 2 REVISÃO BIBLIOGRÁFICA 2.1 Considerações Iniciais .................................................................... 06 2.2 Domótica ....................................................................................... 06 2.2.1 O Conceito, a história e aplicações ....................................... 06 2.2.2 O funcionamento da Domótica .............................................. 07 2.2.3 Aplicações e Benefícios ..........................................................08 2.3 Arduino ......................................................................................... 09 2.3.1. Sensores e Shields ............................................................... 10 2.3.2 Arduino Uno ....................................................................... 10 2.4 Desenvolver para Android .............................................................. 11 2.4.1. Hierarquia de Views e ViewGroups ...................................... 12 2.4.1. XML em Android ................................................................. 12 2.4.1. Layouts ............................................................................... 13 2.4.1. Classe R .............................................................................. 13 - ix - 3 PROJETO 3.1 Considerações Iniciais ................................................................... 14 3.2 Especificação de Usuários ............................................................. 14 3.3 Especificação de Requisitos ........................................................... 14 3.4 Artefatos de Análise ....................................................................... 15 3.5 Artefatos de Projeto ........................................................................ 18 3.6 Considerações Parciais .................................................................. 21 REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 22 Parecer do Orientador ....................................................................... 24 pg. 1Capítulo 1 Introdução 1.1. Contextualização Com o constante aumento na velocidade de divulgação da informação, e com a vida das pessoas ficando cada vez mais desgastantes, com mais tarefas para serem desenvolvidas, o tempo virou um inimigo para grande parte da população. Então, há sempre a busca por diminuir o tempo gasto nas tarefas diárias mais demoradas como lavar roupa, ou até mesmo nas mais simples como levantar da cadeira para ligar um ventilador. Seguindo essa tendência foi identificada a necessidade de criar um sistema para que essas tarefas simples do dia a dia possam ser feitas com mais facilidade e conforto, através de um celular conectado à Internet. O processo de automação residencial é chamado de “Domótica”, que consiste em gerenciar e controlar o ambiente residencial, inclusive remotamente, fazendo uso da informática para isso. Os atuais sistemas domésticos são isolados e não possuem interação com outros sistemas. O desenvolvimento e implantação de um sistema domótico apresenta extrema complexidade de implementação de suas funcionalidades, que devem ser sensíveis ao contexto e à presença das pessoas, proporcionar o acesso à informação em todos os lugares, de maneira pervasiva, bem como possibilitar uma interação natural com o usuário (Veronese, 2015). pg. 2 1.2. Objetivo O objetivo deste projeto é desenvolver um aplicativo em Java, para que sejam controlados aparelhos eletrônicos nas residências. A proposta inicial é que o usuário decida uma temperatura em que seja ligado um ventilador ou ar condicionado automaticamente e através do aplicativo consiga fazer o acionamento e desligamento da iluminação da casa, através de um dispositivo com sistema operacional Android. Para que seja possível alcançar o objetivo será necessário uso do Arduino, integrado a um Ethernet Shield, um Rele Shield e um sensor de temperatura, através de uma rede Wireless, onde o Arduino vai se comunicar com o smartphone, recebendo os comandos e assim acionando as lâmpadas e o ventilador. pg. 3 1.3. Motivação As principais motivações para desenvolver esse projeto, foram a de facilitar a vida das pessoas, dando mais conforto e diminuindo o tempo gasto com tarefas simples, e também deixar uma casa adaptada para pessoas com deficiência física ou com dificuldade para se locomover. Outra motivação é a de aprimorar o trabalho apresentado por Veronese (2015), fazendo com que o aplicativo além de aceder e apagar luzes, meça a temperatura e ligue um ventilador em uma temperatura pré-selecionada. pg. 4 1.4. Materiais e Métodos Para o desenvolvimento deste projeto serão utilizados materiais específicos da plataforma Arduino: Arduino uno, módulo Rele Shield, protoboard, Ethernet Shield, Jumpers e sensor de temperatura. Também são necessárias para desenvolvimento desse projeto metodologias de desenvolvimento de software, assim como suas ferramentas de desenvolvimento: IDE de programação para Arduino, programação orientada a objetos Java, programada em Android Studio. Além da Plataforma Arduino e das metodologias de desenvolvimento de software foram utilizados um smartphone com sistema operacional Android, um roteador e um computador com sistema operacional Windows. pg. 5 1.5. Cronograma Realizado Tabela 1 - Cronograma de desenvolvimento. (Fonte: elaborado pelo autor) ATIVIDADES JAN FEV MAR ABR MAI JUN JUL AGO SET OUT NOV DEZ Escolha do tema Escolha do orientador Pesquisa Bibliográfica Entrega de relatórios quinzenais Estudo de programação Estudo sobre Arduino Elaboração do projeto Entrega da primeira parte da monografia Desenvolvimento do aplicativo Testes com arduino Implementar comunicação arduino e app Ligando Lâmpada pelo arduino Medindo temperatura Finalizando projeto Revisão bibliográfica complementar Entrega Final da Monografia Entrega do trabalho pg. 6 Capítulo 2 Revisão Bibliográfica 2.1. Considerações Iniciais Este capítulo trata de toda a fundamentação teórica necessária para o desenvolvimento deste trabalho, entre os quais se destacam Domótica, Arduino, desenvolvimento para Android Studio com linguagem Java. 2.2. Domótica 2.2.1 O Conceito, a história e aplicações As primeiras tentativas de Domótica surgiram na antiguidade mas, na verdade, o seu impacto aconteceu na Revolução Industrial, juntamente com o comercio da eletricidade (Diondo, 2011). No entanto, a implantação da Domótica era custosa, mas com os avanços tecnológicos ao passar dos tempos, os adventos da Internet, a fabricação de novos hardwares e consequentemente o desenvolvimento de novos softwares são os fatores que possibilitaram o surgimento desses conceitos nos âmbitos residenciais. Por exemplo, em 1975 surgiram os primeiros dispositivos X-10, os quais permitiam a comunicação entre luzes e aparelhos e foi somente em 1980 que houve o lançamento de um software de automação para computador pessoal, sendo seguido em 1989 pelo sistema de segurança doméstico. Atualmente, porém, com a enorme demanda dos componentes eletrônicos e com valores mais acessíveis, bem como melhor custo-benefício, teve-se maior divulgação e utilização da Domótica em sistemas de comunicação em que o acesso é via painel eletrônico online (telefone ou Internet), por meio de smartphones, tablets ou mesmo TVs pg. 7 Portanto, para compreender de maneira mais inteligível, tem-se a definição da palavra Domótica, a qual resulta da junção da palavra latina "Domus" significa "casa" com o termo robótica (Angel,1993). É por meio dele que se pode obter o controle, a facilidade da rotinas e tarefas residenciais como, por exemplo, o controle de temperatura, iluminação, controle de segurança e até mesmo a economia de recursos como as contas de energia e de água, sendo que podem ser cronometrados para funcionar por determinado tempo a ser administrado pelo indivíduo. 2.2.2 O funcionamento da Domótica Para suprir as necessidades e também as exigências das pessoas de determinada casa automatizada há a conexão integrada entre diversos dispositivos eletroeletrônicos, presente na residência, e podem ser monitorados através de uma única central. Ou seja, os diversos equipamentos a serem utilizados remotamente, necessitam dos atuadores, sensores, controladores, barramento e interfaces. • Atuadores: controlam os aparelhos, como as luzes e os ventiladores; • Sensores: detecta as informações ambientais e do meio, como luminosidade, umidade e presença; • Controladores: responsáveis pela gestão dos atuadores e sensores, e por isso coordenam todos os equipamentos que fazem parte da Domótica em cada moradia; • O Barramento é o meio físico responsável pelo transporte das informações (rede elétrica, telefônica etc.) (CASADOMO, 2010); • As Interfaces são os dispositivos ou mecanismos (navegador de Internet, celular, painéis, controles remotos, interruptores etc.) que permitem ao usuário visualizar as informações e interagir com o sistema de automação (CASADOMO, 2010). pg. 8 Figura 1 – Arquitetura centralizada dos equipamentos Fonte: Quinderé (2009) 2.2.3 Aplicações e Benefícios A sua função da Domótica é atender a exigência e as necessidades de cada pessoa. Todavia, pode-se apresentar resumidamente exemplos das utilizações dessa ferramenta. • Ligar e desligar aparelhos e luzes; • Controlar a intensidade da luz paraclimatizar a ocorrência de eventos; • Desligar todas as tomadas via controle remoto; • Acionar alarmes na detecção de invasão; • Controlar a temperatura, acionando ventiladores, fechamentos de cortinas, pelo aplicativo ou mesmo pela programação horária; • Controlar a irrigação do jardim; • Fazer a manutenção de piscina, como por exemplo, a programação da filtragem; • Controlar o acesso a garagem. Com a produção de um bom projeto domótico, apesar do custo vir diminuindo com o tempo, ainda sim o investimento para aplicação deste recurso não é acessível a todos, por mais que haja aplicações desses recursos nas partes de eletrônica, eletricidade e tecnologia da informação e que possam ser acessados e gerenciados de qualquer parte do mundo. No entanto, para aqueles que podem fazer uso dessa automação, pode-se constar diversos benefícios, tornando a vida tão corrida de uma pessoa em uma vida de repleta de comodidades. pg. 9 • Economia de Energia, pois é utilizada quando é realmente necessária; • Conveniência: controle de som, luzes e temperaturas independente dos cômodos da residência caso o sistema seja integrado com controle centralizado; • Segurança: travamento de portas, circuitos fechados de TVs; • Economia de Tempo ao realizar as tarefas residenciais rotineiras; • Esforço reduzido: poder ligar TV, diminuir o som tudo através de um sistema; • Conforto; • Acessibilidade às pessoas com necessidades especiais; • Maiores e mais fáceis acessos na comunicação. Figura 2 – Integração de recursos habitacionais de uma residência. Fonte: mrinformatica.com pg. 10 2.3. Arduino O Arduino teve seu início por volta do ano de 2005 no Design Interaction Institute na cidade de Ivrea na Itália. O Professor Massimo Banzi, procurava uma forma de desenvolver algo com um custo relativamente baixo para os estudantes de design desenvolverem seus projetos tecnológicos. Por uma coincidência um pesquisador estudante da Universidade de Malmö, na Suécia o Sr. David Cuartielles também procurava algo semelhante a Massimo, e com isso se encontraram e discutiram sobre o assunto, desta conversa nasceu o Arduino. Os produtos comercializados na época eram muito caro e difíceis de utilizar, e o Arduino nasceu com o intuito de ser simples na sua utilização e bem acessível financeiramente e o objetivo foi alcançado, o Arduino não custava mais que uma pizza e sua plataforma era extremamente simples de ser utilizada. David Cuartielles projetou a placa e um aluno de Massimo, David Mellis, desenvolveu o software para executar esta placa. Massimo contratou um engenheiro local, Gianluca Martino, que também trabalhou no Design Interaction Insitute ajudando alunos com seus projetos. Gianluca então concordou com Massimo em produzir uma tiragem inicial das placas do Arduino (Everson da Silva, 2015). 2.3.1. Sensores e Shields As placas que aperfeiçoam as capacidades do Arduino são denominadas de Shields. Shields são placas de circuito eletrônico que podem ser acopladas ao módulo principal do Arduino através de seus pinos, permitindo desta forma estender a capacidade do sistema. O Relé Shield permite que o Arduino acione de maneira fácil outros dispositivos eletrônicos. A voltagem de operação e a quantidade de relés existentes em sua placa shield podem variar de acordo com o modelo do shield. Quando usado junto com o módulo Ethernet Shield permite o acionamento de dispositivos através de protocolos de rede Ethernet (Veronese, 2015). A definição para a escolha de um sensor de temperatura não é algo tão simples, pois envolve diversos fatores que se mal avaliados podem levar a resultados inesperados e até catastróficos num projeto. O fato de essa medida ser constituída por um simples pg. 11 valor analógico (que eventualmente deve ser convertido para a forma digital), não tira a importância de diversos fatores que podem afetar sua precisão (Everson da Silva, 2015). 2.3.2. Arduino Uno Figura 3 – Arduino uno Fonte: Site Oficial: http://www.Arduino.cc O Arduino Uno (Uno quer dizer um em italiano) foi lançado em meados do mês de setembro do ano de 2010. O Uno placa de microcontrolador baseado no ATmega328 que dispõe de 14 pinos digitais de entrada/saída (dos quais 6 podem ser usados como saídas PWM), 6 entradas analógicas, um ressonador cerâmico 16 MHz, conexão USB, uma entrada de energia tipo DC, um ICSP e um botão de reset. Ele contém tudo o necessário para auxiliar o microcontrolador, basta somente conectá-lo a um computador com um cabo USB ou ligá-lo com um adaptador AC-CC ou bateria para começar a utilizá-lo (Everson da Si lva, 2015). 2.4. Desenvolver para Android Foi escolhido o Android Studio para poder desenvolver o projeto para smartphones com sistema operacional Android, porque tem a interface mais atraente. pg. 12 Para desenvolver em Android Studio é necessário usar a linguagem de programação Java. Android Studio possui muitas ferramentas para aumentar a produtividade na criação de aplicativos Android, destacando-se: um sistema de compilação flexível baseado no Gradle, um emulador rápido com inúmeros recursos, um ambiente unificado para poder desenvolver para todos os dispositivos Android, Instant Run para aplicar alterações a aplicativos em execução sem precisar compilar um novo APK, modelos de códigos e integração com GitHub para ajudar a criar recursos comuns dos aplicativos e importar exemplos de código, ferramentas e estruturas de teste cheias de possibilidades, ferramentas de verificação de código suspeito para detectar problemas de desempenho, usabilidade, compatibilidade com versões e outros, compatibilidade com C++ e NDK, compatibilidade embutida com o Google Cloud Platform, facilitando a integração do Google Cloud Messaging e do App Engine (Android Studio, 2017) . 2.4.1. Hierarquia de Views e ViewGroups A interface gráfica faz uso dos objetos View e ViewGroup, cada um deles descende da classe View. Views: são os elementos base para a construção de aplicações Android, estes componentes visuais permitem a interação com o utilizador. ViewGroup: todos os layots são formados apartir do ViewGroup, são vários views organizados em grupos e assim definicindo posicionamento na tela. Esta classe faz uso de subclasses como LinearLayout, TableLayout, RelativeLayout, AbsoluteLayout, entre outros. Todos os layouts são subclasses da classe Android.view.ViewGroup que por sua vez é subclasse da classe Android.view.View. pg. 13 Figura 4 – Hierarquia de View Fonte: Site SidePlayer <http://slideplayer.com.br/slide/10881975/> 2.4.2. XML em Android Um dos pontos mais fortes da plataforma Android é que ela aproveita a linguagem de programação Java. O Android SDK não oferece tudo o que está disponível no seu Java Runtime Environment (JRE) padrão, mas dá suporte a uma parte bem significativa dos seus recursos. Já há algum tempo, a plataforma Java tem suporte para muitos modos diferentes de trabalhar com XML, e a maioria dos APIs Java relacionados a XML tem suporte total no Android. Por exemplo, Simple API for XML (SAX) do Java e o Document Object Model (DOM) estão disponíveis em Android. Esses dois APIs fazem parte da tecnologia Java há muitos anos. Através do vocabulário XML do Android é possível desenvolver rapidamente layouts e os elementos de tela do mesmo modo que se cria páginas Web em HTML. pg. 14 2.4.3. Layouts Layouts são subclasses de ViewGroup, tendo como principalforma de construção arquivos XML, com vantagem de separação de apresentação e controlar o seu comportamento a partir de código, com isto torna mais fácil a visualização da estrutura da interface e depurar mais facilmente problemas. LinearLayout, RelativeLayout e TableLayout são os estilos de layouts mais comuns. Sendo o LinearLayout o tipo de layout utilizado no Android para se posicionar os elementos em relação a outro, podendo ser referenciado no XML, para que o elemento seja posicionado na tela de acordo com sua posição. LinearLayout possibilita que os componentes da tela se alinhem horizontalmente ou verticalmente. O TableLayout é uma especialização do Linear Layout e é muito utilizado para criar formulários e telas de login, tendo um código muito parecido com tabelas do HTML. Além de vários tipos de layouts, há a possibilidade de combinar vários layots, colocando um LinearLayout dentro de um RelativeLayout por exemplo. 2.4.4. Classe R A classe "R" é responsável por fazer a comunicação entre os arquivos ".xml" e os arquivos ".java". Ela é o “coração” do sistema Android. Ela representa, em forma de atributos Java, todos os recursos da sua aplicação que estão dentro dos diretórios explicados de um aplicativo Android. Sem essa classe não seria possível buscar os valores de variáveis estáticas no arquivo "strings.xml" por exemplo. Ela não deve ser alterada manualmente, pois é alterada automaticamente quando há modificações no projeto, apesar de não ser necessário alterar ou criar essa classe é muito importante que se conheça seus métodos para utilização. pg. 15 Capítulo 3 Projeto 3.1. Considerações Iniciais Neste capítulo, primeiramente são apresentados o público alvo do projeto, e o que é necessário para ele ser desenvolvido. Posteriormente, são apresentados diagramas de caso de uso, de atividade do uso e de classe, para auxiliar no desenvolvimento do projeto e assim facilitar na continuidade do mesmo Para o funcionamento do projeto o Arduino precisa se comunicar com o aplicativo através da rede, para isso é necessária a placa Ethernet shield, que faz esse papel. Também é necessário uso do relé, para as lâmpadas serem ligadas ao Arduino, além do sensor de temperatura, para poder medir a temperatura ambiente e mostrar ela para o usuário (Vinicius, 2016). Ao ser aberto o aplicativo pela primeira vez, será efetuado o cadastro do utilizador, deixando-o como administrador, assim ele irá cadastrar os outros usuários, dando permissão de administrador ou não a eles, além de escolher os dispositivos onde eles poderão ter acesso. Essas informações serão armazenadas pelo aplicativo, para que quando outros usuários acessarem, aparecer na tela para eles apenas o que eles podem fazer. 3.2. Especificação de Usuários O público alvo desse projeto são moradores de residências, que querem ter mais conforto e comodidade no seu lar. Outro público alvo são portadores de deficiências físicas ou com dificuldade de se locomover, causadas pela idade ou alguma doença. pg. 16 3.3. Especificação de Requisitos Este projeto possibilita que os usuários tenham controle das luzes e dos ventiladores de sua residência à distância, por algum dispositivo que utilize um sistema operacional Android. A tela inicial da aplicação irá mostrar quais dispositivos que podem ser controlados pelo usuário que o acessou, além de mostrar a temperatura do ambiente. Também oferece uma opção para programar a temperatura que o usuário preferir para ligar o ventilador automaticamente e se as luzes estão ligadas ou não. O acionamento a distância será feito através de uma conexão Wireless. Onde o Arduino irá se comunicar com o smartphone ou tablet que, por sua vez, irá verificar a permissão do usuário, e quais os dispositivos ele tem acesso. Essas informações serão salvas no próprio celular. 3.4. Artefatos de Análise O diagrama de caso de uso na Figura 5 foi desenvolvido pelo software Astah, e mostra que usuário comum e um administrador não terão diferenças no acesso ao aplicativo, mas o administrador que dará permissões para outros usuários acessarem determinados dispositivos. Também só o administrador irá cadastrar dispositivos e poderá cadastrar novos usuários. pg. 17 Figura 5 – Diagrama de caso de uso Fonte: elaborado pelo autor O diagrama de atividade da Figura 6, mostra o funcionamento do aplicativo, onde o usuário administrador, quando logado, terá acesso a todas as funcionalidades dele, com permissão para usar todos os dispositivos, cadastrar usuários e cadastrar dispositivos. pg. 18 Figura 6 – Diagrama de atividades Fonte: elaborado pelo autor A Figura 7 mostra o funcionamento do aplicativo quando for logado por um usuário comum. Ele poderá ter acesso a todas as funcionalidades do aplicativo, desde que tenha permissão do administrador para isso, as operações que ele não tiver permissão ficarão marcadas em vermelho e se ele tentar acessa-las irá aparecer uma mensagem na tela avisando-o. pg. 19 Figura 7 – Diagrama de atividades Fonte: elaborado pelo autor Sempre depois de efetuada alguma atividade no aplicativo será exibida uma mensagem do que foi feito para o usuário, por exemplo: se for acesa uma lâmpada, irá aparecer uma mensagem assim: “A lâmpada foi acesa com sucesso”. Se o usuário tentar executar uma ação que não tem permissão, irá aparecer a seguinte mensagem: “Sem permissão de acesso”. 3.5. Artefatos de Projeto O projeto é desenvolvido em linguagem Java, então é necessário um diagrama de classes, ilustrado na figura 4. Serão cadastrados usuários que vão se comunicar com o sistema que por sua vez irá mandar sinais via WiFi para o Arduino, assim o Arduino pg. 20 através de seus componentes, Shields e sensores pode acionar as lâmpadas, ligar os ventiladores e medir a temperatura como mostrado no fluxograma da figura 5. Figura 8 – Diagrama de classes Fonte: elaborado pelo autor pg. 21 Figura 9 – Fluxograma Arduino Fonte: desenvolvido pelo autor Para comunicação do Arduino com o aplicativo é necessário que o aplicativo se conecte a rede através de HTTP, criando um Service e um Broadcast Receiver para que a aplicação responda a um evento (Silveira, 2015). Em Android existem dois clientes HTTP: Apache HTTP Client e HttpURLConnection. O Google aconselha o uso de HttpURLConnection desde a versão 2.3 (Gingerbread).Os Services são componentes fundamentais em uma aplicação, possuindo ciclo de vida próprio como mostra a figura 5: pg. 22 Figura 10 – Ciclo de vida Services Fonte: Site http://www.felipesilveira.com.br/2015/03/service-em-Android/. Os Broadcast Receivers são componentes responsáveis por receber e tratar eventos (ou broadcasts) provenientes do sistema ou de outras aplicações. 3.6. Considerações Parciais A partir dos diagramas desenvolvidos neste capítulo é possível implementação do projeto proposto por esse trabalho. Alguns prazos estabelecidos no planejamento inicial acabaram não sendo cumpridos, mas sem afetar o resultado do projeto. pg. 23 Referências Bibliográficas Luciano Veronese, Domótica usando Arduino e dispositivos móveis. Trabalho de conclusão de curso (Curso de Ciências da Computação). Escolade Engenharia de Piracicaba, Piracicaba, SP, 2015. Felipe Silveira, Desenvolvendo para Android, Disponível em: <http://www.felipesilveira.com.br/desenvolvendo-para-Android/> Acesso 20 de abril de 2017. ADAMI, Anna. Domótica, disponível em: <http://www.infoescola.com/tecnologia/Domótica> Acesso 30 de março de 2017. Everson Gilberto da Silva, Monitoramento de Câmara de Congelamento Utilizando Arduino e Java. Trabalho de conclusão de curso (Curso de Ciências da Computação). Escola de Engenharia de Piracicaba, Piracicaba, SP, 2015. PandoraLab, Tutorial: Arduino – primeiros passos, disponível em: <https://pandoralab.com.br/aprenda/tutorial-Arduino-primeiros-passos/>. Acesso 28 de março de 2017. Android Studio, Conheça o Android Studio <https://developer.Android.com/studio/intro/index.html?hl=pt-br>. Acesso 30 de março de 2017. Rodrigo Mingolelli Diondo, Domótica: Sistema e Aplicabilidade. Trabalho de conclusão de curso (Curso de Engenharia Elétrica). Universidade de São Paulo, São Carlor, SP, 2011. pg. 24 Pedro Alexandre Pereira, Programação orientada a objeto <http://slideplayer.com.br/slide/10881975/>. Acesso 30 de março de 2017. pg. 25 Parecer do Orientador O aluno, como esperado, desenvolveu revisão bibliográfica sucinta sobre os principais assuntos relacionados ao tema geral do trabalho. Considerou, entre as obras pesquisadas, a análise de projetos semelhantes, apresentados em TCCs de ex-alunos do curso. A solução proposta, por meio de diagramas e descrições, no Capítulo 3, é compatível com uma primeira concepção para uma fase de modelagem, mas plausível de realização. Alterações futuras podem ser consideradas, em adaptação ao desenvolvimento (codificação e testes) que se seguirá na próxima fase. Assinatura: Data:
Compartilhar