Professional Documents
Culture Documents
FATEC OURINHOS
CURSO DE SEGURANÇA DA INFORMAÇÃO
OURINHOS (SP)
2018
EDER LUIZ ALVES PINTO
RENAN TAVARES VIEIRA
OURINHOS (SP)
2018
RESUMO
Vive-se em uma era em que a tecnologia e a informação são muito importantes para
o modo de vida, a tecnologia evolui em grande velocidade, com isso, aumenta-se o
volume de informação que devemos processar e, tarefas para se desempenhar
durante o dia. Este cenário, causa problemas que nos afeta, a gestão do tempo,
produtividade no trabalhos e desperdício de recursos. Surge então a necessidade de
otimizar e facilitar as tarefas diárias para que se possa executar todas as tarefas do
dia a dia. A automação de tarefas corriqueiras pode ajudar a melhorar a gestão do
tempo, qualidade de vida, conforto, melhorar a produtividade no ambiente de trabalho
e otimizar do consumo de recursos.
Para o desenvolvimento de soluções de automação residencial, normalmente os
sistemas de automação são compostos por um hardware de controle, responsável
pelo monitoramento de sensores e acionamento de dispositivos, e um software de
gerenciamento do sistema, que dispõe de funcionalidades básicas de cadastramento
de dispositivos, monitoramento de eventos e execução de comandos.
Este trabalho propõe a implementação de um sistema de automação residencial
controlados por um aplicativo móvel, conectado a um ponto wifi, contorlando um
sistema de automação que utiliza o protocolo de comunicação IEEE802.15.4 ZigBee
para comunicação. O projeto é composto de um módulo de controle, um módulo
controlador, gerenciados por meio de um aplicativo móvel Android, utilizando protocolo
IEEE802.15.4 ZigBee para a transmissão de dados.
1. INTRODUÇÃO
Vive-se em uma era em que a tecnologia e a informação são muito importantes
para o modo de vida, a tecnologia evolui numa velocidade exponencial, com isso,
aumenta-se o volume de informação que devemos processar e, tarefas para se
desempenhar durante o dia. Este cenário, causa problemas que nos afeta, a gestão
do tempo, produtividade no trabalho e desperdício de recursos. Surge então a
necessidade de otimizar e facilitar as tarefas diárias para que se possa acompanhar
o frenético e caótico dia a dia. A automação de tarefas corriqueiras pode ajudar a
melhorar a gestão do tempo, qualidade de vida, conforto, melhorar a produtividade no
ambiente de trabalho e otimizar do consumo de recursos (SILVA 3, 2017).
Acompanhando as tendências das casas inteligentes, a automação pode ser
encontrada em diversas residências, escritórios e apartamentos modernos pelo
mundo, tanto pela comunicação remota, quanto para medidas de segurança e lazer.
Os maiores atrativos estão relacionados ao laser, porque depois que a rede de
equipamentos estiver toda conectada, não será necessidade de se utilizar vários
controles remotos. Com a automação residencial é possível, por exemplo, definir
horários em que a cafeteira, o sistema climático e de iluminação serão acionados, bem
como identificar quem as acionou, também acionar portas e portões eletrônicos e
gerenciar sensores e alarmes do ambiente pode ser possível (BOTELHO, 2005).
Outro ponto importante na automação é o custo. O custo de uma automação
variará de acordo com a escolha realizada pelo consumidor. Normalmente essa
questão é avaliada da seguinte forma: o que é possível instalar na residência e o que
se procura em termos de integração. Regularmente em uma primeira análise
recomenda-se passar um valor entre 3 e 8% dos investimentos que a casa possui,
envolvendo luzes, cortinas, áudio, vídeo e alguma opção de segurança (MOURA,
2011).
1.1. O Problema.
É possível melhorar as condições de um ambiente residencial, com domótica?
8
2. REVISÃO BIBLIOGRÁFICA
Este capítulo tem como objetivo expor todas as ferramentas e tecnologias
usadas no trabalho visando uma compreensão e embasamento para o
desenvolvimento do projeto utilizando o protocole IEEE802.15.4 ZigBee.
2.2. Arduino
O Arduino é uma plataforma de placa única projetada com um microcontrolador
com suporte a entrada/saída embutido, uma linguagem de programação padrão que
essencialmente é C/C++. A plataforma tem como objetivo criar ferramentas
acessíveis, de baixo custo, flexíveis e fáceis de usar (ARDUINO, 2017).
O Arduino pode ser usado utilizado no desenvolvimento de objetos interativos,
ou ainda para ser conectado a um computador hospedeiro. A placa Arduino é
composta por um controlador, algumas linhas de entrada/saída digital e analógica,
além de uma interface serial/USB, para interligar-se ao hospedeiro, que é usado para
sua programação e interação em tempo real. A placa Arduino não possui qualquer
recurso de rede, porém é comum a utilização de extensões apropriadas chamadas de
shields. A interface para a programação é simples, é pode ser escrita em diversas
linguagens. A mais popular é a Processing, mas outras que podem comunicar-se com
a conexão serial são: Max/MSP, Pure Data, SuperCollider, ActionScript e Java
(ARDUINO, 2017). A figura 2.1 mostra a Ilustração de uma placa Arduino.
Hardware
Sua placa tem como ponto central um micro controlador Atmel AVR de 8 bits,
com componentes complementares que facilitar a programação e agregação de novos
circuitos. Um ponto importante a se notar é a forma padrão que os conectores são
expostos, isso permite ao CPU ser interligado a outros módulos shields. Os Arduinos
originais utilizam a série de chips MegaAVR, especialmente os ATmega8, ATmega168,
ATmega328 e a ATmega1280; porém existem muito clones que usam um variado tipo
de processadores (KASUO; AMARANTE; LINS, 2010).
A grande maioria de placas inclui um regulador linear de 5 volts e um oscilador
de cristal de 16 MHz (podendo haver variantes com um ressonador cerâmico), embora
alguns esquemas como o LilyPad usem até 8 MHz e dispensem um regulador de
tensão embutido, por ter uma forma específica de restrições de fator. Além de ser
micro controlador, o componente também é pré-programado com um bootloader, o
que simplifica o carregamento de programas para o chip de memória flash embutido,
em comparação com outros aparelhos que geralmente demandam um chip
programador externo (KASUO; AMARANTE; LINS, 2010).
Software
O Arduino IDE é uma aplicação multiplataforma escrita em Java. Esta IDE é
responsável por gravar a programação realizada no dispositivo Arduino. Em suas
funcionalidades temos um editor de código com recursos de realce de sintaxe,
identação automática e parênteses correspondentes, sendo capaz de compilar e
carregar programas para o módulo facilmente. Com isso não há a necessidade de
editar Makefiles ou rodar programas em ambientes de linha de comando (ARDUINO,
2017). Tendo uma biblioteca chamada "Wiring", ele possui a capacidade de programar
em C/C++. Isto permite criar com facilidade muitas operações de entrada e saída de
dados. (KASUO; AMARANTE; LINS, 2010).
Software XCTU
XCTU é uma aplicação multiplataforma gratuita que permite aos
desenvolvedores gerenciar módulos de frequência de rádio XBee (RF) através de uma
interface gráfica simples de usar. O aplicativo inclui ferramentas incorporadas que
facilitam a configuração, a configuração e o teste de módulos de XBee RF. Este
software é compatível com os sistemas operacionais mais utilizados.
Independentemente do tamanho da rede onde o dispositivo está inserido, o XCTU
pode simplificar as tarefas de gerenciamento de dispositivos (DIGI. 2017).
Camada física.
Esta camada é responsável pela geração de sinais, elétricos, óticos ou
eletromagnéticos que serão transmitidos pelo meio físico. Protocolos nesta camada
especificam qual a duração e intensidade do sinal, utilizando técnica de multiplexação,
pinagem e outros (CARDOZO; MAGALHÃES, 2002).
Camada de Enlace.
A camada de enlace utiliza a camada física para a transmissão de quadros de
dados denominado dataframe. Estes dataframe são compostos de algumas centenas
de bytes e, são delimitados por sequência determinada de bytes. A camada de enlace
transmite dataframe, aguardando o respectivo dataframe de reconhecimento de
recepção. A transmissão de dataframe, mesmo com reconhecimento de recepção, não
é confiável. Os dataframe podem ser duplicados ou chegar fora de ordem. A
duplicação ocorre quando o dataframe de reconhecimento chega deformado, não
15
Camada de rede.
A camada de rede controla a operação da sub-rede, decidindo que caminho
físico os dados devem seguir com base nas condições da rede, na prioridade do
serviço e em outros fatores. Ela fornece os seguintes recursos (TORRES, 2017):
• Roteamento: roteia dataframes entre redes.
• Controle do tráfego da sub-rede: roteadores (sistemas intermediários da
camada de rede) podem instruir uma estação de envio a "desacelerar"
sua transmissão de quadros quando o buffer do roteador fica cheio.
• Fragmentação de dataframes: se ela determinar que o tamanho da
unidade máxima de transmissão (MTU) do roteador downstream é
menor que o tamanho do quadro, um roteador poderá fragmentar um
quadro para transmissão e remontagem na estação de destino.
• Contabilidade de uso da sub-rede: tem funções de contabilidade para
manter o controle dos quadros encaminhados por sistemas
intermediários da sub-rede, para produzir informações de cobrança.
Camada de transporte
A camada de transporte garante que as mensagens sejam entregues sem
erros, em sequência e sem perdas ou duplicações. Ela elimina para os protocolos de
camadas superiores qualquer preocupação a respeito da transferência de dados entre
eles e seus pares. O tamanho e a complexidade de um protocolo de transporte
dependerão do tipo de serviço que ele pode obter da camada de rede. Para uma
camada de rede confiável com capacidade de circuito virtual, uma camada de
transporte mínima é necessária. Se a camada de rede não for confiável e/ou apenas
tiver suporte para datagramas, o protocolo de transporte deverá incluir procedimentos
externos de detecção e recuperação de erros. A camada de transporte fornece os
seguintes recursos (Suporte da Microsoft ,2017):
16
Camada de sessão
A camada de sessão permite o estabelecimento da sessão entre processos em
execução em estações diferentes. Ela fornece os seguintes recursos (ALENCAR,
2017):
• Estabelecimento, manutenção e término de sessões: permite que dois
processos de aplicativo em máquinas diferentes estabeleçam, usem e
terminem uma conexão, conhecida como sessão.
17
Camada de apresentação
A camada de apresentação formata os dados a serem apresentados na
camada de aplicativo. Ela pode ser considerada o tradutor da rede. Essa camada pode
converter dados de um formato usado pela camada de aplicativo em um formato
comum na estação de envio e, em seguida, converter esse formato comum em um
formato conhecido pela camada de aplicativo na estação de recepção.
A camada de apresentação fornece (Suporte da Microsoft, 2017):
• Conversão de códigos de caractere: por exemplo, ASCII para EBCDIC.
• Conversão de dados: ordem de bits, ponto de CR-CR/LF, flutuante inteiro
e assim por diante.
• Compactação de dados: reduz o número de bits que precisam ser
transmitidos na rede.
• Criptografia de dados: criptografa dados para fins de segurança.
Camada de aplicativo
A camada de aplicativo serve como a janela onde os processos de aplicativos
e usuários podem acessar serviços de rede. Essa camada contém uma variedade de
funções normalmente necessárias (ALENCAR, 2017):
• Redirecionamento de dispositivo e o compartilhamento de recursos
• Acesso remoto a arquivos
• Acesso de impressora remota
• Comunicação entre processos
• Gerenciamento de rede
• Serviços de diretório
• Mensagens eletrônicas (como email)
• Terminais de rede virtuais
18
2.5. Domótica.
De acordo com (BOTELHO, 2005), o termo domótica é derivado da fusão da
palavra latina domus (casa) e robótica (automação), tendo como sinônimos as
expressões “intelligent building” e “smart building”. Domótica tem como objetivo a
redução do trabalho doméstico, aumento do bem-estar, segurança dos habitantes do
edifício e redução do consumo de energia, promovendo assim uma melhoria da
qualidade de vida.
Definição de domótica.
Uma definição atual do termo, pode ser descrita como a utilização simultânea
da tecnologia da informação, eletrônica e eletricidade no ambiente residencial,
possibilitando a gestão do ambiente, seja no local ou remotamente. Domótica também
pode oferecer uma vasta gama de aplicações nas áreas da segurança, comunicações,
gestão de energia e conforto (LINS; MOURA, 2010).
Pode se identificar vários graus de automação em uma residência, seja uma
casa ou em um apartamento. A domótica é uma solução para estudar e aplicar
soluções tecnológicas para automatizar operações específicas ou também
sequências de ações que podem ser executados em um ambiente doméstico
(SCHNEIDER.ELECTRIC, 2016).
• Gestão da iluminação;
• Gestão da calefação, ventilação e ar-condicionado;
• Gestão da qualidade do ar;
• Gestão de funcionalidades dos espaços.
Arquiteturas.
A domótica está dividida em dois tipos de arquiteturas: a arquitetura ABA
(Arquitetura Baseada em Automação), conhecida como domótica estática, esta
domótica que utiliza arquitetura trata da automação a partir de dispositivos de controle,
como controles remoto, sensores de movimento, biométricos etc. (LINS; MOURA,
2010).
A domótica que utiliza arquitetura ABC, pode ser denominado como um tipo de
automação que possui algum mecanismo de tomada de decisão baseada em
20
Fonte: http://www.sentidodigital.pt/wp-
content/uploads/2015/12/banner_domotica_01.png
Fonte: http://www.bwired.nl/images/how/schema_Xanura.gif
Figura 2.6. Representação gráfica da utilização do protocolo Cbus nas camadas que
trabalha no modelo OSI.
Fonte: http://www.cricte2004.eletrica.ufpr.br/edu/anterior/cd00/trab/cebus/
Fonte: http://s3.amazonaws.com/magoo/ABAAAgZe8AE-18.jpg
A camada física do padrão IEEE 802.11 é responsável pela transmissão dos
bits por um do canal de comunicação. Esse padrão define as especificações elétricas
e mecânicas do sistema. Sua principal função é a modulação, preparando a
informação para ser transmitida no meio de transmissão em forma de onda
eletromagnética, ou seja, esta camada é responsável pela transmissão dos dados de
forma bruta, por meio de um canal de comunicação utilizando-se de parâmetros como
a modulação do sinal e a frequência da banda utilizada. O Wi-Fi usa duas bandas de
frequência. A primeira banda é chamada de ISM (Industrial Scientific Medical),
abrange a faixa entre 2,4 e 2,5 Ghz, possuindo 14 canais neste intervalo de
frequência. Esta faixa de frequência é aberta, podendo sofrer interferências devido a
utilização por outros padrões de redes e eletrodomésticos. A figura 2.8 ilustra os
canais subdivididos dentro da faixa de frequência de 2.4 Ghz (SILVA3, 2017).
Fonte: http://gutocarvalho.net/dokuwiki/lib/exe/fetch.php/canais_Wireless.png?cache
=&w=900&h=209&tok=008f7e
26
Fonte: https://cdn-images-1.medium.com/max/800/1*2E-imIpMAqoX5dn_fvY1tQ.png
Detecção de Portadora
Sirufo (2005) afirma que a camada física executa a detecção de portadora
consultando a subcamada PMD (Physical Medium Dependent) periodicamente para
27
saber se o meio está ocioso ou não. A subcamada PLCP (Physical Layer Convergence
Procedure) implementa, no caso de nenhuma transmissão ou recepção, as seguintes
operações:
• Detecção de sinais de entrada: a PLCP verifica periodicamente o meio para
detectar a chegada de alguma mensagem. Se algum quadro MPDU (MAC
Protocol Data Unit) é detectado, seu cabeçalho é lido de modo a identificar o
destino da informação;
• Determinação de canal ocioso: verifica periodicamente se o canal está ocioso
ou não.
Transmissão
A PLCP envia uma mensagem para a PMD (Physical Medium Dependent)
alterar seu estado de detecção de portadora para o estado de transmissão logo que
recebe uma requisição de transmissão da subcamada MAC. A PMD responde à
solicitação garantindo que o serviço está disponível e envia um preâmbulo (relatório
de pré transmissão). O cabeçalho da mensagem será posteriormente adicionado ao
preâmbulo, completando as informações do início do quadro que será transmitido.
Após o envio do cabeçalho e do preâmbulo, a PLCP então termina o envio do pacote.
Após a conclusão do envido do pacote, o transmissor é desligado e o modo de
operação da PMD é alterado para modo de detecção de portadora (SIRUFO, 2005).
Recepção
O modo recepção inicia sempre que a PMD está em modo de detecção de
portadora e um pacote é detectado. O sinal do pacote para ser detectado deverá
possuir um sinal com intensidade mínima de 85dBm e seu preâmbulo ser considerado
válido, para então o processo de verificação de cabeçalho ser iniciado. Caso a
intensidade do sinal satisfaça ao requisito mínimo e o cabeçalho não contenha erro,
ele será anexado a uma premissa que é enviada à subcamada MAC pela PLCP para
indicar a chegada de um pacote. A PLCP também é responsável por detectar o fim do
pacote e informar à camada MAC quando isso ocorrer. Assim a PLCP pode notificar a
subcamada MAC do fim do pacote, e o processo de recebimento está concluído. Então
a PLCP envia uma ordem para PMD voltar ao modo de detecção de portadora
(SIRUFO, 2005).
28
Camada de Enlace
A camada de enlace tem a função de detectar erros que possam ocorrer na
camada física. O controle de acesso é feito por meio de dois modos de operação que
trabalham em conjunto.
O mecanismo fundamental de acesso ao meio é chamado de DCF (Distributed
Coordination Function). Este mecanismo e baseado em um método de transmissão
com prevenção de colisão denominado de CSMA/CA (Carrier Sense Multiple Access
with Collision Avoidance). Sempre que uma estação tem algum pacote para transmitir,
esta monitora a atividade do canal. Se o canal estiver ocioso por um período maior
que o tempo entre quadros distribuídos, denominado de DIFS, a estação transmite o
pacote, senão, o canal é analisado até que este esteja ocioso por um período de
tempo igual a DIFS e então inicia um contador de duração aleatória denominado
backoff antes de iniciar sua transmissão, tentando diminuir a probabilidade de uma
nova colisão. Como a estação não tem como detectar se houve uma colisão ou não,
um aviso de recepção ACK (Acknowledgement) é transmitido pela estação de destino
logo após um curto período, chamado de SIFS. Se após o intervalo de ACK a estação
não receber confirmação, esta saberá que ouve uma colisão ou uma perda, então,
reagendará a transmissão de acordo com o backoff (HARGREAVES, 2017). A figura
2.10 ilustra este comportamento.
Para que o protocolo seja mais eficiente, a DCF usa um modelo de tempo
segmentado de modo que uma estação transmitirá no início de cada segmento. O
29
intervalo de cada segmento deve ser suficiente para que todas as estações detectem
a transmissão de outra estação (HARGREAVES, 2017).
O mecanismo DCF adota um esquema de backoff aleatório. A cada início de
transmissão, é inicializado um timer com um valor aleatório uniformemente distribuído
entre (0, ω –1), onde ω é o tamanho da janela de contenção cujo valor dependerá do
número de tentativas malsucedidas de transmissão. Na primeira tentativa, ω tem o
menor tamanho possível de uma janela de contenção. A cada vez que ocorre uma
colisão o tamanho da janela de contenção dobra até o valor máximo. Este aumento
da janela da contenção seria uma forma de fazer com que as estações
compreendessem o padrão de funcionamento da rede, se a rede estiver permanente
ocupada, volta a tentar mais tarde, se ela estiver muito ociosa, transmite no momento.
Este contador sofre decréscimo sempre que canal está desocupado. Quando uma
outra transmissão inicia, o contador é “congelado” e só é reativado quando o canal
fica inativo por um período igual a DIFS (HARGREAVES, 2017).
Como já mencionado, o controle de acesso é feito por meio de dois modos de
operação que trabalham em conjunto. O modo supra descrito é chamado de modo
básico, o segundo modo de operação é chamado PCF (Point Coordination Function).
O PCF se baseia em polling, ou seja, verifica periodicamente o canal. Assim, quando
se identifica que uma estação possui dados para transmitir, esta estação ganha
acesso exclusivo ao meio. Ele é construído acima do DCF (Distributed Coordination
Functio) na subcamada MAC (SILVA4, 2016). Neste modo pós, cada estação detecta
o canal livre por um tempo igual a DIFS, ao invés de transmitir seus dados úteis envia
um quadro de reserva, denominado de RTS (Reservation Request), contendo a
duração do pacote de dados endereçado à estação de destino. Se a estação de
destino recebe este RTS corretamente, ela espera um tempo igual a SIFS (Interframe
Space) e envia um quadro chamado STS (clear-to-send) indicando que a estação que
fez o pedido pode enviar os dados. Após um tempo igual a Short SIFS, a estação que
recebeu o CTS (Clear to Send) inicia a sua transmissão (HARGREAVES,2017). O
comportamento do modo de reserva está descrito na figura 2.11.
30
Apesar de sua recente incorporação no grupo de aplicações sem fio, esta tecnologia
já está bem estruturada, podendo ser aplicada nos segmentos de automação
industrial, residencial, controle de periféricos para computadores e controle remoto de
produtos eletrônicos.
Quadrature Phase Shift Keying OQSKY. A Tabela 2.2 resume estas informações para
cada uma das bandas.
Sensibilidade Máximo
Banda
de recepção alcance
2.400 MHz (ISM) -85 dBm 200 m
915 MHz (ISM) -92 dBm 1 Km
868 MHz -92 dBm 1 Km
mais adequadas para cobrir grandes áreas, a figura 2.13 ilustra as topologias
implementadas pelo padrão IEEE802.15.4 (SILVA4, 2016).
A camada de rede ZigBee tem como função oferecer mecanismos para que um
dispositivo ingresse ou saia da rede; proporcionar segurança do quadro; descoberta
de rodas e de dispositivos vizinhos diretos; roteamento e armazenamento de
36
Figura 2.15. Modos de transmissão suportado protocolo ZigBee (a) broadcast, (b)
multicast e (c) unicast.
3. METODOLOGIA
Para a realização desse projeto, foram realizados vários estudos referentes as
áreas de domótica, automação residencial e industrial, além de redes Wireless. Este
trabalho teve como base de pesquisa livros, tutoriais, artigos acadêmicos e científicos.
Após a pesquisa, foi definido como o sistema de automação funcionará e que este
sistema irá controlar o acionamento remoto de interruptores usando tecnologia ZigBee
e um aplicativo instalado em um smartphone. Diante disso foram definidos quais
componentes seriam necessários para a elaboração do projeto.
O projeto de automação foi dividido em três partes. A primeira parte, foi
desenvolvido o aplicativo para o smartphone responsável pela comunicação com o
Arduino.
A segunda parte, foi efetuada a configuração dos microcontroladores Arduino
utilizando uma IDE, cuja linguagem e basicamente C/C++, para a programação do
microcontrolador e mais tarde sendo compilado para microcontrolador Arduino.
A terceira parte foi feita a configuração dos módulos XBee. Os módulos foram
configurados de modo a se comunicarem. Um dos módulos foi configurado como
coordinator, ou seja, este irá comandar o dispositivo configurado como router
responsáveis pela comunicação entre o dispositivo que será acionado e o Arduino.
Esta configuração é realizada utilizando um software denominado X-CTU responsável
por configurar os módulos XBee de modo a definir qual será o dispositivo coordinator
o dispositivo router e a configuração da rede ZigBee para a comunicação dos módulos.
Usou-se a norma NBR-14724 (ABNT, 2017), juntamente com Manual para
Elaboração de Trabalhos de Graduação da Fatec Ourinhos, para a adequação de toda
a documentação elaborada para o projeto.
Mostrar-se-á os componentes usados no presente trabalho e, como ocorre a
integração destes componentes.
O projeto foi desenvolvido em 3 partes definidas do seguinte modo:
• Descrição do funcionamento dos circuitos que constituem o sistema de
automação.
• Relatar o funcionamento do aplicativo desenvolvido na plataforma
Android que será utilizado como controle para o sistema de automação.
• Relatar os softwares de configuração do módulo controlador e router.
39
A figura 3.4 mostra a tela Blocks Editor onde pode-se ver uma parte da
programação. Com o Blocks Editor, associar ações para cada item do seu programa
anteriormente desenvolvido na tela Designer. Usando uma interface simples e
intuitiva, a construção do aplicativo parece muito com montar um quebra-cabeça.
4. CONCLUSÃO.
Este trabalho implementou um sistema de automação residencial controlados
por um aplicativo móvel, utilizando o protocolo de comunicação IEEE802.15.4 ZigBee.
Desde o princípio decidiu-se por um sistema baseado em redes sem fio para oferecer
maior flexibilidade ao usuário e torna o projeto menos custoso por não necessitar de
cabeamentos.
A dificuldade encontrada no decorrer do trabalho foi referente à aquisição dos
componentes eletrônicos, em especial dos módulos XBee e dos adaptadores USB.
Devido à pouca oferta no mercado brasileiro, estes itens precisaram ser
encomendados de lojas especializadas ou importados, tornando o custo dos
componentes um pouco elevado e o tempo para a entrega um pouco longo.
O sistema desenvolvido para este trabalho está aberto a melhorias e ampliação
das funcionalidades, uma vez que a automação residencial oferece muitas outras
possibilidades além da abordada neste trabalho. Um exemplo de melhoria seria
incorporando sensores de temperatura para controle de um sistema de climatização,
ou talvez um sistema de acionamento de portas ou portões eletrônicos. Também pode-
se programar eletrodomésticos para ser acionados na hora desejada.
Conclui-se então que apesar dos contratempos iniciais, o projeto alcançou os
objetivos propostos, verificando-se que é possível melhorar as condições de um
ambiente residencial, otimizando o tempo gasto nas tarefas cotidianas, aumentando
a eficiência na utilização dos recursos disponíveis e melhorar o conforto usando um
sistema de automação utilizando o protocolo de comunicação IEEE802.15.4 ZigBee.
45
REFERÊNCIAS.
ABNT. Associação Brasileira de Normas Tecnicas, Disponível em:<http://www.
abntcatalogo.com.br/norma.aspx?ID=86662#>. Acesso em: ago. de 2017.
ABREU, Eduardo Rodrigues de; VALIM Paulo Roberto Oliveira. Domótica: Controle
de Automação Residencial Utilizando Celulares com Bluetooth. Disponível em:
<http://www.aedb.br/seget/arquivos/artigos11/16014124.pdf> Acesso em: fev. 2017.
BURATTI, Chiara et al. Sensor Networks with IEEE 802.15.4: Systems Distributed
Processing, MAC, and Connectivity. Springer, 2011 269 p.
FARAHANI, Shahin et al. ZigBee Wi-Fi Networks and Tranceiver. London: Newnes,
2008. 364 p.
GISLASON, Drew et al. ZigBee Fi-Fi Networking. London: Newnes, 2008. 427 p.
MOURA Rosangela de. Projeto "Fi-Fi" parte da escolha do roteador Folha de São
Paulo. 28 de maio 2011. Disponível em: <http://www.aureside.org.br/imprensa/
default.asp?file=folha_2805.HTM>. Acesso em: 17 de janeiro de 2017
SILVA2, André Teixeira da. Módulos de Comunicação Fi-Fi para Sensores. Monografia
Universidade do Porto 2007. Disponível em: < https://web.fe.up.pt/
~ee02055/RelatorioTEC15.pdf >. Acesso em: jun. de 2017.
Disponível em <http://tcc.ecomp.poli.br/20111/monografia-Leandro_Honorato_Versao
Final.pdf>. Acesso em: 27 de agosto de 2016.
XBee manual. Product Manual v1.xAx - 802.15.4 Protocol. Disponível em: <
https://www.sparkfun.com/datasheets/Fi-Fi/ZigBee/XBee-Manual.pdf>. Acesso em: 16
de setembro de 2017.
48
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 0, 200 };
byte gateway[] = { 192, 168, 0, 1 };
byte subnet[] = { 255, 255, 255, 0 };
EthernetServer server(88);
byte sampledata = 50;
int swt1 = 5;
int swt2 = 6;
int swt3 = 7;
String readString = String(30);
String statswt;
void setup () {
Ethernet.begin(mac, ip);
Serial.begin(9600);
pinMode(swt1, OUTPUT);
pinMode(swt2, OUTPUT);
pinMode(swt3, OUTPUT);
}
void loop () {
EthernetClient client = server.available();
if (client) {
boolean newLine = true;
String line = "";
while (client.connected() && client. available()) {
char var = client.read();
if (readString.length() < 30) {
readString += (var);
}
if (var == '\n' && newLine) {
if (readString.indexOf("swt1") >= 0) {
digitalWrite(swt1, !digitalRead(swt1));
}
if (readString.indexOf("swt2") >= 0) {
digitalWrite(swt2, !digitalRead(swt2));
}
if (readString.indexOf("swt3") >= 0) {
digitalWrite(swt3, !digitalRead(swt3));
}
49