Academia.eduAcademia.edu

TCC Aplicacao Zig Bee Dacio e Wenderson

Este trabalho visa o desenvolvimento de um sistema de acionamento e controle de iluminação de ambientes, baseado no protocolo de comunicação sem fio ZigBee. Intenta-se para a demonstração da factibilidade de, um usuário, acionar os recursos desse sistema via rede local ou internet. Objetiva-se integrar a plataforma Arduino a módulos de comunicação sem fio Xbee, combinando a outros dispositivos auxiliares denominados Shields. Para que ocorra a comunicação adequada entre o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee e a rede, faz-se necessário a criação de uma página Web que permita o acesso rápido aos recursos disponibilizados.Procura-se averiguar a viabilidade de utilização e a capacidade de configuração e atuação, dos dispositivos, quando em conjunto. Pretende-se também, constatar a praticidade de uso e demonstrar a versatilidade para aplicações distintas.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE GOIÁS CAMPUS GOIÂNIA DEPARTAMENTO DE ÁREAS ACADÊMICAS IV COORDENAÇÃO DA ÁREA TELECOMUNICAÇÕES CURSO SUPERIOR DE TECNOLOGIA EM REDES DE TELECOMUNICAÇÕES Dácio Gonçalves de Oliveira Fernandes Wenderson da Silva Vaz ACIONAMENTO E CONTROLE DE ILUMINAÇÃO UTILIZANDO O PROTOCOLO DE COMUNICAÇÃO SEM FIO ZIGBEE Goiânia – Goiás Março/2016 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE GOIÁS CAMPUS GOIÂNIA DEPARTAMENTO DE ÁREAS ACADÊMICAS IV COORDENAÇÃO DE TELECOMUNICAÇÕES CURSO SUPERIOR DE TECNOLOGIA EM REDES DE TELECOMUNICAÇÕES Dácio Gonçalves de Oliveira Fernandes Wenderson da Silva Vaz ACIONAMENTO E CONTROLE DE ILUMINAÇÃO UTILIZANDO O PROTOCOLO DE COMUNICAÇÃO SEM FIO ZIGBEE Trabalho de Conclusão de Curso apresentado ao Instituto Federal de Educação, Ciência e Tecnologia de Goiás, como requisito para obtenção do Título do Curso Superior de Tecnologia em Redes de Telecomunicações. Orientador: Prof.Dr. José Luis Domingos Goiânia – Goiás Março/2016 Dácio Gonçalves de Oliveira Fernandes Wenderson da Silva Vaz ACIONAMENTO E CONTROLE DE ILUMINAÇÃO UTILIZANDO O PROTOCOLO DE COMUNICAÇÃO SEM FIO ZIGBEE FOLHA DE APROVAÇÃO Trabalho de Conclusão de Curso apresentado ao Instituto Federal de Educação, Ciência e Tecnologia de Goiás, como requisito para obtenção do Título do Curso Superior de Tecnologia em Redes de Telecomunicações. Data de aprovação: ____/____/______ __________________________________________________ Prof. Dr. José Luis Domingos __________________________________________________ Prof. Dr. Claudio Afonso Fleury __________________________________________________ Prof. MSc. Paulo César Bezerra Bastos Goiânia – Goiás Março/2016 DEDICATÓRIA Dedicamos este trabalho a Deus, que nos criou e nos deu a capacidade de aprender. Assim, podemos questionar realidades e propor sempre um novo mundo de possibilidades. AGRADECIMENTOS Agradecemos, primeiramente, a Deus que nos deu energia e garra para concluir todo este trabalho. Aos nossos familiares que nos incentivaram durante todos estes anos em que estivemos na faculdade. Aos professores do Instituto Federal de Educação, Ciência e Tecnologia de Goiás, pela confiança, apoio e reflexões críticas. A todos os amigos que fizemos nestes anos de curso, e que nos apoiaram a superar os momentos mais difíceis nessa jornada. Enfim, a todas as pessoas que de alguma forma contribuíram para que conseguíssemos realizar mais essa etapa em nossas vidas. EPÍGRAFE “Se, a princípio, a ideia não é absurda, então não há esperança para ela.” (Albert Einstein) RESUMO Este trabalho visa o desenvolvimento de um sistema de acionamento e controle de iluminação de ambientes, baseado no protocolo de comunicação sem fio ZigBee. Intenta-se para a demonstração da factibilidade de, um usuário, acionar os recursos desse sistema via rede local ou internet. Objetiva-se integrar a plataforma Arduino a módulos de comunicação sem fio Xbee, combinando a outros dispositivos auxiliares denominados Shields. Para que ocorra a comunicação adequada entre o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee e a rede, faz-se necessário a criação de uma página Web que permita o acesso rápido aos recursos disponibilizados.Procura-se averiguar a viabilidade de utilização e a capacidade de configuração e atuação, dos dispositivos, quando em conjunto. Pretende-se também, constatar a praticidade de uso e demonstrar a versatilidade para aplicações distintas. Palavras-chave: Arduino; ZigBee; Acionamento; Iluminação; Web Site. ABSTRACT This work aims to develop a drive system and lighting control environments based on ZigBee wireless communication protocol. Intends to demonstrating the feasibility of a user, trigger the features of this system via local or internet network. It aims to integrate the Arduino platform XBee wireless modules, combining the other so-called auxiliary devices Shields. In order to have proper communication between the drive system and lighting control using the ZigBee wireless communication protocol and network, it is necessary to create a Web page that allows quick access to available resources. Seeking to determine the feasibility of using the configuration and capacity and actions, the devices when together. It is intended also to verify the practicality of use and demonstrate the versatility for different applications. Key-words: Arduino; ZigBee;Actuation; Lighting; Web Site. LISTA DE FIGURAS Figura 1 - Aplicações do protocolo de comunicação sem fio ZigBee ....................... 20 Figura 2 - Pilha do protocolo ZigBee ......................................................................... 24 Figura 3 - Posicionamento das tecnologias wireless ................................................. 25 Figura 4 - Modelo de rede ZigBee ............................................................................ 26 Figura 5 - Arquitetura do projeto................................................................................ 29 Figura 6 - Esquema elétrico da ligação em paralelo entre o interruptor e o relé para acionamento da lâmpada .......................................................................................... 29 Figura 7 - Diagrama de blocos, representação do projeto ........................................ 30 Figura 8 - Motor Shield .............................................................................................. 33 Figura 9 - Shield automação e alarme residencial V4 ............................................... 34 Figura 10 - Arduino EthernetShield ........................................................................... 36 Figura 11 - Xbee Shield ............................................................................................. 36 Figura 12 - Arduino Uno R3....................................................................................... 37 Figura 13 - Arduino Mega 2560 ................................................................................. 38 Figura 14 - Sensor de presença PIR ......................................................................... 39 Figura 15 - Módulo Xbee Pro S2 ............................................................................... 40 Figura 16 - Tela inicial do aplicativo IDE Arduino ...................................................... 42 Figura 17 - Tela de funções do aplicativo IDE Arduino ............................................. 43 Figura 18 - Interface gráfica do aplicativo X-CTU...................................................... 45 Figura 19 - Shield Xbee Explorer acoplado ao módulo Xbee .................................... 46 Figura 20 - Arduino Uno R3 com o microprocessador (esq.), e outro sem o microprocessador (dir.) ............................................................................................. 46 Figura 21 - Jumpers do Xbee Shield na posição Xbee (esq.) e na posição USB (dir.) .................................................................................................................................. 47 Figura 22 - Etiqueta com o endereço MAC e outras informações referentes ao módulo Xbee ............................................................................................................. 48 Figura 23 - Interface do aplicativo Notepad++........................................................... 49 Figura 24 - Interface gráfica do aplicativo EasyPHP ................................................. 50 Figura 25 - Sistema de Controle de Iluminação ........................................................ 53 Figura 26 - Interface gráfica da página Web ............................................................. 53 Figura 27 - Status dos LED’s representando as lâmpadas 3 e 5 no statuson. .......... 54 Figura 28 – Dispositivos que compõem o conjunto Transmissor .............................. 55 Figura 29 – Dispositivos que compõem o conjunto Receptor e o WebSite, mostrando que a lâmpada está desligada................................................................................... 56 Figura 30 – Dispositivos que compõem o conjunto receptor com a lâmpada 3 ligada .................................................................................................................................. 56 Figura 31 - Statuson das lâmpadas 3 e 5 mostradas no notebook ........................... 57 LISTA DE ABREVIATURAS E SIGLAS AC – Alternate Current – Corrente Alternada AES – Advanced Encription Standard – Padrão de Criptografia Avançada APC – American Power Conversion – Empresa Americana fabricante de equipamentos elétricos AVR – Linha de Microcontroladores desenvolvido pela fabricante de circuitos integrados ATMEL. Não é um acrônimo, não possuindo nenhum significado em especial CC – Constant Current – Corrente Contínua DHT - Digital Humidity and Temperature – Umidade e Temperatura Digital FFD – Full Function Device – Dispositivos de Funções Completas FTDI – Future Technology Device International – Dispositivo Internacional de Tecnologia do Futuro – Fabricante de Circuitos Integrados GNU – Acrônimo Recursivo de GNU – GNU is not Unix – GNU não é Unix GPRS – General Packet Radio Services – Serviços Gerais de Pacote por Rádio GPS – Global Positioning System – Sistema de Posicionamento Global HTML – Hyper Text Markup Language – Linguagem de Marcação de Hipertexto IDE – Integrated Development Environment – Ambiente de Desenvolvimento Integrado IEEE – Institute of Electric and Electronic Engineers – Instituto de Engenheiros Eletricistas e Eletrônicos IP – Internet Protocol – Protocolo de Internet LCD – Liquid Crystal Display – Tela de Cristal Líquido LED – Light Emitting Diode – Diodo Emissor de Luz MAC – Media Access Control – Controle de Acesso ao meio MISO – Master IN Slave OUT – Entrada Mestre Saída Escravo MOSI – Master OUT Slave IN – Saída Mestre Entrada Escravo PAN – Personal Area Network – Rede de Área Pessoal PHP – Acrônimo para Hypertext Preprocessor – Pré-processador de Hipertexto PIR – Pyroeletric Infrared – Infravermelho Piroelétrico PWM – Pulse Width Modulation – Modulação por Largura de Pulso RF – Radio Frequency – Rádio Frequência RFD – Reduced Function Device – Dispositivo de Funções Reduzidas RJ45 – Registered Jack 45 – Conector Registrado 45 SCK – Serial Clock – Temporizador Serial SPI – Serial Peripheral Interface – Interface Periférica Serial SS – Slave Select – Selecionador de Escravo TCP – Transmission Control Protocol – Protocolo de Controle de Transmissão TTL – Transistor Transistor Logic – Lógica Transistor-Transistor UART – Universal Asynchronous Receiver Transmitter – TransmissorReceptor Assíncrono Universal UDP – User Datagram Protocol – Protocolo de Datagrama de Usuário URL – Uniform Resource Locator – Localizador Uniforme de Recursos USB – Universal Serial Bus – Barramento Serial Universal UTP - Unshielded Twisted Pair - Par Trançado sem Blindagem WLAN – Wireless Local Area Network – Rede de Área Local sem Fios WPAN – Wireless Personal Area Network – Rede de Área Pessoal sem Fios X-CTU – Xbee – Configuration & Test Utility – Xbee – Configuração & Utilitário de Teste SUMÁRIO 1. INTRODUÇÃO ............................................................................................. 16 2. DESCRIÇÃO DA PLATAFORMA ARDUINO INTERLIGADA AO MÓDULO ZIGBEE............................................................................................................... 22 2.1 Introdução .......................................................................................... 22 2.2 Visão geral ......................................................................................... 22 2.3 Descrição da plataforma de prototipagem Arduino ............................ 22 2.4 Descrição do módulo de comunicação sem fio ZigBee ...................... 23 2.5 Funções lógicas dos dispositivos ....................................................... 25 2.6 Conclusão .......................................................................................... 26 3. ARQUITETURA............................................................................................ 27 3.1 Introdução .......................................................................................... 28 3.2 Composição ....................................................................................... 28 3.3 Esquematização elétrica para o acionamento da lâmpada ................ 29 3.4 Conexões entre os dispositivos transmissor e receptor ..................... 30 3.5 Conclusão .......................................................................................... 31 4. DISPOSITIVOS UTILIZADOS NO DESENVOLVIMENTO DO PROJETO .. 32 4.1 Introdução .......................................................................................... 32 4.2 Arduino ............................................................................................... 32 4.2.1 Shield Automação e Alarme Residencial V4 ................................ 33 4.2.2 Arduino Ethernet Shield................................................................ 35 4.2.3 Xbee Shield .................................................................................. 36 4.3 Arduino Uno R3 .................................................................................. 37 4.4 Arduino Mega 2560 ............................................................................ 37 4.5 Sensor de Presença PIR .................................................................... 38 4.6 Módulo Xbee Pro S2 .......................................................................... 39 4.7 Conclusão .......................................................................................... 40 5. PROGRAMAÇÃO DOS DISPOSITIVOS ..................................................... 41 5.1 Introdução .......................................................................................... 41 5.2 Aplicativos para desenvolvimento do projeto ..................................... 41 5.3 Configuração do Arduino Uno R3 e arduino Mega 2560 .................... 43 5.3.1 Configuração do Arduino Uno R3 ................................................. 43 5.3.2 Configuração do Arduino Mega 2560 ........................................... 44 5.4 Configuração dos módulos Xbee’s ..................................................... 45 5.5 Configuração Web .............................................................................. 48 5.6 Disponibilização de códigos ............................................................... 51 5.7 Conclusão .......................................................................................... 51 6. RESULTADOS OBTIDOS ............................................................................ 52 6.1 Introdução .......................................................................................... 52 6.2 Resultados finais ................................................................................ 52 6.3 Conclusão .......................................................................................... 57 7. CONCLUSÃO............................................................................................... 58 8. REFERÊNCIAS BIBLIOGRÁFICAS ............................................................ 59 16 1. INTRODUÇÃO Na atualidade, os recursos naturais estão cada vez mais escassos. A população mundial começa a se preocupar com essa questão. Existem esforços por parte de uma minoria para amenizar a crise iminente de recursos naturais em nosso planeta. Há cerca de 15 anos, no ano de 2001, o Brasil sofreu um apagão sendo causado por falta de planejamento e investimentos em geração de energia elétrica por parte do Governo Federal Brasileiro. Recentemente, em janeiro de 2015, iniciouse o sistema de bandeira tarifária para o consumo de energia elétrica em que as bandeiras verde, amarela e vermelha sinalizam o custo da energia, em função das condições da geração da eletricidade no país. A população nacional sente na “pele” e no bolso a consequência da falta de consumo eficiente e consciente de energia elétrica. Visando uma economia na questão elétrica e comodidade no controle de iluminação predial/residencial observa-se um crescente uso de automação. A automação foi criada para facilitar a execução de diversas atividades humanas. Teve início na década de 1960 e vem da palavra inglesa automation que buscava ressaltar a participação do controle automático nos processos industriais. Automação é qualquer sistema, apoiado em computadores, que substitui o trabalho humano em favor da segurança das pessoas, da qualidade dos produtos, rapidez da produção ou da redução de custos. Assim, aperfeiçoa os complexos objetivos das indústrias, dos serviços ou bem-estar [1]. A automação predial/residencial teve origem a partir da automação industrial e objetiva identificar todas as tecnologias que permitem automatizar uma série de operações no interior de um prédio ou habitação. Justifica-se o tema abordado neste trabalho contextualizando-o em um cenário moderno dentro do mundo contemporâneo. Nesta conjuntura, as constantes inovações tecnológicas se difundem rapidamente. Deste modo, são notadas variadas propostas, entre os desenvolvedores de tecnologia da informação, de mecanismos que beneficiam, de diversos modos, a humanidade. Sendo a segurança, uma das mais urgentes necessidades das pessoas, em um âmbito global, faz-se necessário estabelecer o emprego de novos dispositivos que visam auxiliar neste constante processo de aprimorações tecnológicas. 17 A domótica, originou-se da palavra domus, cujo significado em latim é “casa”, e por definição, automação é um sistema ou método pelo qual é possível realizar e controlar eventos de forma automática. A domótica existe para simplificar o cotidiano de seus utilizadores, satisfazendo três necessidades básicas: conforto, segurança e comunicação[2]. O grande impulso da domótica ocorreu após o surgimento e aprimoramento de dispositivos tais como: microprocessadores, relés e sensores. Com esses dispositivos todos os campos em que a automação estava presente sofreram significativas mudanças quanto à qualidade dos equipamentos, principalmente a área da automação residencial. Uma vez que os novos equipamentos não exigiam grandes espaços alocados, passaram a ser capazes de interagir com outros equipamentos e, talvez o mais importante, não necessitavam de constantes manutenções de técnicos [3]. Há uma variedade de processos de automação que são utilizados há mais de 60 anos no mundo inteiro. Com advento da nanotecnologia (termo usado para referir-se ao estudo de manipulação da matéria em uma escala atômica ou molecular) vão se tornando cada vez mais práticos de instalação, programação e uso. Contudo, a miniaturização dos componentes eletrônicos não torna suficiente a questão evolutiva. Observa-se também, um considerável avanço nas tecnologias de comunicação, principalmente utilizando a radiofrequência para interligar dispositivos diversos, o que facilita o seu emprego na área da automação residencial. Uma das vertentes, das tecnologias de comunicação sem fio, é a wireless ZigBee. Outros fatores como a facilidade dos dispositivos (Arduino, Xbee, etc.) utilizados neste trabalho, de serem encontrados para a venda na internet e também por serem de prática utilização, serviram de motivação para escolha do protocolo wireless ZigBee juntamente com a plataforma de prototipagem Arduino, no desenvolvimento deste projeto. Existem diversas aplicações em que podem ser aproveitadas as características do ZigBee. O que deve ser observado na realidade é que variadas aplicações, terrestres, que necessitem de longa duração das baterias (podendo durar meses ou até anos sem serem substituídas), baixo custo, pequenos circuitos, suporte à topologia em malha, e possa pagar o custo de uma baixa taxa de transferência, poderá se valer dessas características do ZigBee para ser implementada. 18 De forma prática, o ZigBee é de valia em situações conforme as descritas a seguir: I. Em um ambiente já existente e não cabeado; II. Rede necessária para medidas e experimentos temporários; III. O baixo custo de manutenção for uma das principais preocupações do projeto. As tecnologias wireless são bem flexíveis em sistemas de automação predial/residencial, e percebe-se bons resultados para esses fins na aplicação de dispositivos Xbee’s em conjunto com a rede de sensores e atuadores [4]. O protocolo ZigBee, sendo uma das vertentes da comunicação wireless (sem fio), pode ser aproveitado para o propósito de automação residencial/predial e até industrial. O padrão de comunicação IEEE (Institute of Electric and Electronic Engineers – Instituto de Engenheiros Eletricistas e Eletrônicos) 802.15.4 pode substituir condutores em uma residência automatizada. Proporcionando uma significante economia de recursos estruturais de redes de comunicação. Através de dados levantados, nota-se que um sistema baseado em TCP/IP (Transmission Control Protocol – Protocolo de Controle de Transmissão / Internet Protocol – Protocolo de Internet) em conjunto com ZigBee é bem efetivo em aplicações de automações residenciais, podendo ser expandido para automações prediais e até industriais [5]. O desenvolvimento deste trabalho foca a elaboração de um sistema de acionamento e controle de iluminação utilizando o protocolo sem fio ZigBee. A base do sistema é a plataforma de prototipagem eletrônica Arduino, em conjunto com o protocolo de comunicação sem fio ZigBee. O uso da radiofrequência é um bom exemplo na substituição dos cabos, geralmente, presentes nas aplicações onde há comunicação entre computadores e microcontroladores. Nessa linha, a tecnologia ZigBee tem destaque, pois opera em faixa de frequência livre, oferece excelente imunidade a interferências, pode hospedar milhares de dispositivos em uma mesma rede e possui módulos acessíveis com interessantes funções de entrada/saída para uso em sistemas embarcados (Arduino). O projeto desenvolvido preza pela praticidade, comodidade e uso de tecnologia de comunicação sem fio de baixo custo, sendo uma ferramenta 19 importante para contribuir com a segurança doméstica. Através de dispositivos móveis com conexão à internet é possível interagir com a iluminação de determinado ambiente, ativando ou desativando, de forma independente, cada ponto de iluminação presente no local com o sistema instalado. Uma das formas de acionamento da iluminação, proposta neste trabalho, é por sensores de presença e se aplica a prédios e residências. Em prédios a utilização poderá ser em ambientes, como por exemplo, corredores, garagens, jardins, cuja permanência de pessoas seja de curto período. Assim, ocorrerá o acionamento das lâmpadas por um determinado momento, somente enquanto existir alguém no local. A outra forma de acionamento da iluminação é por dispositivos móveis ou computadores pessoais conectados à internet,através de uma interface em PHP (Acrônimo para Hypertext Preprocessor – Pré-processador de Hipertexto) que poderá ser hospedada em um host (computador) em rede local ou em um servidor na nuvem (internet). Neste caso, amplia-se a aplicabilidade do sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee, podendo ser instalados em salas, quartos, salas,etc. Em resumo, qualquer ambiente que necessite de iluminação. Há uma considerável importância também na justificativa da escolhe do tema deste trabalho, pois as disciplinas relacionadas ao tema, são inerentes ao Curso Superior de Tecnologia em Redes de Telecomunicações – IFG. Essas disciplinas se concatenam, podendo ser empregadas em sistemas de automação predial/residencial. Ao acessar todos os sistemas remotamente, o usuário aciona apenas aquilo que quer e precisa. Isso faz com que as luzes de um cômodo da casa, por exemplo, estejam ligadas apenas quando necessário. A figura 1 descreve algumas das aplicações do protocolo de comunicação sem fio ZigBee, o qual faz-se presente no controle residencial e comercial, foco principal deste projeto. 20 Figura 1 - Aplicações do protocolo de comunicação sem fio ZigBee[6] Neste trabalho em particular, foi desenvolvido um sistema automático de iluminação por meio de comunicação wireless. Fundamentado nos processos de automação, o objetivo geral deste trabalho é o desenvolvimento de um sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. Os objetivos específicos são: I. Demonstrar a viabilidade técnica para a utilização, em automação residencial/predial, do protocolo de comunicação wireless ZigBee unido à plataforma de prototipagem Arduino, sendo evidenciado em um projeto de controle de iluminação prático e versátil; II. Estabelecer uma forma de padronização de comandos, para que, por meio de qualquer sistema computacional que possua um navegador Web, as cargas possam ser acionadas remotamente via rede; III. Demonstrar que o módulo Xbee (ZigBee) interligado à plataforma Arduino, alia a praticidade de instalação e configuração dos dispositivos com a economia de recursos estruturais de redes de comunicação, além da eficiência na transmissão do sinal de um ponto a outro. 21 Para o alcance dos objetivos supracitados, este trabalho foi organizado conforme a estrutura a seguir: I. O Capítulo I apresenta a introdução onde são indicados os objetivos, a justificação e a contextualização do projeto; II. O Capítulo II apresenta a descrição do Arduino e do módulo de comunicação sem fio Xbee, utilizados neste projeto; III. O Capítulo III demonstra a arquitetura do projeto, como os dispositivos estão conectados para o alcance do resultado esperado; IV. O Capítulo IV apresenta todos os dispositivos utilizados no projeto; V. O Capítulo V demonstra como foi realizada as configurações necessárias para o alcance do objetivo; VI. O Capítulo VI apresenta os resultados alcançados no desenvolvimento deste projeto; VII. O Capítulo VII contém as conclusões obtidas a partir dos resultados alcançados no desenvolvimento do projeto; VIII. Referências Bibliográficas utilizadas neste trabalho. 22 2. DESCRIÇÃO DA PLATAFORMA ARDUINO INTERLIGADAAOMÓDULO ZIGBEE 2.1 INTRODUÇÃO Neste capítulo é realizada a descrição da plataforma de prototipagem Arduino e também do módulo de comunicação sem fio ZigBee. Inicialmente, um breve histórico de cada um desses dispositivos, seguidamente da descrição em si e as possíveis funções que podem desempenhar. 2.2 VISÃO GERAL A plataforma Arduino interligada ao módulo ZigBee é constituída por uma unidade controladora (Arduino), em conjunto com uma unidade de comunicação sem fio (ZigBee). Essa formação permite que, através de comandos externos via internet, ou pela rede local, seja possível a interação com o sistema de iluminação de determinado ambiente. A descrição detalhada de cada um dos elementos dessa composição segue adiante. A plataforma Arduino provê diversos recursos e várias possibilidades de aplicação. Em um cenário com redes de sensores, um dispositivo Arduino pode atuar como roteador ou gateway para conexão com uma base de dados ou um sistema de usuário, isto porque possui conectividade Ethernet, WiFi, Bluetooth ou ainda ZigBee, lembrando que são necessárias placas auxiliares (Shields) para o Arduino desempenhar essas funções. Existem inúmeros tipos de sensores, com diversas aplicabilidades, tais como: medidores de temperatura, luminosidade, presença, umidade, entre outros [7]. 2.3 DESCRIÇÃO DA PLATAFORMA DE PROTOTIPAGEM ARDUINO A partir de 2005, quando o Arduino Project teve início, mais de 200.000 placas foram vendidas em todo o mundo. Sua popularidade é devido a diversos fatores, dos quais pode-se ressaltar o incrível potencial desse dispositivo de fonte aberta, que facilita a criação de projetos interessantes de forma rápida. 23 A vantagem do Arduino em relação a outras plataformas de desenvolvimento de microcontroladores é a grande facilidade de sua utilização, mesmo pessoas com pouco conhecimento técnico nessa área, podem aprender as funções básicas e iniciar a criação dos seus próprios projetos. O Arduino é uma plataforma de computação física ou embarcada, ou seja, um sistema que pode interagir com o seu ambiente por meio de hardware e software. Por exemplo, o uso simples de um Arduino para acender uma lâmpada por certo intervalo de tempo, digamos, 30 segundos, depois que o botão fosse pressionado [8]. O Arduino integra um microcontrolador de placa única e um conjunto de software para programá-lo. O hardware consiste em um projeto utilizando um processador Atmel AVR (Linha de Microcontroladores desenvolvido pela fabricante de circuitos integrados ATMEL. Não é um acrônimo, não possuindo nenhum significado em especial). O software consiste de uma linguagem de programação baseada na linguagem C e C++ e do bootloader para carregamento do programa de inicialização da placa Arduino. Dessa forma, o Arduino é considerado um pequeno computador, no qual é possível usar programação para processamento de entradas e saídas entre o próprio Arduino e os componentes externos conectados a este dispositivo. O Arduino pode ser utilizado para desenvolver objetos interativos independentes, ou pode ser conectado a um computador, a uma rede, ou até mesmo a internet para recuperar e enviar dados e atuar sobre esses objetos. O Arduino pode ser conectado a LEDs (Light Emitting Diode – Diodo Emissor de Luz), Displays (mostradores) de matriz de pontos, botões, interruptores, motores, sensores de temperatura, sensores de pressão, sensores de distância, receptores GPS (Global Positioning System – Sistema de Posicionamento Global), módulos Ethernet ou qualquer outro dispositivo que emita dados ou possa ser controlado. 2.4 DESCRIÇÃO DO MÓDULO DE COMUNICAÇÃO SEM FIO ZIGBEE Em 2004 foi definido o padrão ZigBee por uma aliança empresarial chamada “ZigBee Alliance”. O ZigBee utiliza a definição 802.15.4, que trabalha em banda de frequências livres. Operando nas faixas 868 MHz na Europa, 915 MHz nos Estados Unidos e 2.4 GHz no restante do planeta. O IEEE 802.15.4 é um padrão que 24 especifica a camada física e efetua o controle de acesso ao meio para redes sem fio pessoais de baixas taxas de transmissão. É a base para as especificações ZigBee, ISA100.11a, WirelessHART, eMiWi, cada uma das quais estende ainda mais o padrão através do desenvolvimento de camadas superiores que não são definidas pelo IEEE 802.15.4. Esse padrão ficou responsável pela criação das duas camadas mais baixas da tecnologia ZigBee, enquanto o ZigBee Alliance trabalhava nas camadas superiores. A figura 2, representa a pilha do protocolo ZigBee. Figura 2 - Pilha do protocolo ZigBee Entre as tecnologias de comunicação sem fio que podem ser aplicadas em automação residencial, o padrão ZigBee destaca-se por se tratar de uma tecnologia com foco em economia, segurança e baixo consumo de energia, além de permitir, a configuração de redes privadas com uma grande quantidade de dispositivos conectados entre si. O padrão ZigBee não requer licenciamento para o seu funcionamento, permitindo que essa tecnologia possa ser utilizada livremente. Também oferece uma excelente imunidade a ruídos, devido às suas características de rede e criptografia de dados AES (Advanced Encryption Standard – Padrão de Criptografia Avançada) de 128 bits, o que minimiza as chances de interferências entre dispositivos ZigBee configurados em redes diferentes e também com dispositivos que utilizam outros protocolos de comunicação na mesma faixa de frequência [9]. 25 Uma das principais vantagens do padrão ZigBee é o suporte a uma rede auto organizável. Através de nós que são formados por dispositivos contendo um microcontrolador e um transceptor de radiofrequência, a pilha protocolar permite que os dispositivos reconheçam uns aos outros e envie dados através de uma rede com topologia malha. Se um dos nós falha, a transmissão dos dados pode ser realizada por um outro caminho até a informação atingir o nó de destino. Utilizando endereçamento de 16 bits, é possível configurar até 65535 dispositivos em uma rede única [10]. A figura 3 apresenta o posicionamento do padrão ZigBee em relação as principais tecnologias de comunicação WPAN (Wireless Personal Area Network – Rede de Área Pessoal sem Fios) e WLAN (Wireless Local Area Network – Rede de Área Local sem Fios). Figura 3 - Posicionamento das tecnologias wireless 2.5 FUNÇÕES LÓGICAS DOS DISPOSITIVOS Os nós que integram uma rede ZigBee, podem possuir dois diferentes tipos de dispositivos, FFD (Full Function Devices – Dispositivos de Função Completa) ou RFD (Reduced Function Devices – Dispositivos de Função Reduzida).De acordo com sua posição na rede, os nós podem ser classificados como: coordenadores, roteadores ou dispositivos finais. 26 O coordenador é um dispositivo FFD que inicializa a rede, operando em um estado ativo para efetuar o controle das informações que trafegam. Os roteadores possuem tabelas de roteamento. São dispositivos FFD, o que permite encontrar o menor caminho para se chegar ao destino. Caso o roteador não tenha o endereço de destino requisitado, este processo dá à rede a propriedade de autorregeneração, caso aconteça à queda das funcionalidades de outros roteadores na rede. Os dispositivos finais,por serem dispositivos RFD, não fazem função de roteamento ou coordenação de rede. Esses dispositivos se comunicam diretamente com o roteador principal e podem ser implementados com microcontroladores que possuam menos memória ou potência, passando quase todo o tempo em stand by. Em um dispositivo RFD são instalados sensores, atuadores e sistemas de controle. Na figura 4, pode-se visualizar duas das topologias de redes ZigBee (malha e estrela). No meio, percebe-se, em forma de pentágono, o roteador principal que é o coordenador ZigBee. Os roteadores secundários são representados, por círculos e os dispositivos finais, representados por estrelas. No meio da figura está a topologia em malha, e nas laterais a topologia estrela. Figura 4 - Modelo de rede ZigBee[11] 2.6 CONCLUSÃO Constata-se neste capítulo que, tanto o Arduino quanto o ZigBee, foram desenvolvidos em épocas semelhantes. O Arduino atua como um nó sensor, podendo assumir funcionalidades distintas de acordo com seus recursos e posição 27 (Hierarquia na rede), além de atuar como processador de dados. O protocolo ZigBee facilita o tráfego de dados,via radiofrequência, formando uma rede confiável e auto organizável1. Sendo as características desses dispositivos favoráveis para utilização em automação residencial. 3. ARQUITETURA 1 A pilha protocolar permite que os dispositivos ZigBee reconheçam uns aos outros e envie dados através de uma rede em malha, se um dos nós falha, a transmissão pode ser realizada por um outro caminho até a informação atingir o nó de destino. 28 3.1 INTRODUÇÃO Este capítulo apresenta a arquitetura do projeto desenvolvido. É detalhada a composição do sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. Em seguida a forma em que todos os dispositivos estão conectados entre si e como os dados trafegam por cada um. Aborda-se, também a questão sobre possíveis falhas no sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. 3.2 COMPOSIÇÃO O projeto é composto por módulos de comunicação de dados sem fio ZigBee, um transmissor e um receptor, juntamente com as lâmpadas que caracterizam o sistema de iluminação. Essa arquitetura está dividida em blocos, onde cada bloco representa a junção de um Arduino a determinados Shields (placas auxiliares). No bloco transmissor, o centro de processamentos de dados está no Arduino Uno R3, e no receptor, o centro é no Arduino Mega 2560.O bloco transmissor é conectado a um Modem com acesso à internet através de um cabo de rede convencional UTP (Unshielded Twisted Pair – Par Trançado sem Blindagem) e também ao sensor PIR (Pyroeletric Infrared – Sensor Infravermelho Piroelétrico). O Modem, por sua vez se comunica com o dispositivo móvel (notebook ou smartphone) e desse dispositivo sai o comando que é transferido do bloco transmissor para o receptor. Entretanto, o sensor pode realizar o acionamento de forma independente. O protocolo de comunicação sem fio ZigBee é responsável por transferir o sinal de acionamento de um módulo ZigBee ao outro. O bloco receptor está interligado à fase da rede elétrica e neste bloco estão presentes relés eletromecânicos, que são os atuadores para ligar e desligar a(s) lâmpada(s). Uma das extremidades da(s) lâmpada(s), é interligada ao relé, e a outra, ao neutro da rede elétrica, o que possibilita o acionamento pelo dispositivo relé. Essa arquitetura é detalhada na figura 5. 29 Figura 5 - Arquitetura do projeto 3.3 ESQUEMATIZAÇÃO ELÉTRICA PARA O ACIONAMENTO DA LÂMPADA Para ligar ou desligar a lâmpada existe um dispositivo de acionamento chamado interruptor, para no caso de falha do relé, o mesmo ser acionado manualmente. A figura 6 representa um esquema elétrico da ligação em paralelo entre o interruptor e o relé para acionamento da lâmpada. Figura 6 - Esquema elétrico da ligação em paralelo entre o interruptor e o relé para acionamento da lâmpada 30 3.4 CONEXÕES ENTRE OS DISPOSITIVOS TRANSMISSOR E RECEPTOR A figura 7 representa, através do diagrama de blocos, as conexões entre os dispositivos dos blocos transmissor e receptor. Cada seta indica uma conexão, sendo assim, todos os dispositivos estão interligados, seja por cabos, por conexão direta dos elementos, ou por meio do protocolo de comunicação sem fio ZigBee. Torna-se claro então, que no bloco transmissor, o Arduino UnoR3, é conectado diretamente ao Ethernet Shield e este, por meio de jumpers, interligado ao Xbee Shield e por último ao módulo Xbee. O Xbee é responsável pela transmissão, sem fio, do sinal gerado do dispositivo móvel ou do sensor de presença que é propagado de uma extremidade a outra. O bloco transmissor é conectado, por meio de cabo UTP, ao Modem que faz a conexão com a internet, e do Modem interliga-se o dispositivo móvel (notebook, smartphone etc.). No bloco receptor o Shield Automação e Alarme é anexado ao Arduino Mega 2560 e este ao outro módulo Xbee, responsável pela recepção do sinal para acionamento da lâmpada. No Shield Automação e Alarme o atuador é responsável pelo procedimento de acionamento da lâmpada. Na extremidade final, é possível visualizar a representação da lâmpada ligada. Figura 7 - Diagrama de blocos, representação do projeto 31 3.5 CONCLUSÃO Verifica-se, neste capítulo que, a arquitetura do projeto favorece a interação total entre todos os dispositivos empregados. A junção dos dispositivos e a interação é realizada por meio de placas auxiliares que em conjunto com a plataforma de prototipagem Arduino e o módulo de comunicação sem fio ZigBee, formam o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. Desse modo, os dados que trafegam do transmissor ao receptor, são mostrados intuitivamente e por meio de ilustrações. Esses dados fluem em um único sentido para acionamento da lâmpada. Demonstra-se também que é possível realizar uma ligação elétrica, em paralelo, entre o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee e um interruptor, para que em caso de falha do sistema, a lâmpada ser acionada manualmente. 32 4. DISPOSITIVOS UTILIZADOSNO DESENVOLVIMENTO DO PROJETO 4.1 INTRODUÇÃO No decorrer deste capítulo, há uma abordagem sobre todos os dispositivos utilizados neste projeto.Iniciando-se pelo dispositivo Arduino e após, os Shields, o Sensor PIR e os módulos ZigBee. 4.2 ARDUINO Há diversos modelos de Arduino existentes que servem para aplicações distintas, sendo primordial saber detalhes de, por exemplo, o quanto de memória será necessário para processar as informações de acordo com cada projeto, tensão de operação, tipo de conexão com o computador (USB (Universal Serial Bus – Barramento Serial Universal), Micro USB), etc. As principais placas que existem atualmente são; Arduino Uno, Mega2560, Leonardo, Duemilanove, ADK, Nano, Mini, Esplora. O Arduino por si só não tem capacidade para agregar sistemas mais complexos. Isoladamente, pode efetuar atividades simples e locais, porém se houver a necessidade de algo que envolva diversos componentes dispersos um dos outros a uma determinada distância. Em uma rede de sensores sem fio, por exemplo, é necessário acrescentar ao Arduino algum tipo de equipamento que esteja capacitado para efetuar tarefas em rede, comumente chamados de Shields. Os Shields são placas eletrônicas auxiliares que são acopladas ao Arduino para aumentar acapacidade de atuação. Existem Shields para diversas finalidades e são exemplos: o Ethernet Shield, Motor Shield, Proto Shield, Xbee Shield, etc. Na figura 8, é possível visualizar um MotorShield [12]. 33 Figura 8 - Motor Shield Emprega-se neste projeto 3 (três) Shields, um com Relés para acionamento das cargas (lâmpadas) e para realizar a interconexão do Arduino Mega 2560 com o dispositivo Xbee, esse denominado como Shield Automação e Alarme Residencial. O segundo Shield tem a finalidade de servir como ponto de conexão do Arduino Uno com a rede Ethernet através de um conector do tipo RJ45 (Registered Jack 45 – Conector Registrado 45), denominado Arduino Ethernet Shield. O terceiro, denominado Xbee Shield, estabelece a interface entre o módulo Xbee com o Arduino Uno R3. São apresentados a seguir os detalhes de cada uma dessas placas. 4.2.1 Shield Automação e Alarme Residencial V4 O Shield Automação e Alarme Residencial V4 é uma placa de automação e alarme, em que é possível acoplar-se ao Arduino Mega 2560, permitindo simultaneamente o encaixe de outros Shields comerciais, como por exemplo, Ethernet Shield ou GPRS (General Packet Radio Services – Serviços Gerais de Pacote por Rádio Shield). Essa versão possui soquete para módulo Xbee, com um sensor integrado DHT (Digital Humidity and Temperature – Umidade e Temperatura Digital) para medir a umidade e a temperatura ambiente, além de duas entradas opto acopladas ligadas aos pinos de interrupção para o funcionamento de módulos de leitura de consumo de energia. 34 Uma das características fundamentais para o uso desse Shield são os 10 relés integrados ao hardware. As funcionalidades são descritas e identificadas conforme a figura 9: Figura 9 - Shield automação e alarme residencial V4 1. Relés: com os relés disponíveis na placa pode-se acionar motores, lâmpadas, trancas, sirenes, bombas de água, enfim, cargas alimentadas por tensão alternada de 110 ou 220 volts, não ultrapassando a potência de 1.320W, para cada uma das cargas; 2. Entrada foto acoplada: entrada para ligar sensores de contato seco com alta sensibilidade a ruídos, mantendo a estabilidade do circuito; 3. Entradas digitais: essas entradas, para contato seco, servem para gerar um pulso no Arduino, pode-se usar qualquer tipo de sensor de contato seco, exemplos: Reedswitch, interruptor, sensor de infravermelho, sensores de alarmes; 4. Entrada analógica máximo 5V: através dessa entrada é possível ligar sensores de saída analógica. Exemplos: sensores de temperatura, umidade, luminosidade, pressão, etc.; 5. Saída Transistor 800mA: através dessa saída é possível ligar e desligar dispositivos de até 9,6W; 35 6. Saída Transistor 1,5A: através dessa saída é possível ligar e desligar dispositivos de até 18W; 7. Entrada Módulo Bluetooth: através dessa entrada é possível utilizar controle remoto Bluetooth; 8. Entrada Módulo APC (American Power Conversion – Empresa Americana fabricante de equipamentos elétricos): módulo que trabalha através de comunicação serial, podendo alcançar cerca de 1200 metros em campo aberto; 9. Módulo Xbee: módulo que permite a utilização do protocolo de comunicação sem fio ZigBee; 10. Entrada LCD (Liquid Crystal Display – Tela de Cristal Líquido) 16x2: painel de informações; 11. Entrada 12V: fonte alimentadora com tensão de entrada de 12V, corrente 1,5A; 12. Controle Contraste do Display: controla o aumento e diminuição do contraste do painel de informações. 4.2.2 Arduino Ethernet Shield O Arduino Ethernet Shield é uma placa que permite conexão do Arduino com a internet ou uma rede Ethernet local. Essa placa é baseada no Chip Wiznet Ethernet W5100 fornecendo uma biblioteca de Network (IP) que suporta tanto TCP, quanto UDP (User Datagram Protocol – Protocolo de Datagramas de Usuário). Até 4 (quatro) conexões de socket são permitidas simultaneamente. Os Sockets são mecanismos de comunicação, usados normalmente para implementar um modelo cliente/servidor, que permite a troca de mensagens entre os processos de uma máquina/aplicação servidor e de uma máquina/aplicação cliente. A figura 10 representa o Arduino Ethernet Shield. 36 Figura 10 - Arduino Ethernet Shield 4.2.3 Xbee Shield O Xbee Shield é uma placa única para plataforma Arduino que se encaixa diretamente sobre o Arduino Uno ou Duemilanove e permite uma comunicação sem fio sobre o protocolo ZigBee. É especialmente desenvolvida para simplificar as tarefas de junção do módulo Xbee com o Arduino Uno R3 ou Duemilanove. A figura 11 representa o Xbee Shield. Figura 11 - Xbee Shield 37 4.3 ARDUINO UNO R3 Neste projeto, opta-se pelo Arduino UnoR3, para ser um dos elementos do módulo transmissor por ser um dos modelos mais populares, com suas 14 portas digitais, 6 portas analógicas e 6 portas PWM (Pulse Width Modulation – Modulação da Largura de Pulso), tendo tensão de alimentação 5 volts, memória com capacidade de armazenamento igual a 32kB, conexão USB e conector para alimentação externa, para servir como fonte de energia. Na figura 12, é possível visualizar o Arduino Uno[12]. Figura 12 - Arduino UnoR3 4.4 ARDUINO MEGA 2560 O Arduino Mega 2560 foi idealizado como elemento principal do módulo receptor por possuir características ideais para acoplagem ao Shield Automação e Alarme, desenvolvido exclusivamente para este modelo de Arduino. O Arduino Mega 2560 é uma placa microcontroladora baseado no ATmega 2560. Essa placa tem 54 pinos digitais de entrada / saída (dos quais 15 podem ser usados como saídas PWM), 16 entradas analógicas, 4 UARTs (Universal Asynchronous Receiver Transmitter – Transmissor-Receptor Assíncrono Universal) 38 um cristal oscilador de 16 MHz, uma conexão USB, entrada de alimentação elétrica e um botão de reset. O Arduino Mega 2560 contém tudo o que é necessário para servir de apoio ao microcontrolador. Basta conectá-lo a um computador com um cabo USB ou ligá-lo com um conversor AC (Alternate Current – Corrente Alternada) para CC (Constant Current – Corrente Contínua) ou bateria para utilização. O Arduino Mega 2560 é uma placa compatível com a maioria dos Shields projetados para Arduino Uno e as antigas placas Duemilanove ou Diecimila. Na figura 13 é possível visualizar o Arduino Mega 2560[12]. Figura 13 - Arduino Mega 2560 4.5 SENSOR DE PRESENÇA PIR O sensor de presença PIR é um componente eletrônico que permite monitorar movimentos dentro de um ambiente. Este sensor é frequentemente usado para detectar presença de humanos ou animais e assim, pode-se gerar um sinal para o disparo do alarme. É um dispositivo de baixo consumo elétrico e baixa tensão de alimentação, usado em ambientes diversos. É capaz de detectar níveis de irradiação infravermelha na forma de calor, de objetos, pessoas ou animais. A figura 14 representa o Sensor de presença PIR. 39 Figura 14 - Sensor de presença PIR 4.6 MÓDULO XBEE PRO S2 Os Módulos Xbee’s são desenvolvidos pela Digi Networking Solutions que visam à comunicação em RF (Radio Frequency – Rádio Frequência) no padrão ZigBee IEEE 802.15.4 multiponto ou ponto a ponto. Os módulos Xbee’s, dessa forma, são projetados para aplicações de alto rendimento que requerem baixa latência e tempo previsível de comunicação. São soluções que fornecem conectividade sem fio para dispositivos embarcados como o Arduino. Com o Xbee é possível construir uma rede wireless extremamente robusta, confiável e econômica, pois o Xbee possui um modo de economia de energia quando não está executando nenhuma ação. Isso permite que os módulos funcionem por muito tempo, meses ou até anos, também com o uso de baterias. Emprega-se no sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee, o Xbee PRO S2, sendo um módulo para transmissão dos dados ponto a ponto e outro para recepção. É um módulo prático e totalmente Inter operável com outros produtos que utilizam a tecnologia ZigBee. A figura 15 representa um módulo Xbee Pro S2. 40 Figura 15 - Módulo Xbee Pro S2 4.7 CONCLUSÃO Neste capítulo é observado que dentre as variações de plataformas Arduino existentes, opta-se, pelo Arduino Uno R3 e Arduino Mega 2560. As funcionalidades são distintas para esses dispositivos. O Arduino pode desempenhar diversas tarefas, dependendo de qual Shield é empregado para o auxílio de uma aplicação. São os Shields que complementam o Arduino e a partir daí, define-se, uma aplicação a qual pode desempenhar. Os outros dispositivos (sensor de presença e módulo Xbee) não são de relação direta com o Arduino e sem a presença do Shield adequado (Xbee Shield ou outro para o módulo Xbee), não há a menor compatibilidade entre o Arduino e o módulo Xbee ou sensor de presença. O módulo Xbee é o dispositivo de comunicação wireless que utiliza o protocolo ZigBee para enviar os dados através de uma rede sem fio confiável e auto organizável. 41 5. PROGRAMAÇÃO DOS DISPOSITIVOS 5.1 INTRODUÇÃO No decorrer deste capítulo há uma descrição sobre os aplicativos utilizados para configuração do Arduino Uno R3, do Arduino Mega 2560, dos módulos Xbee’s e do Web Site. Existe toda uma sequência que deve ser seguida para que não ocorram falhas no momento da utilização desses dispositivos em conjunto. 5.2 APLICATIVOS PARA DESENVOLVIMENTO DO PROJETO Para o desenvolvimento do sistema são utilizados dois aplicativos. Um para passar instruções para a central de comando, conhecida como microcontrolador (desenvolvido pela Atmel Corporation), que se encontra na plataforma de prototipagem. Através dessas instruções, o microcontrolador comunica-se com o relé, enviando um sinal que informa o momento em que o relé deve ser acionado. O aplicativo que passa instruções ao Arduino é o IDE (Integrated development environment – Ambiente de desenvolvimento integrado). Utilizando-se dessas instruções é possível o comando de outros dispositivos (motores, relés, sensores, etc.). É desenvolvido para possibilitar o acesso à programação do Arduino a pessoas não familiarizadas com assunto. O segundo aplicativo utilizado é o X-CTU (Xbee – Configuration & Test Utility – Xbee – Configuração & Utilitário de Teste), criado pelo fabricante do Xbee que trata-se de uma aplicação que roda apenas no sistema operacional Windows, projetada para permitir aos desenvolvedores interagir com módulos RF (Radio Frequency - rádio frequência) através de uma interface gráfica. O X-CTU inclui todas as ferramentas que um desenvolvedor precisa para deixar, rapidamente, o Xbee instalado e funcionando. Serve para enviar comandos de configuração, fazer atualizações e possui outras diversas ferramentas para configurar o Xbee. O IDE Arduino é uma ferramenta de código aberto, multiplataforma que roda no sistema operacional Windows, Macintosh e Linux que encontra-se disponível para baixar de forma gratuita no site do desenvolvedor. 42 Inclui um editor de código com recurso de realce de sintaxe, parênteses correspondentes e identação automática, sendo capaz de compilar e carregar os programas para a placa com um único clique. A figura 16 representa a tela de início do aplicativo IDE Arduino [12]. Figura 16 - Tela inicial do aplicativo IDE Arduino No IDE do Arduino há uma ferramenta cuja designação é “wiring” capaz de programar em C/C++. Isto permite criar com facilidade muitas operações de entrada e saída. Para isso, é necessário definir apenas duas funções para criar um programa: I. setup() - inserida no início, na qual pode ser usada para inicializar configuração; II. loop() - Chamada para repetir um bloco de comandos ou esperar até que seja desligada. A figura 17 representa as funções do aplicativo IDE Arduino[12]. 43 Figura 17 - Tela de funções do aplicativo IDE Arduino 5.3 CONFIGURAÇÃO DO ARDUINOUNO R3 E ARDUINO MEGA 2560 Através do uso do aplicativo IDE Arduino, realiza-se a programação dos Arduinos, Uno versão R3 e Mega 2560. Essa programação se realiza através de linhas de comando pelo qual cria-se um código denominado Sketch. 5.3.1 Configuração do Arduino UnoR3 Para a comunicação do Arduino Uno R3 com o Ethernet Shield cria-se um código específico utilizando o barramento SPI (Serial Peripheral Interface – Interface periférica serial). Na comunicação SPI sempre existe um Master (mestre) e os periféricos restantes são Slaves (escravos). Portanto, o dispositivo Master, no conjunto transmissor, é o Arduino Uno R3 e o Ethernet Shield é o Slave. Esta comunicação contém 4 (quatro) conexões: I. MISO (Master IN Slave OUT – Entrada Mestre Saída Escravo) – Dados do Slave para o Master; 44 II. MOSI (Master OUT Slave IN – Saída Mestre Entrada Escravo) – Dados do Master para o Slave; III. SCK (Serial Clock – Temporizador Serial) – Clock de sincronização para transmissão de dados entre Master e Slave; IV. SS (Slave Selected – Selecionador de Escravo) – Seleciona qual Slave receberá os dados. Para se comunicar pela rede local ou até mesmo pela internet o Ethernet Shield, que é acoplado ao Arduino Uno R3, necessita de um número de IP válido. Essa informação é inserida no Sketch (esboço – como são conhecidos os códigos no IDE Arduino) através de linhas de comando. O número de IP, possibilita a comunicação do Ethernet Shield com o servidor PHP, desde que o equipamento que fornece o IP esteja conectado à internet. Assim, é possível visualizar a página via Browser (navegador) e realizar o acionamento das lâmpadas. Dessa forma, são adicionadas linhas de comando ao Sketch para que se possa transmitir a informação para acionamento das lâmpadas do módulo Xbee transmissor para o módulo Xbee receptor via porta serial do Arduino UnoR3. Agrega-se também, linhas de comando para realização da leitura dos sinais provenientes dos sensores de presença. Simultaneamente, após o acionamento das lâmpadas pelos comandos da página em PHP, é transmitido um sinal para o Ethernet Shield que está acoplado ao Arduino Uno, por sua vez o mesmo comunica-se com o módulo Xbee enviando este sinal do módulo transmissor para o módulo receptor, que encontra-se acoplado ao Shield automação e alarme residencial e tem-se como resultado uma mensagem ON/OFF, no Display. 5.3.2 Configuração do Arduino Mega 2560 Em segundo plano, existe um Sketch para o Arduino Mega 2560. Este Sketch configura o Mega 2560 para servir como dispositivo central, de controle de dados do módulo receptor. O módulo é responsável pela leitura da informação que chega na porta serial do Arduino Mega 2560, o qual envia o sinal para o acionamento dos diversos relés que estão presentes no Shield automação acoplado a esse dispositivo. 45 5.4 CONFIGURAÇÃO DOS MÓDULOS XBEE’S Antes de qualquer ação voltada para configuração do Xbee, é necessário baixar e instalar o aplicativo X-CTU da Digi Networking Solutions no respectivo computador onde o dispositivo será configurado. O X-CTU é projetado para funcionar com computadores que utilizam o sistema operacional Windows. Pode-se baixá-lo diretamente do site do fabricante de forma gratuita. Este aplicativo é projetado para interagir com os arquivos de configuração básica, denominados firmware encontrados em módulos de RF do desenvolvedor do Xbee, o qual fornece uma interface gráfica que se pode usar de forma intuitiva. A figura 18 representa a interface gráfica do aplicativo X-CTU[13]. Figura 18 - Interface gráfica do aplicativo X-CTU A configuração dos módulos Xbee é realizada utilizando o Arduino Uno R3, por meio do aplicativo X-CTU, o Shield Xbee e os módulos de transmissão (Xbee Router) e recepção (Xbee Coordinator), um por vez, até a completa configuração desses módulos. Para isso é essencial a utilização de um cabo USB que cria uma porta serial COMxx ao ser conectado a um computador, em que esteja instalado o aplicativo X-CTU. Opta-se pelo modo Router (roteador) e não end device (dispositivo final) para facilitar a agregação futura de novos nós a rede. 46 Há também outra forma de configurar os módulos Xbee’s que realiza-se utilizando o dispositivo Xbee Explorer, compatível com todas as versões dos módulos Xbee’s. A figura 19 apresenta um Shield Xbee Explorer acoplado ao módulo Xbee. Figura 19 - Shield Xbee Explorer acoplado ao módulo Xbee O procedimento de configuração do módulo Xbee utilizando o ArduinoUno R3 é efetuado com a retirada do Microcontrolador do Arduino e uma pequena alteração na posição dos jumpers do Shield Xbee que saem do ponto Xbee para ponto USB e após essa modificação, há a reconexão do módulo no Shield e do Shield no Arduino. A figura 20 representa o Arduino Uno R3 com o microprocessador (esq.), e outro sem o microprocessador (dir.). Figura 20 - Arduino Uno R3 com o microprocessador (esq.), e outro sem o microprocessador (dir.) 47 Primeiramente posiciona-se os jumpers na posição Xbee. Nesta posição, o pino DOUT (saída digital) do módulo Xbee é ligado ao pino RX do microcontrolador; e DIN (entrada digital) fica ligado ao TX. Os pinos RX (recepção) e TX (transmissão) do Atmega, ligados aos pinos TXe RX, respectivamente, do chip FTDI (Future Technology Device International – Dispositivo Internacional), que é responsável pela conversão do sinal TTL (Transistor Transistor Logic – Lógica Transistor-Transistor) para USB, os dados enviados a partir do microcontrolador são transmitidos ao computador via USB, da mesma forma que são enviados, sem fio, de um módulo Xbee transmissor, para outro módulo Xbee receptor. O microcontrolador, no entanto, só é capaz de receber dados a partir do módulo Xbee, não sendo possível através da USB do computador. Com os jumpers na posiçãoUSB, o pino DOUT do módulo Xbee fica ligado ao pino RX do chip FTDI,e o DIN no módulo Xbee ligado ao pino TX do FTDI. Isto significa que o módulo Xbee pode se comunicar diretamente com o computador. No entanto,isso só funciona se o microcontrolador for removido da placa Arduino. Se for deixado na placa, o Arduino é capaz de se comunicar com o computador normalmente via USB, mas nem o computador nem o microcontrolador são capazes de se comunicar com o módulo Xbee. A figura 21 representa os jumpers do Xbee Shield na posição USB e depois na posição Xbee. Figura 21 - Jumpers do Xbee Shield na posição Xbee (esq.) e na posição USB (dir.) 48 Uma rede Xbee, deve ter no mínimo um módulo configurado como Coordinator (coordenador). É com o coordenador que é inicializada a rede ZigBee, comunicando-se com os outros módulos, que funcionam em modo Router (roteador), e estes, com os dispositivos chamados End devices (dispositivos finais). Continuando com o procedimento, conecta-se o cabo USB ao notebook, para o reconhecimento do módulo Xbee a ser configurado, em seguida é feita a instalação do driver deste módulo. Então, inicia-se a comunicação entre o aplicativo X-CTU e o módulo Xbee. Para que os dois módulos se comuniquem é necessário o cadastro do nome da rede bem como, o endereço MAC (Media Access Control – Controle de Acesso à Mídia), em ambos os módulos. A figura 22 representa a etiqueta com o endereço MAC, e outras informações referentes ao módulo Xbee. Na figura da esquerda o endereço MAC é 0013A20040B7A138 e na outraé 0013A20040B8F6F6. Figura 22 - Etiqueta com o endereço MAC e outras informações referentes ao módulo Xbee 5.5 CONFIGURAÇÃO WEB A configuração Web, é realizada para se ter um ambiente no qual não seja necessário a instalação de uma plataforma, ou aplicativo, para execução de uma interface gráfica com o usuário final do sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. A melhor solução para esta finalidade é a construção de um WebSite. Utiliza-se o HTML (Hyper Text Markup Language – Linguagem de Marcação de Hipertexto), que serve como base da implementação da página. 49 Para efetuar a comunicação entre o Web Site e o ArduinoUno R3, usa-se um parâmetro de ligação por URL's (Uniform Resource Locator – Localizador Uniforme de Recurso), mediante um método de query string2 (tradução literal cadeia de consulta). Deste modo é realizado o envio de parâmetros do Web Site para o Arduino Uno R3. É através desta query string que a URL “transporta” informação de acionamento das cargas (lâmpadas). A edição do Web Site é feita em um editor HTML que é um software para criação de páginas Web, utilizando a linguagem de marcação HTML. Existem vários editores gratuitamente disponibilizados na internet, mas o próprio sistema operacional Windows já possui por padrão o Notepad. Entretanto, por oferecer variados recursos, é utilizado o Notepad ++, neste projeto. A figura 23, representa a interface do aplicativo Notepad ++[14]. Figura 23 - Interface do aplicativo Notepad++ O Web Site é desenvolvido com auxílio do editor Notepad++ com o objetivo de melhor organizar o código HTML ou PHP. Para se obter uma maior interatividade do usuário com o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee existem figuras representativas das lâmpadas e dos botões de acionamento 2 Uma query string é uma forma de se concatenar, na própria URL que está chamando, alguns valores para a área seguinte da aplicação. 50 no Web site. Através desses botões, pode-se ligar ou desligar as lâmpadas de um determinado local, alterando assim o status da imagem virtual da lâmpada na página. Para se obter um melhor desempenho, utiliza-se a linguagem demarcação PHP. É por meio da PHP que se desenvolve a página, na qual há um ambiente interativo com o usuário final. Este Web Site é hospedado no próprio computador (localmente) ou em uma máquina remota (em rede), sendo necessário para isso a utilização de um Wamp Server3 (conhecido anteriormente como Wamp5) que é um aplicativo publicado sob a GNU (Acrônimo Recursivo de GNU – GNU não é Unix) desenvolvido pelo PHP team. Um aplicativo PHP para esta finalidade, e com excelentes recursos, é o EasyPHP, utilizado nesse projeto. A figura 24, representa a interface gráfica do aplicativo EasyPHP[15]. Figura 24 - Interface gráfica do aplicativo EasyPHP Essencialmente, para que o EasyPHP possa ser acessado é necessário que ambos os serviços, Apache e MySQL, estejam no modo started “iniciado”, indicando que estão funcionando corretamente. Desta forma, o Web Site, que nesse projeto está hospedado em um computador local, interage com o Arduino Uno R3, em que está acoplado o Ethernet Shield, fazendo com que os comando digitados no Web Site, sejam recebidos e interpretados pelo Arduino Uno R3. 3 Este aplicativo, tem como finalidade a instalação rápida dos softwares PHP 5, MySQL e Apache, disponibilizando suporte ao uso de scripts PHP localmente no ambiente operacional Windows. 51 5.6 DISPONIBILIZAÇÃO DE CÓDIGOS Toda a programação utilizada para a realização deste projeto, está disponível para baixar de forma gratuita, através do seguinte endereço: https://www.dropbox.com/s/ei5k3u26v8s6uux/Projeto_completo-2016-0302.zip?dl=0. 5.7 CONCLUSÃO Neste capítulo é demonstrado, que há um aplicativo específico para a configuração de cada um dos dispositivos utilizados no desenvolvimento deste projeto. Observa-se, que depois de realizados todos os procedimentos de configurações dos dispositivos e do Web Site, tem-se, o sistema pronto para ser utilizado. Desta forma, após a execução dos comandos, a partir do Web Site, os dados trafegam pelos dispositivos do conjunto transmissor até chegar ao conjunto receptor, onde ocorre o acionamento da lâmpada. 52 6. RESULTADOS OBTIDOS 6.1 INTRODUÇÃO Este capítulo aborda os resultados obtidos após os procedimentos relatados nos capítulos IV e V. Esses procedimentos se referem a escolha dos dispositivos adequados e a correta configuração necessária para o desenvolvimento do sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee. 6.2 RESULTADOS FINAIS Como resultados finais, ressalta-se informar que, tudo está relatado em uma sequência que é detalhada, por meio de apresentações de figuras (ilustrações e fotos), juntamente com as devidas explicações no decorrer deste capítulo. Através da figura 25 é possível visualizar o sistema como um todo. Mostra-se as ligações entre os Relés e as lâmpadas que estão conectadas à rede elétrica. O sistema é dividido em dois blocos: transmissor e receptor. O bloco transmissor é composto por um Arduino Uno R3, um Ethernet Shield, um Xbee Shield e um módulo Xbee. Este bloco está conectado ao modem e através de um computador (tablet, celular, smartphone, ou outro dispositivo com navegador) é possível a interação com o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee, tanto pela rede local, quanto pela internet. O bloco receptor possui um Arduino Mega 2560, um Shield automação residencial e um módulo Xbee. 53 Figura 25 - Sistema de Controle de Iluminação A figura 26 demonstra, através de um print screen do Web Site, o momento em que são ligadas as lâmpadas da “suíte” e do “quarto”. Nesta figura, há 8 (oito) lâmpadas que representam os 8 (oito)Relés do Shield Automação e Alarme Residencial, sendo mantida a mesma disposição tanto no Web Site quanto nos Relés. Figura 26 - Interface gráfica da página Web 54 Na figura 27 é possível visualizar o status das lâmpadas no Display do Shield Automação e Alarme Residencial. A disposição dos Relés está em conformidade com a sequência dos botões ilustrada no Web Site, representado na figura 26. Na figura 27, não se faz presente nenhuma lâmpada anexada aos Relés, pois o intuito é de apenas mostrar as informações de on (ligado)ou off (desligado) que aparecem no display para auxiliar a quem estiver distante das lâmpadas e próximo ao bloco receptor. Percebe-se que os nomes dos ambientes são enumerados no display do Shield Automação e Alarme, de forma sequencial, de 1 (um) a 8 (oito).Sendo preservada a mesma organização das lâmpadas, no Web Site. Observa-se, que no display o número 1 corresponde a “sala” e o 8 corresponde a “garagem”. No momento da fotografia o status dos LED’s 3 e 5 é on. Figura 27 - Status dos LED’s representando as lâmpadas 3 e 5 no status on. 55 Na figura 28, observa-se os dispositivos: Arduino Uno R3, Ethernet Shield, Xbee Shield e módulo Xbee transmissor, acoplados. Este conjunto de dispositivos está conectado ao modem para conexão com a rede local ou internet. Nos testes, o conjunto transmissor foi disposto a uma distância média de 10 metros dos dispositivos que compõem o conjunto receptor. Fez-se necessário esse procedimento, para demonstrar que existe a viabilidade técnica de utilização desses dispositivos de forma conjunta, e que a comunicação via protocolo ZigBee, entre transmissor e receptor, ocorre sem falhas. Lembrando, que o alcance de comunicação desta rede, pode atingir cerca de 100 metros em ambientes fechados. Figura 28– Dispositivos que compõem o conjunto Transmissor Na figura 29, faz-se presente os dispositivos que compõem o conjunto receptor. Ao lado deste conjunto, há um notebook, que está conectado à rede via Wi-Fi e não faz parte deste conjunto. A intenção de posicionar o notebook ao lado do conjunto receptor é para verificação do status da lâmpada no Web Site. Percebe-se, na imagem, que o status das figuras de todas as lâmpadas, tanto no Web Site, quanto no conjunto receptor, apresenta-se desligado. Existe a presença de apenas uma das lâmpadas, pois o intuito é, somente, demonstrar o funcionamento do sistema de acionamento e controle de iluminação utilizando o protocolo ZigBee. 56 Figura 29–Dispositivos que compõem o conjunto Receptor e o WebSite, mostrando que a lâmpada está desligada Na figura 30, a lâmpada é acionada no conjunto receptor, mudando para o status ligado, sendo exibido simultaneamente no Web Site na figura 31. Os testes, demonstram êxito em todos os objetivos propostos neste projeto. Figura 30 – Dispositivos que compõem o conjunto receptor com a lâmpada 3 ligada 57 Figura 31 - Status on das lâmpadas 3 e 5 mostradas no notebook 6.3 CONCLUSÃO Observa-se, neste capítulo,que são alcançados os objetivos propostos. Os dispositivos relacionados neste trabalho, após as devidas configurações, viabilizam e integram o sistema de acionamento e controle de iluminação utilizando o protocolo ZigBee. Obteve-se, êxito no desenvolvimento de uma interface gráfica para padronização de comandos através da construção de um Web Site, conforme relatado em imagens descritas neste capítulo. Os testes mostram que existe a confiabilidade na transmissão de dados utilizando o protocolo ZigBee. 58 7. CONCLUSÃO Em virtude do que é apresentado como resultado final deste projeto, concluise, que tanto o Arduino quanto o ZigBee, podem, atuar de forma conjunta, ou particular, para a simplificação de aplicações em diversos ramos da tecnologia. Utiliza-se o Arduino Uno R3, Arduino Mega 2560, Shield Automação e Alarme, Ethernet Shield e Xbee Shield, baseado em características peculiares, pois promovem a integração do sistema proposto. Através destes elementos, a comunicação ocorre de forma satisfatória.Após as devidas configurações dos dispositivos, tem-se, o sistema de acionamento e controle de iluminação utilizando o protocolo de comunicação sem fio ZigBee, pronto para o uso. Desenvolve-se, então, um Web Site com interface gráfica, para padronização de comandos, capazes de realizar o acionamento e controle do sistema de iluminação. Existe economia de recursos estruturais de redes de comunicação, com a não utilização de cabos. A partir dos resultados descritos anteriormente, demonstra-se a confiabilidade e a eficiência na transmissão de dados utilizando o protocolo ZigBee. Por se tratar de uma arquitetura moderna e versátil, o sistema de acionamento e controle de iluminação utilizando o protocolo de iluminação sem fio ZigBee, dispõe de uma gama de recursos agregados, podendo servir como base de elaboração de variados projetos. Pode-se sugerir algumas propostas, para o desenvolvimento de futuras aplicações, por exemplo, acionamento e controle de condicionadores de ar, acionamento de motores elétricos, entre outras. 8. REFERÊNCIAS BIBLIOGRÁFICAS [1] MORAES, C. C. de; CASTRUCCI, P. L. Engenharia de Automação Industrial. São Paulo. 2.ed. LTC, 2007. [2] CHAMUSCA, A. Domótica & Segurança Electrónica: A Inteligência que se Instala. Lisboa: Ingenium Edições, 2006. [3] BOLZANI, C.A.M. Residências inteligentes - domótica, redes domésticas, automação residencial. São Paulo: Livraria da Física, 2004. [4] MATEUS FILHO, P.R.; DIAS, Y.F.G.; FERREIRA Jr., P.A.; BAUCHSPIESS, A. Automação Predial Wireless em Ambiente com Cargas Térmicas. Brasília. Departamento de Engenharia Elétrica – Universidade de Brasília. 2009. p.6. Disponível em: http://www.ene.unb.br/adolfo/Papers/SBAI2009_55763.pdf. Acesso em: 6 mar. 2015. [5] WOSS, A. C.; VALENTINI, R. P.; NEVES JR, P. T. Automação Residencial sem fio Baseada nos Protocolos TCP/IP e ZigBee. Paraná. Seminário de Extensão e Inovação da Universidade Tecnológica Federal do Paraná. 2013. p. 8 [6] ROGERCOM. Controle remoto e aquisição de dados via Xbee/ZigBee (IEEE 802.15.4). 2008. Disponível em: http://www.rogercom.com/ZigBee/ZigBee.htm. Acesso em: 08 jun. 2015. [7] HERNANDEZ, H. X.; KALIL, F. Viabilidade da plataforma Arduino e do protocolo ZigBee na elaboração de redes de sensores sem fio. Faculdade Meridional – IMED. Passo Fundo – RS, 2013, p.1. [8] MCROBERTS, Michael. Arduino Básico. [Tradução Rafael Zanolli]. São Paulo: Novatec Editora, 2011, p. 22. [9] KINDERMANN, L. M.; DOS SANTOS, E. L. F. Estudo sobre o padrão ZigBee e desenvolvimento de sistema aplicado em automação residencial. Revista Ilha Digital – Instituto Federal de Santa Catarina, p. 56. Florianópolis, 2012. Disponível em: http://www.ilhadigital.florianopolis.ifsc.edu.br. Acesso em: 19 mar. 2014. [10] TSANG, K. F.; LEE, W. C.; LAM, K. L.; TUNG, H. Y.; KAI XUAN. An integrated ZigBee automation system: An energy saving solution. ; [Tradução Lucas de Melo Kindermann, Everton Luiz Ferret dos Santos]. 2007. Disponível em: http://www.ieeexplore.ieee.org/Xplore/home.jsp. Acesso em: 17 mai. 2015. [11] Universidade Federal do Rio de Janeiro. ZigBee. 2011. Disponível em: http://www.gta.ufrj.br/grad/10_1/ZigBee/dispositivos.html. Acesso em: 20 mar. 2014. [12] ARDUINO. Credits. 2015. Disponível em: https://www.Arduino.cc/en/Main/Credits. Acesso em: 12 mai. 2015. [13] DIGI. X-CTU.2015. Disponível em: http://www.digi.com/products/xbee-rfsolutions/xctu-software/xctu. Acesso em: 14 mai. 2015. [14] Notepad++. Disponível em: https://notepad-plus-plus.org/. Acesso em: 18 mai. 2015. [15] EasyPHP. Disponível em: http://www.easyphp.org/. Acesso em: 02 jun. 2015.