Escolar Documentos
Profissional Documentos
Cultura Documentos
Guilherme Souza
Guilherme Souza
São José, Novembro / 2013
AGRADECIMENTOS
Gostaria de agradecer primeiramente ao Senhor DEUS, que em resposta às minhas preces deu-
me forças para finalizar este trabalho.
À minha esposa Raquel Maura Goulart, por sua incrível compreensão nos meus momentos em
que tive ausente e também pelas diversas vezes que me incentivou a persistir na continuidade e na
melhoria deste trabalho. Obrigado Amor!
Aos meus pais Marilene Souza e Evaldo Luiz de Souza, que assim como minha esposa, tiveram
grande compreensão com minha ausência durante o período deste TCC e, como sempre, não mediram
esforços para me auxiliar durante toda minha jornada acadêmica. Muito obrigado Pai e Mãe!
Ao amigo Fernando Barboza da Costa pelas horas de dedicação, atenção, incentivo e paciência,
tirando dúvidas e me orientando durante todo o desenvolvimento deste TCC. Muito obrigado!
Ao amigo Helton Luiz Marques por ter compartilhando seu conhecimento com minha pessoa.
Isto tornou possível a concepção deste TCC. Muito Obrigado!
À professora Anita da Rocha Fernandes por sua dedicação e paciência durante as correções
deste TCC. Muito Obrigado!
À empresa Intelbras, representada pelo Sr. Diego José Serra, que permitiu a abordagem de um
produto de seu portfólio neste trabalho.
v
RESUMO
A automação residencial, também conhecida como Domótica, é uma área da tecnologia cujo
objetivo é o controle de sistemas e equipamentos residenciais através do uso de uma rede de dados. Em
plena fase de expansão no Brasil, o mercado de automação residencial possui um crescimento cerca de
35% ao ano, porém, as soluções de automação disponíveis no mercado hoje são de alto custo e
possuem alta complexidade de instalação, o que eleva a dificuldade de disseminação desses sistemas
na sociedade. Este trabalho apresenta uma aplicação do padrão DECT em sistemas de automação
residencial controlada por uma interface WEB. O padrão DECT é um sistema de comunicação sem fio
digital capaz de transportar dados em distâncias de até 500 metros e é largamente utilizado em
comunicação sem fio residencial atualmente. O intuito de se utilizar esse padrão para automação de
uma residência é fazer uso do alcance de seu rádio comunicador para tornar mais fácil e centralizada a
instalação dos sistemas de automação em residências já consolidadas sem que haja grandes adaptações,
possibilitando assim, a difusão da automação residencial para a sociedade. O sistema proposto neste
trabalho é composto por uma estação base e até cinco estações móveis. A estação base possui acesso à
rede de dados local (Ethernet) por onde será disponibilizado ao usuário o acesso à interface WEB de
controle. Através desta interface, é possível controlar o comportamento das estações móveis, que estão
conectadas com a estação base através do uso do protocolo DECT e executam os comandos recebidos
pela estação base a fim de se obter o controle de equipamentos e/ou sistemas residenciais. Para
desenvolver esta aplicação foi realizada nesse trabalho uma revisão bibliográfica do padrão DECT,
servidores WEB, sistemas embarcados, protocolos de comunicação, bem como, um detalhamento da
estrutura e aplicações das estações base e móveis. Posteriormente, foi criada a interface de controle
WEB, o protocolo de comunicação entre as estações, adaptações no servidor WEB, bem como nas
bibliotecas utilizadas, e por fim, foram realizados testes de verificação de funcionamento e a
documentação de todo o desenvolvimento.
vi
ABSTRACT
Home automation, also known as Domotics, is an area of technology with aims to control
residential systems and equipment by using a data network. The home automation market is outgrowth
in a rate of 35% per year, however, the solutions available in the market nowadays are expensive and it
has a high complexity level of installation hampering dissemination of these systems to the society.
This academic work objectives the application of the DECT standard in home automation systems
controlled by the WEB. The DECT standard is a wireless communication system able to transport data
within distances of 500 meter and it is mainly used as a solution of a wireless residential
telecommunications sets. The intention of use this standard in a home automation system is to turn
easier and centered the installation to ever built residences without big modifications necessity in tis
structures, making possible the diffusion of the home automation system to the society. The system
proposed by this work is composed by a base station and till five mobile stations. The base station has
access the local network (Ethernet), which provides to the user the access to the WEB control
interface. By using this interface is possible to control the behavior of the mobile stations that are
connected to the base station through the DECT standard protocol and it performs the commands
received by the base station to obtain the control of the residential systems or equipment`s. To develop
this application was used in this work a literature review of DECT standard, WEB servers,
communications protocols, and also a detailing of the structures and applications of the base and
mobile stations. Afterwards, it was created the WEB control interface and also the communication
protocol between the stations, the adaptation of the WEB server functions to reach the home
automation proposal, and at the end, was performed tests and operation checking as well as the
documentation of whole development.
vii
LISTA DE FIGURAS
LISTA DE TABELAS
SUMÁRIO
1. INTRODUÇÃO ........................................................................................ 10
1.1 PROBLEMA DE PESQUISA .................................................................... 10
1.1.1 Solução Proposta ...................................................................................... 11
1.1.2 Delimitação de Escopo .............................................................................. 11
1.1.3 Justificativa .............................................................................................. 12
1.2 OBJETIVOS .............................................................................................. 12
1.2.1 Objetivo Geral .......................................................................................... 12
1.2.2 Objetivos Específicos ................................................................................ 12
1.3 METODOLOGIA .................................................................................. 13
1.3.1 Metodologia da Pesquisa .......................................................................... 13
1.3.2 Procedimentos Metodológicos .................................................................. 14
2 FUNDAMENTAÇÃO TEÓRICA ........................................................ 15
2.1 AUTOMAÇÃO RESIDENCIAL................................................................ 15
2.1.1 Topologia do Sistema de Automação Residencial...................................... 16
2.1.2 Sistemas de Automação Residencial .......................................................... 18
2.2 O PADRÃO DECT..................................................................................... 20
2.2.1 Características do padrão DECT ............................................................. 21
2.2.2 A Camada Física (PHL – Physical layer) ................................................. 23
2.2.3 A Camada de Acesso à Mídia (MAC - Medium Access Control) ............... 25
2.2.4 A Camada Link de Dados (DLC - Data Link Control)............................. 26
2.2.5 A Camada de rede (NWK - Networking) ................................................. 27
2.2.6 Código De Identificação............................................................................ 28
2.2.7 Registros De Dispositivos Dect .................................................................. 28
2.3 ESTAÇÃO BASE (EB)............................................................................... 29
2.3.1 Detalhamento Da Estação Base (EB) ......................................................... 30
2.3.2 Servidor WEB .......................................................................................... 31
2.3.3 AARLL e AARLD .................................................................................... 32
2.4 ESTAÇÃO MÓVEL (EM) ......................................................................... 32
2.4.1 Detalhamento Da Estação Móvel (EM) .................................................... 33
2.5 PROTOCOLO DE COMUNICAÇÃO DAS ESTAÇÕES............. 34
2.5.1 O Protocolo Contact ID ............................................................................. 35
2.5.2 Classificação Dos Eventos ......................................................................... 37
2.5.3 Considerações ............................................................................................ 37
3 TRABALHOS RELACIONADOS ....................................................... 38
3.1 IMPLEMENTAÇÃO DE UM SISTEMA DE AUTOMAÇÃO RESIDENCIAL
MODULAR........................................................................................................ 38
3.2 SISTEMA PARA CONTROLE E SUPERVISÃO REMOTA PARA
AUTOMAÇÃO RESIDENCIAL ....................................................................... 39
9
1. INTRODUÇÃO
Automação pode ser definida como a operação ou controle automático de um equipamento,
processo ou sistema (OXFORD, 2013). A automação pode ser utilizada tanto para equipamentos e
sistemas industriais, bem como, para equipamentos e sistemas de uma residência. Quando aplicada em
uma residência denomina-se automação residencial.
As primeiras aplicações de automação residencial ocorreram na década de 20 nos Estados
Unidos com o surgimento dos primeiros eletrodomésticos (AURESIDE, 2007). Quase cem anos depois
surge a possibilidade de controle e monitoramento destes equipamentos através de uma rede de dados.
Nos anos de 2008 a 2011, o mercado de automação residencial vem crescendo a uma média de
35% ao ano em número de projetos no Brasil (MINORU, 2011). Segundo pesquisa feita pela CISCO
(2011), existe uma estimativa que até 2015 haverá mais de 1,5 bilhões de conexões máquina-máquina,
isto mostra o crescimento de dispositivos interconectados a outros dispositivos (Internet of things),
dispositivos que se assemelham aos utilizados na automação residencial.
Segundo Minoru (2011), a solução utilizada na automação residencial ainda é bastante
concentrada em soluções por cabo, dificultando sua difusão e instalação. Com a tendência de
crescimento deste mercado, as soluções precisam ser cada vez mais funcionais para que seja possível a
instalação na maioria dos ambientes (MINORU, 2011).
Tendo conhecimento da tendência de crescimento deste mercado e a dificuldade de instalação
por cabos dos sistemas atuais, fica clara a oportunidade de desenvolvimento de um sistema de
automação residencial sem fio em que não exija a necessidade de adaptação da residência para a
interligação dos sensores e atuadores, aliado a facilidade da residência ser controlada via interface
WEB, local ou remotamente, dependendo da disposição da rede de dados em que o sistema de
automação estiver submetido, cujo tema é o objetivo deste trabalho.
Um dos fatores que inibe a utilização dos sistemas atuais de automação residencial é a
dificuldade de modificar a infraestrutura das residências para a instalação desse sistema de automação.
Segundo Minoru (2011), é necessário que as soluções atuais sejam simplificadas quanto a sua
11
instalação, dificuldade está que será o problema principal a ser tratado neste TCC (Trabalho de
Conclusão de Curso).
O sistema de automação residencial proposto neste trabalho é composto por uma estação
mestre, chamada de Estação Base (EB), e por duas estações escravas, chamadas de Estações Móveis
(EM), que se comunicam utilizando o padrão DECT.
A EB é responsável pelo gerenciamento das unidades EMs, bem como, pelo armazenamento de
dados coletados por elas. As EMs por sua vez, são responsáveis pela aquisição dos dados e execução
dos comandos recebidos da EB. Para que seja possível o controle das unidades será necessária a
definição de um protocolo de comunicação entre a EB e as EMs.
A EB é controlada pelo sistema operacional Linux e possui um servidor WEB embarcado para
disponibilizar acesso através de navegadores de internet. O acesso à EB é realizado por uma porta de
acesso do padrão Ethernet, denominada WAN (Wide Area Network). Esta porta quando conectada a
um modem roteador recebe um endereço IP (Internet Protocol) para identificação da EB dentro de
uma rede de computadores, conforme mostrado na Figura 1. Através deste endereço IP é possível
acessar a EB para monitorar e executar o controle das operações das EMs.
O sistema mostrado na Figura 1 contém uma estação EB, identificada pelo IP 10.0.0.2, e uma
estação móvel EM1, que faz a interface com os eletrodomésticos. A EB pode ser acessada através de
navegadores de internet disponíveis no mercado (tais como: Mozilla Firefox ou Google Chrome)
através do endereço IP a ela associado.
1.1.3 Justificativa
A evolução da tecnologia trouxe mudanças irreversíveis na vida, no cotidiano, no trabalho e nas
casas das pessoas tornando onipresente a tecnologia e a informação na sociedade como um todo. A
automação residencial, seguindo essa linha de evolução, torna possível a automatização das residências
através do uso da tecnologia, porém, o custo e as dificuldades de instalação nas residências ainda são
elevados, o que dificulta a difusão da automação residencial na sociedade.
Para aumentar a difusão do sistema de automação residencial, é necessário que sua instalação
seja realizada sem a necessidade de adaptação das residências, tornando-o mais fácil e mais acessível.
Dessa forma, o projeto proposto por este trabalho visa facilitar a instalação do sistema de
automação residencial, através do uso da tecnologia sem fio, eximindo-o da obrigatoriedade de
adaptação da residência para realizar interconexões de atuadores ou controladores à central de controle
principal.
1.2 OBJETIVOS
1.3 METODOLOGIA
Todo conteúdo deste trabalho está dividido em duas etapas, são elas: fundamentação teórica e
revisão de bibliografia na primeira etapa, e o desenvolvimento deste trabalho na segunda etapa.
Quanto à natureza da pesquisa, este trabalho classifica-se como pesquisa aplicada, já que seu
objetivo é gerar conhecimento a partir de problemas específicos destinados à aplicação prática.
A forma de abordagem do problema adotada neste trabalho pode ser caracterizada como
pesquisa qualitativa, pois de acordo com Silva e Menezes (2005), a pesquisa qualitativa considera que
o processo e seu significado são os focos principais de abordagem e não requerem o uso de métodos e
técnicas estatísticas. Os resultados a serem apresentados deste trabalho expõem uma análise descritiva
de acordo com uma proposta pré-definida.
14
Visando o cumprimento dos objetivos específicos de 1 a 3 deste TCC, foi realizada uma
pesquisa bibliográfica para fundamentação teórica. Já para os objetivos de 4 a 6 foi utilizada a pesquisa
experimental, dado que, nestas etapas foi confeccionado um protótipo funcional com as características
levantadas pela pesquisa bibliográfica exposta na fundamentação teórica deste trabalho.
15
2 FUNDAMENTAÇÃO TEÓRICA
Neste Capítulo será apresentada uma revisão bibliográfica que aborda o padrão DECT,
conceitos sobre a estação base e estação móvel, protocolos de comunicação, servidor WEB e
classificações de automação residencial.
Inicialmente é apresenta a definição de automação residencial, suas classificações, topologia
dos sistemas de automação e posteriormente alguns sistemas comerciais de automação residencial são
detalhados.
Na sequência são apresentados o padrão DECT e sua estrutura de funcionamento básico
Detalhamento da Estação Base (EB), uma breve revisão no conceito de sistemas embarcados e o
conceito de servidor WEB, além do conceito de Estação Móvel (EM) e das aplicações específicas para
o contexto de automação residencial.
Uma revisão conceitual de protocolos de comunicação, bem como a apresentação do protocolo
Contact ID, sua estrutura e classificação dos eventos voltados para automação residencial são
apresentadas na sequência.
Segundo AURESIDE (2013) existem três níveis de integração para um sistema de automação
residencial que os classificam de acordo com sua capacidade de integração, são eles:
a) Sistemas Autônomos:
Classificam-se neste nível os sistemas de automação que realizam um controle (através de uma
pré-programação) mais básico como, por exemplo, ligar ou desligar um equipamento ou subsistema
residencial. Porem, este tipo de sistema não mantém nenhuma integração com outros dispositivos ou
módulos de automação.
b) Sistemas Integrados:
Nessa classificação o sistema de automação é capaz de controlar múltiplos subsistemas a partir
de um único controlador central. O principal foco desse nível é garantir a integração com os diversos
equipamentos através de uma interface única de controle, oferecendo usabilidade ao usuário e uma
grande e utilização dos recursos oferecidos pelos equipamentos.
c) Residência Inteligente:
Os sistemas de automação são personalizados de acordo com a necessidade do proprietário, que
juntamente com o profissional da área da automação residencial, irá modificar o sistema de automação
tornando-o um gerenciador ao invés de um controlador remoto. Esses sistemas contam ainda com uma
comunicação de duplo sentido e feedback de status entre todos os módulos.
Com a necessidade de utilização de uma rede de dados para interação e comunicação com os
sistemas de automação residencial, surge também a necessidade de se utilizar uma topologia entre eles.
A mais utilizada em sistemas de automação hoje é a topologia estrela conforme mostra a Figura 2 (a).
Esta topologia é também a mais utilizada pelas redes de computadores (MARIN, 2002).
17
Barramento:
Neste tipo de conexão todas as estações da rede estão interligadas a um mesmo cabo formando
um barramento conforme mostra a Figura 2 (b). A topologia em barramento tem uma configuração
multiponto, onde cada nó conectado à rede pode receber a informação transmitida, já que a informação
é enviada para todos nós (CERUTTI, 2000). A grande vantagem desta topologia é a facilidade de
instalação, já que é necessário apenas um cabo central compartilhado para todas as estações e para as
demais conexões é possível realiza-las através de pequenos segmentos. Porém, esse mesmo fato
ocasiona outros problemas presentes nesta topologia, como por exemplo, a interrupção da
comunicação de toda rede em caso de falhas em somente um nó (FOROUZAN, 2004).
18
Estrela:
As redes com topologia estrela são caracterizadas pela existência de um dispositivo central que
interconecta todos os nós presentes na rede, conforme mostra a Figura 2 (a). Em redes com topologia
em estrela é possível enviar e receber dados para qualquer outra estação da rede através do dispositivo
concentrador. O dispositivo concentrador, neste caso, age como elemento intermediador, pois o dado
será enviado a ele e posteriormente será replicado para a estação destino.
As vantagens de utilização desta topologia giram em torno da robustez e da flexibilidade que o
sistema oferece, pois caso um nó falhar ou for desconectado, os demais não serão comprometidos,
diferentemente das anteriores (FOROUZAN, 2004).
A topologia barramento (b) e anel (c) também são bastante utilizadas em arquiteturas de
sistemas de automação, porém, a topologia estrela é a mais utilizada por ser a mais flexível permitindo
a implementação de uma sub-rede no formato anel ou barramento dentro de uma rede estrela, caso seja
necessário.
O sistema de automação residencial Habeetat da empresa Solidmation é uma solução sem fio
que utiliza como base o padrão ZigBee (IEEE802.15.4). O sistema proporciona o acesso de diferentes
plataformas, através de dispositivos que suportam navegadores WEB, além de aplicativos específicos
para os sistemas operacionais Android e IOS. Ele é dividido em módulos específicos para cada
aplicação tais como o controle de iluminação, motores, jardins, câmeras, além de medidores de
consumo, entre outros, conforme mostra a Figura 3. (SOLIDMATION, 2013).
19
Outra solução interessante para automação de uma residência é o UPB (Universal Power Line
Bus), da empresa Cybertronics. Uma solução modular é utiliza pelo o sistema UPB, onde, assim como
a anterior, módulos específicos executam um conjunto de tarefas (CYBERTRONICS, 2013).
A solução utilizada pela empresa Cybertronics é uma derivação da técnica de comunicação via
rede elétrica conhecida como PLC (Power Line Communications). Está técnica estabelece
comunicação entre os módulos através do envio da informação em uma faixa frequência (1 a 30 MHz)
muito superior ao utilizado pela rede elétrica (TEIXEIRA, 2005). Neste tipo de solução exime-se a
necessidade de passagem de cabos para se interligar aos demais módulos
A interface com o usuário é realizado através de módulos com botões, de computadores ou
tablets, porém não existe de forma clara a informação de como é realizado o controle do sistema
(CYBERTRONICS, 2013). Um esboço dos dispositivos disponíveis para este sistema pode ser visto na
Figura 4.
20
O sistema proposto por este trabalho é baseado na topologia estrela, pois possui uma unidade
principal que fará a comunicação com as demais unidades (sensores e atuadores) utilizando o
protocolo DECT e, quanto ao nível de integração, ele pode ser classificado como um “Sistema
Integrado”, por permitir interação e o controle dos equipamentos residenciais a partir de um
controlador central.
O padrão DECT surgiu por volta de 1987, sendo inicialmente desenvolvido pela ECTEL
(European Conference on Technology Enhanced Learning) com a intenção de se tornar um padrão de
comunicação digital somente europeu, mas devido ao sucesso da tecnologia, foi posteriormente
adotado por muitos outros países do mundo (PHILLIPS; NAMEE, 1998 p.17). Hoje está presente em
73% dos telefones sem fio digital em todo mercado mundial (ETSI, 2013).
No Brasil o espectro de frequência deste padrão é de 1910 a 1920 MHz e é regulamentado pela
ANATEL (Agência Nacional de Telecomunicações) (ANATEL, 2013).
A Figura 5 mostra o exemplo de um sistema DECT, onde a EB está diretamente ligada à rede
local de dados através da interface de rede e também está conectada à EM através do padrão DECT.
Apesar do uso do padrão DECT ser principalmente difundido na rede de telefonia analógica
para a transmissão de voz, ele pode também ser utilizado para transmitir dados. Mas para isso, são
necessários diferentes tipos de camadas de interconexão que servirão de interface entre o padrão
DECT e a rede de dados desejada (PHILIPS; NAMEE, 1998).
A camada de interconexão não faz parte do padrão DECT, pois sua construção e operação
variam de acordo com a rede de dados a que esta conectada. Sua função principal é interpretar as
mensagens de controle recebidas da rede de dados e enviá-las para interface DECT, como por
exemplo, no uso de um telefone fixo residencial com o padrão DECT, a sinalização de desconexão de
linha será interpretada pela camada de interconexão e posteriormente transmitida para a interface
DECT.
22
Como descrito por Philips e Namee (1998, p.63), “a sinalização entre a estação base e a estação
móvel é muito complexa, e por esta razão está definida em termos de módulos ou camadas, que são
mais facilmente controláveis”, deixando as camadas de mais baixo nível responsáveis pelo o envio das
informações bit-a-bit e as camadas de mais alto nível ficam responsáveis pelo envio e controle da
informação sem erros. A Figura 6 a seguir mostra a distribuição das camadas do padrão DECT.
OSI
DECT
No padrão DECT a distribuição das camadas também é conhecida como pilha ou stack do
protocolo, na qual cada camada prepara as informações que serão transmitidas a camada
imediatamente superior além de fornecer uma abstração das funções utilizadas.
A entidade LLME, é responsável por gerenciar o funcionamento do sistema DECT. Ela faz o
uso do C-plane de forma autônoma no intuito de manter o link entre EM e EB sempre ativo.
Para compartilhar o espectro de frequência entre várias EMs, a camada física utiliza o método
FDMA (Frequency Division Multiple Access) para dividir uma largura de banda em canais menores
distantes em 1.728 MHz um dos outros. No Brasil são somente cinco canais regulamentados pela
ANATEL e alocados na banda de 1910 MHz a 1920 MHz, conforme mostrado na Figura 9. Entretanto,
essa faixa de frequência e canalização pode variar de acordo com cada país (GESSLER, 2000).
A canalização padrão da ETSI é compreendida nas bandas de 1.880 MHz a 1.978 MHz e de
2012 MHz a 2025 MHz, e possui uma identificação de canal variando de 0 a 64, conforme norma EM
300 175-2 (ETSI, 2005). No Brasil os cinco canais disponíveis para o padrão DECT foram extraídos
da canalização padrão da ETSI, iniciando pelo canal número 17 até o canal de número 21, conforme
mostra a Figura 9, formando um pequeno subgrupo de canais. É possível observar ainda na Figura 9
que cada rajada de transmissão em um determinado canal possui uma potência máxima de 24 dBm ou
250 mW e uma sensibilidade de recepção -86 dBm resultando em um range dinâmico de 110 dBm.
25
No intuito de comportar um maior número de usuários a camada física faz uma divisão lógica
dos canais DECT baseando-se na técnica TDMA (Time Division Multiple Access). Cada canal é divido
em 24 slots de tempo (timeslots) e cada slot possui uma capacidade de transmissão de 480 bits,
conforme mostrado na Figura 10. O tempo total de transmissão possui duração de 10 ms por quadro.
A camada MAC cria os canais de sinalização e tráfego provido pela camada física para o envio
dos pacotes de dados. Além de instruir a camada física os momentos exatos de transmissão e recepção
26
e os canais que serão utilizados, a camada MAC ainda é responsável pelos sinais de “beacons”, ou
sinalizadores, enviados em broadcast (para todas EMs) do sistema. Este sinal provê todas as
informações necessárias às EMs, para que seja possível a configuração de uma transmissão de dados
por um determinado canal.
A camada MAC é responsável também por estabelecer, manter a conexão e realizar o controle
da largura de banda dos canais (PHILLIPS; NAMEE, 1998).
A Figura 11 mostra a sequência no processamento dos dados realizado pela camada DLC. Ao
receber um dado da camada de rede (NWK), a DLC divide as mensagens longas através do processo
chamado de segmentação. Em seguida, cria um quadro para cada segmento onde são adicionadas
informações de controle de erro e um cabeçalho de identificação. Tal cabeçalho permite que seja
requisitada uma retransmissão de um pacote caso tenha ocorrido algum erro. Quando o dado alcança a
parte mais baixa da camada DLC, o dado é enviado à camada MAC onde é fragmentado para que
possa ser transmitido posteriormente em único pacote pela camada PHL.
Ao receber um dado da camada MAC, a camada DLC inicia o caminho inverso. O dado é
recombinado, retirado cabeçalho e controle de erros, montado e finalmente entregue à camada NWK.
Phillips e Namee (1998) definem a camada de rede como executiva por ser a que está mais
próxima da aplicação, interagindo diretamente com o mundo exterior. Porém, a camada de rede,
também interage com o mundo interior, solicitando as camadas inferiores alocação do caminho de
transmissão. Enquanto a camada de rede provê uma interface exclusiva para serviços à stack DECT, a
camada IWU traduz as informações recebidas desta interface para alguma aplicação específica,
compatibilizando a aplicação com protocolo DECT.
Esses códigos são chamados de IPEI (International Portable Equipment Identity) para as EMs
e RFPI (Radio Fixed Parts Identity) para a EB. A ETSI é responsável por gerenciar e fornecer estes
códigos aos fabricantes. Estes por sua vez, são responsáveis por grava-los na memória dos dispositivos
e garantir que não haja duplicidade (PHILIPS; NAMEE, 1998).
Ambos os códigos possuem tamanho de 40 bits, sendo que os 16 bits mais significativos
representam o nome do fabricante e os demais a numeração serial de produtos DECT.
Exemplo:
IPEI: 01 27 03 02 03 (hexadecimal)
RFPI: 01 27 03 02 00 (hexadecimal)
Neste exemplo o valor 01 27 corresponde ao código do fabricante INTELBRAS.
A principal função destes códigos é identificar os dispositivos em uma rede para que o padrão
DECT possa endereçar o pacote à estação destino correta.
a entrega correta de uma mensagem à estação destino dentre outras estações do ambiente (PHILIPS;
NAMEE, 1998).
software a EB utiliza o sistema operacional Linux Embedded. Tais qualidades caracterizam a EB como
um sistema embarcado. O hardware e as partes integrantes da EB foram cedidos pela empresa
INTELBRAS S/A para o desenvolvimento deste trabalho. Na sequência é detalhada a estação base
(EB).
O controlador Ethernet exibido na Figura 14 é responsável pelo tráfego de dados entre a rede
local e a EB. Ele está diretamente conectado ao processador através de um barramento RMII (Reduced
Media Independent Interface) possibilitando o envio e recebimento de dados da rede local.
A memória volátil SDRAM e a memória não volátil FLASH, também estão conectadas
diretamente ao processador e ambas dão suporte ao funcionamento do sistema operacional Linux. A
SDRAM, com maior velocidade de barramento, opera a 100 MHz e é utilizada para guardar as
informações que serão processadas em momento de execução, enquanto a memória FLASH, por ser
não volátil do tipo NAND (Not AND), é utilizada para manter os dados salvos enquanto o sistema de
automação está desligado (MORIMOTO, 2007). Na sequência serão apresentadas as descrições de
cada módulo.
WEB, conhecido também como Java Script, responsável por oferecer dinamismo ao conteúdo que
variam de acordo com os comandos recebidos (TECHTERMS, 2013).
A aplicação AARLL será utilizada para consultar o status dos atuadores e sensores presentes
nas EMs. Esta aplicação é executada no sistema operacional Linux e serve de interface entre o servidor
WEB e a interface DECT, ou seja, sempre que o usuário requisitar uma informação de status em
alguma EM, a interface de controle WEB enviará esse pedido ao servidor WEB, que por sua vez,
enviará uma mensagem à aplicação AARLL contendo a identificação da EM e o dado que se deseja
obter. Ao receber a requisição com os dados, a AARLL encapsulará as variáveis recebidas através do
protocolo Contact ID e enviará uma mensagem de requisição à interface DECT através da aplicação
AARLD. O protocolo Contact ID será detalhado na subseção 2.5.1.
A aplicação AARLD tem comportamento semelhante à AARLL. A diferença entre elas é que
enquanto a primeira é executada como parte integrante da Interface DECT a segunda é executada em
ambiente Linux. A troca de mensagens entre estas aplicações possibilita a troca de informações entre a
EB e as EMs.
Quando a requisição é recebida pela AARLD, a mensagem é preparada para ser enviada à
camada imediatamente inferior da interface DECT e, a partir daí, a informação será encapsulada
sucessivamente até que chegue a camada de menor nível da interface DECT, a camada física.
A camada PHL, recebendo da camada MAC a requisição para envio da mensagem, iniciará o
envio desta informação até a EM destino via RF (Rádio Frequência).
Ao ser transmitida uma mensagem entre EB e a EM, deve ser seguida uma estrutura padrão
conforme disposto a seguir.
ACCT MT QXYZ GG FCC S
Onde:
Caso seja realizado um acesso na EB a fim de se saber se a janela da sala encontra-se aberta ou
fechada é feito uma consulta na EM1, que esta responsável por este monitoramento. A EM1 faz a
leitura do estado do sensor (aberto ou fechado) e encaminha a seguinte mensagem para a EB.
1001 18 1400 00 000 0
Onde,
2.5.3 Considerações
Neste capítulo foi apresentado o conceito de automação residencial (Subseção 2.1), a topologia
do sistema residencial (Subseção 2.1.1), além de alguns exemplos de sistemas comerciais de
automação residencial (Subseção 2.1.2) e uma apresentação detalhada sobre o padrão DECT a ser
utilizado no sistema de automação proposto (Subseção 2.2).
Também fizeram parte da fundamentação teórica o conceito e a definição de sistemas
embarcados, a apresentação detalhada da EB (Subseção 2.3), conceito de servidor WEB e das
aplicações AARLL e AARLD (Subseção 2.3.2 e 2.3.332), além de um detalhamento sobre as EMs
(Subseção 2.4) e a definição do protocolo de comunicação a ser utilizado no sistema de automação
deste TCC (Subseção 2.5.1). Foram apresentados também a estrutura do protocolo Contact ID e uma
lista com eventos padronizados do protocolo que serão utilizados (Subseção 2.5.2).
No Capitulo 3 é apresentada uma comparação entre as soluções elegidas para compor este
trabalho de conclusão de curso com soluções utilizadas em outros trabalhos de automação residencial,
abordando-se as vantagens e desvantagens de cada técnica utilizadas.
38
3 TRABALHOS RELACIONADOS
O usuário através de um celular denominado “Cliente” envia uma mensagem de texto contendo
os comandos desejados para o celular servidor utilizando a comunicação GSM (Global System for
Mobile Communications). Ao receber esses comandos, o celular servidor os envia para o computador
através de comunicação serial RS232. O software que faz interface com o celular servidor,
denominado “Aplicativo”, interpretará os comandos recebidos pelo celular servidor e os enviará para o
40
software supervisório, também presente no computador. O software supervisório, por sua vez,
interpretará os comandos recebidos e os enviará para o CLP via RS232, que irá acionar saída
correspondente ligando ou desligando o equipamento dentro da residência.
A utilização da tecnologia GSM no sistema de automação traz flexibilidade no que diz respeito
à troca de informações entre o usuário e sua residência. Porém, limita a interação do usuário com a
interface de controle o fato dos comandos serem realizados a partir de mensagens de texto.
Para acessar a interface de controle o usuário pode utilizar qualquer dispositivo que tenha
suporte a navegador de páginas WEB. Nesta interface é possível selecionar os as opções de controles
41
(ligar e/ou desligar) dos equipamentos da residência. Esta interface é disponibilizada ao usuário através
de um servidor WEB embarcado na própria plataforma do Arduino. O comando de controle de um
determinado equipamento da residência é selecionado pelo usuário através da interface de controle
WEB, e posteriormente enviado à central de processamentos. Esta, por sua vez, aciona o um driver de
acionamento onde o equipamento desejado está sendo energizado.
Esta solução traz muita flexibilidade ao usuário, pois permite o controle remoto dos
equipamentos de sua residência, já que a arquitetura Arduino possui uma conexão de rede de dados
(Ethernet) que está conectado diretamente a um switch e a um roteador wireless com acesso a Internet.
Porém, a necessidade de conexão por fio dos equipamentos residenciais (equipamentos a serem
controlados) à unidade de processamento central dificulta a instalação do sistema, já que diversos
equipamentos da residência estão distantes da central de controle. Este fato faz com que seja grande a
necessidade de se realizar a adaptação das estruturas das residências para comportar tal sistema.
O trabalho de Zandoná (2012) assemelha-se aos objetivos deste trabalho, porém as soluções e
arquiteturas utilizadas em ambos se diferem. Zandoná utiliza como principal solução do sistema de
42
4 DESENVOLVIMENTO
Neste capítulo são apresentadas as etapas para o desenvolvimento deste trabalho. Inicialmente,
é realizada a análise dos requisitos do sistema, definição dos diagramas de casos de uso e a modelagem
de software do sistema. Na sequência é apresentado o detalhamento do desenvolvimento, uma visão
geral da plataforma, um detalhamento sobre as estações EM e EB, além do servidor WEB, das
aplicações AJAX_APP, da gravação dos dados em arquivos XML, da interface de controle WEB e da
implementação do protocolo de comunicação entre as estações. Finalmente será apresentada a
descrição dos experimentos e os resultados dos testes.
Conforme apresentado na Figura 20, a EB está diretamente conectada à rede de dados através
de um switch, que por sua vez, esta conectada a um roteador wireless. Um endereço IP é atribuído
dinamicamente pelo roteador à EB, e através deste, o usuário tem acesso à interface de controle WEB
44
do sistema de automação residencial. Através da interface WEB, o usuário pode enviar comandos de
acionamento ou de status à EB. Ao receber estes comandos, a EB os enviará via protocolo DECT para
a EM, que por sua vez, executa o comando recebido. Apesar de ser mostrada somente uma EM na
Figura 20, é importante ressaltar que o sistema tem capacidade de controlar até cinco EM’s.
No desenvolvimento da interface WEB tanto para a linguagem HTML quanto para o Java
Script foi utilizado o editor de textos Sublime-Text. Já para testes e debugs foi utilizado o navegador
Mozilla Firefox® com o add-ons Fire-Bug, ferramenta gratuita para desenvolvimento de interface
WEB. Já no desenvolvimento dos códigos em C foi utilizada a IDE Eclipse C/C++.
1
Cinco estações EMs é o número limite para a plataforma de trabalho escolhida para este TCC, no caso o TS60IP da
empresa Intelbras. Tecnicamente o que limita o número de estações que o DECT pode operar é a quantidade de links de RF
simultâneos entre a EM e a EB. Esse número obtém-se através da multiplicação da quantidade de slots de tempo
disponíveis, no caso 12 (transmissão), versus o número de canais de RF, no caso 5, o que resulta em 60 estações
simultâneas. A Figura 10 mostra a canalização DECT disponível no Brasil.
46
Nesta seção serão apresentados diagramas de sequência, fluxogramas, bem como parte da
codificação utilizada no sistema de automação residencial proposto. No decorrer desta seção estão
destacadas em vermelho os blocos e códigos que sofreram alterações ou foram acrescidos devido às
necessidades deste TCC.
4.4.1.1 EM
Entre as principais características da EM estão o processador ARM geração nove, ARM968E-S
da família Vega One do fabricante DSPG®, a interface de comunicação sem fio DECT, além de 30
portas de I/Os (GPIO) possibilitando a conexão de sensores e atuadores. As memórias utilizadas pela
EM são do tipo FLASH e EEPROM. A memória FLASH é utilizada para guardar informações do
software controle e possui capacidade de 1MB, já EEPROM é utilizada para guardar informações
enquanto a EM permanece desligada. A memória Flash está integrada no mesmo encapsulamento do
processador juntamente com hardware utilizado na interface DECT. Já a memória EEPROM é externa
e possui uma capacidade de armazenamento de 32 KBytes. Sua comunicação com o processador é
realizada através do barramento I²C (Inter Integrated Circuit). Para a EM destacam-se a solução one-
chip, que com exceção da memória EEPROM, disponibiliza todos demais itens necessários integrados
em um único encapsulamento, além do sistema operacional proprietário que é disponibilizado pelo
próprio fabricante.
53
Conforme apresentado na Seção 2.4, a EM possui um sistema operacional proprietário que faz
o controle da interface DECT, conforme detalhamento da Figura 22.
1
2
A Figura 24 mostra um handset, que teve seu software alterado para atuar como uma unidade
do sistema de automação residencial. Nesta EM, poderão ser simulados os 3 eventos relativos a
unidade de monitoramento descritos na Seção 2.5, conforme pode ser visto na :
Item Código Evento
1 302 Bateria baixa
2 400 Aberto
3 459 Fechado
Tabela 18 - Descrição dos eventos simulados a EM.
Quando cada tecla é pressionada, é simulado seu respectivo evento e enviado à EB. O evento
de “Bateria Baixa” indica que a bateria da estação necessita recarga ou substituição. Esse evento será
utilizado para o caso da EM seja alimentada por bateria ao invés de uma fonte de alimentação. Já o
evento “Aberto” indica que houve abertura do sensor na região monitorada, enquanto o “Fechado”
indica o oposto.
Figura 25 - EM atuador.
Na Figura 25 o item número “1” mostra a entrada de alimentação 220 V. Esta entrada é
utilizada para alimentar a carga que será conectada no local indicado pelo item “2”. No item “3” se
tem a fonte de alimentação da estação móvel, e por último, no item “4”, está o invólucro que comporta
o hardware mostrado na Figura 23, bem como a interface de acionamento mostrado na Figura 26.
Para que fosse possível acionar uma carga de maior potência, como por exemplo, uma
lâmpada, foi necessária uma interface para compatibilizar o nível da saída do processador com o da
carga, para isso, foi adicionado o circuito de interface mostrado na Figura 26.
4.4.1.2 EB
Entre as principais características da EB estão: o processador ARM geração nove, modelo
ARM926J da família Vega Firebird, também do fabricante DSPG®. Este processador é do tipo RISC
(Reduced Instruction Set Computing), opera com 32 bits de instruções e frequência de 220 MHz. Em
conjunto com o processador estão as memórias SDRAM e FLASH. A memória volátil SDRAM possui
16MB de capacidade e opera com um clock de 110 MHz fornecido pelo processador. A memória não
volátil FLASH possui 64MB de capacidade e é utilizada para armazenar os dados enquanto o produto
não está energizado. Para realizar a comunicação entre a rede local de dados e a EB foi utilizado o
switch KSZ8863 do fabricante MICREL, chamado de controlador Ethernet. Este switch possui três
portas de comunicação, sendo duas delas no padrão Ethernet e outra no padrão RMII para conexão
com o processador. Para a EB destaca-se o sistema operacional utilizado Linux Embedded e o sistema
operacional proprietário disponibilizado pelo fabricante.
Figura 28 - Detalhamento da EB
É importante ressaltar que a DSPG®, fabricante dos chipsets utilizados em ambas as estações,
oferece uma solução completa, porém proprietária, para comunicação entre dispositivos DECT
cumprindo os requisitos especificados em norma pela ETSI.
2
Blocos destacados em vermelho representam as aplicações que serão desenvolvidas ou adaptadas neste TCC
58
Para que o sistema operacional Linux (“SO LINUX”) seja inicializado, é necessária a utilização
de um programa auxiliar chamado Bootloader ou (inicializador).
O Bootloader é um programa que é executado assim que a EB é energizada. O Bootloader
provê a inicialização de alguns dispositivos de hardware presentes no sistema, tais como: controladores
de Ethernet, portas seriais, memórias e até mesmo do próprio processador. Após a inicialização dos
recursos de hardware, o Bootloader carrega os arquivos necessários para a inicialização do sistema
operacional. Seu funcionamento é análogo ao de uma BIOS (Basic Input/Output System) utilizada em
placa mãe de computador. Porém ao invés de ser um chip dedicado, é um software que compartilha a
mesma memória do SO LINUX. O bootloader utilizado para esta solução é o U-BOOT (Universal
Bootloader).
Após execução do Bootloader, ocorre a inicialização do Kernel e, na sequência, serão
inicializados os softwares de aplicação do sistema de automação, tais como, servidor WEB, sistema
controlador DECT, sistema controlador de Ethernet, etc.
O Kernel é o programa responsável por gerenciar as requisições de acesso das aplicações aos
dispositivos de entrada/saída disponíveis servindo como interface entre o software e o hardware,
conforme mostra a Figura 29.
Aplicações/Comandos
KERNEL
Para que seja possível o controle e interação do usuário com o sistema de automação
residencial, é necessária uma interface que interprete os comandos do usuário e os converta em
instruções para tal sistema.
A interface do sistema de automação foi construída com a linguagem HTML e complementada
com Java Script, JQuery e AJAX. O posicionamento e o formato são definidos pela estruturação da
linguagem HTML e o dinamismo das páginas é realizado através do uso da linguagem Java Script, da
API JQuery e da técnica de troca de dados AJAX.
Na interface de controle WEB foi utilizado um bootstrap open-source disponibilizado pelo
Twitter. Um bootstrap é uma página padrão, também conhecido como template, e traz consigo uma
disposição padrão, bem como, uma coleção de efeitos para aumentar o dinamismo das páginas. O
bootstrap utilizado é baseado em HTML, Java Script e JQuery podendo ser utilizado para diversas
aplicações que possuam a WEB como interface (BOOTSTRAP, 2013).
Após o arquivo HTML ser totalmente carregado, é exibida ao usuário a página de controle
principal do sistema. Nesta página todo o conteúdo do arquivo index.htm é ocultado exceto o painel de
controle, que será utilizado para se navegar entre as opções disponíveis, conforme mostra a Figura 31.
correspondente a EM1 antes de sua exibição ao usuário dando a impressão que é uma página
totalmente nova, conforme mostra a Figura 32.
Caso o usuário clique no botão referente à “EM2” uma nova requisição de dados ao servidor
WEB é realiza agora com os valores referente à “EM2” e a mesma estrutura HTML é atualizada com
esses dados e exibida ao usuário.
“Desligar” exibidos na Figura 32, o comando escolhido será executado no equipamento que está
conectado na EM1.
Além dos controles diretos, é possível realizar uma programação para ligar ou desligar
determinado equipamento em determinado horário do dia, para isso, o campo “Controles
Programados” deve ser utilizado. Neste campo o usuário escolhe entre ligar ou desligar um
equipamento na data e a hora programada.
No campo “Monitoramento” exibido na Figura 32, é possível realizar a leitura de um sensor
conectado a determinada EM, para isso, é necessário pressionar o botão “Atualizar” dentro da aba
correspondente à EM desejada. Ao ser pressionado, uma mensagem de status será exibida com o
estado atual do sensor.
Ainda é possível atribuir o nome do eletrodoméstico que está sendo controlado, ou ainda,
atribuir o nome do ambiente e o andar em que a EM está instalada.
Para configurar a data e hora, trocar a senha de acesso do sistema de automação além das
programações disponíveis deve ser realizada através do botão “Configurações do Sistema” conforme
mostra a Figura 33.
63
O campo “Ajuste de Data e Hora” é responsável por atualizar o horário que será utilizado pelo
sistema de automação.
64
No campo “Aplicar à Estação” deve ser escolhida a EM que se deseja executar o comando.
No campo data e hora deve ser inserida a hora e a data que se deseja que a programação ocorra.
No campo “Ação” o usuário deve escolher o comportamento de seu interesse, são eles: ligar,
desligar e simular ocupação. Quando escolhido ligar ou desligar, o sistema simplesmente acionará ou
desligará o equipamento controlado pela EM em questão.
No campo “Dados da EM” é possível identificar o ambiente de sua residência onde será
instalada uma EM para monitoramento ou controle. As informações deste cadastro serão utilizadas
posteriormente na seleção do campo “Parâmetros” na Figura 32.
Após a inicialização completa do Kernel e das aplicações, o sistema está pronto para operação.
A partir deste momento o servidor WEB permanece monitorando a porta 80 aguardando requisições
HTTP enviadas pelo navegador de internet, conforme apresentado na Seção 2.3.
O servidor WEB utilizado neste TCC foi o Mongoose WEB Server. Este servidor WEB é open-
source, ou seja, de código aberto, com foco para aplicações em sistemas embarcados, pois o tamanho
total do código compilado é cerca de 400 KB. Sua API (Application Programming Interface)
(MONGOOSE, 2013).
No código original do servidor WEB mongoose foram realizadas alterações a fim inseri-lo no
contexto da automação residencial. Essas alterações estão em destaque na Figura 28. As funções de
gravação, leitura e execução foram inseridas no código do servidor WEB para que, quando for
recebido um comando da interface WEB, o servidor execute respectiva função, acessando o arquivo
65
XML para leitura ou gravação, ou ainda encaminhando o comando de acionamento para determinada
EM. A Figura 34 mostra o fluxo com as principais funções do servidor WEB.
Ao receber uma requisição na porta 80, o servidor WEB verifica se esta é do tipo AJAX. Caso
não seja, ele retornará o arquivo index.html ou o arquivo HTML que estiver armazenado no endereço
da requisição. Caso a requisição seja do tipo AJAX é possível classifica-las em dois diferentes
métodos: GET, para requisitar um dado, ou POST, para enviar um dado ao servidor. Caso seja um
método GET o servidor web chama a função responsável por realizar a leitura na base de dados XML,
que irá ler os dados e retornar os valores requisitados ao navegador. Caso seja um método POST,
66
poderá ser uma instrução de gravação de alguma informação na base de dados XML ou poderá ser
uma instrução de execução de um comando. Em ambos os casos o servidor WEB irá executar a função
relacionada a uri recebida e retornará a informação “TRUE” ou “FALSE” em caso de sucesso ou não,
respectivamente ao navegador de internet.
Uma requisição deve seguir um padrão devendo conter, por exemplo, método de acesso,
endereço IP de origem (host), caminho de localização do arquivo uri (Uniform Resource Identifier,),
além de algumas informações do navegador (user-agent) e autorização conforme pode ser visto nas
Figura 35 e Figura 36.
GET /ajax/get_data?func_name=out_get_ST¶meter=0¶m=0 HTTP/1.1
Host: 10.0.0.6 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101
Firefox/24.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-
US,en;q=0.5 Accept-Encoding: gzip, deflate X-Requested-With: XMLHttpRequest
Referer: http://10.0.0.6/ Authorization: Digest username="admin", realm="TS60IP", nonce="68",
uri="/ajax/get_data?func_name=out_get_ST¶meter=0¶m=0", response="
e0745bda90f950dafbc27d05a3521023", qop=auth, nc=00000022, cnonce="3e189c37e916a8dc
uri="/ajax/get_data?func_name=out_get_ST¶meter=0¶m=0"
Através deste uri é possível saber que esta requisição HTTP refere-se ao método de acesso
GET e a função que será chamada pelo servidor WEB é a “out_get_ST”. Além disso, são passados
dois parâmetros, o “parameter” e o “param” ambos com o valor “0”.
uri="/ajax/set_data?func_name=in_set_DM¶meter=&sys_hour=00&
sys_minute=16&sys_day=21&sys_month=10&sys_year=2013”
Através deste uri é possível saber que esta requisição refere-se ao método de acesso POST
(set_data) e a função que será chamada pelo servidor WEB é a “in_set_DM”. Além disso, são passados
os parâmetros “parameter”, “sys_hour”, “sys_minute”, “sys_days”, “sys_month” e “sys_year” com
seus respectivos dados.
Além da função “in_set_DM”, existem outras que compõe o sistema de automação residencial.
As funções com o prefixo “in_set”, são executadas sempre que o usuário na interface WEB realizar
alguma alteração nos dados. Já as funções com o prefixo “out_get”, são executadas sempre que é
necessário carregar as informações gravadas no arquivo XML e transferi-los para a interface WEB. As
possíveis funções de acesso acrescidas no servidor WEB são:
B) A função “in_set_password”: altera a senha de acesso ao usuário;
C) A função “in_set_DM”: altera a data e a hora do sistema;
D) A função “in_set_AC”: altera os dados dos campos parâmetros e serviços disponíveis
das EMs.
E) A função “in_set_ST”: altera as programações de agendamentos das EMs,
F) A função “out_get_DM”: refere-se a leitura das informações de data e hora do sistema,
G) A função “out_get_ST”: refere-se a leitura das informações de agendamentos das EMs,
H) A função “out_get_AC”: refere-se a leitura das informações dos campos parâmetros e
serviços disponíveis das EMs ; e
I) A função “out_get_MU”: refere-se a leitura das informações do campo status de
monitoramento das EMs.
68
Neste outro exemplo mostrado na Figura 38, a função de acesso é a “out_get_ST”. Essa função
é executada quando o usuário acessa na interface WEB os campos referentes às informações de
agendamento de tarefas. Quando esses campos são acessados, o navegador faz uma requisição do
método GET ao servidor WEB contendo nos argumentos o nome da função que deseja acessar a
(out_get_ST). Quando a função “out_get_ST” for executada, fará o acesso à biblioteca XML através
das funções auxiliares AJAX_APP, neste caso a função “ajax_get_task” que, além de acessar a
biblioteca XML, atualizará a variável local e retornará os dados lidos para navegador de internet exibir
ao usuário.
Todas as funções do servidor WEB utilizam uma função auxiliar AJAX_APP específica,
variando conforme a ação que a função irá executar.
No padrão XML os dados são gravados em um simples arquivo com a extensão “xml” onde a
variável de interesse é armazenada entre dois campos iguais seguidas do símbolo de “<” menor e “>”
maior para marcar o início, e finalizada pela mesma sequência, porém acrescido do caractere barra “/”,
similarmente a linguagem HTML, conforme o exemplo:
A marcação “<campo>”, é uma TAG (etiqueta) que identifica o valor que está sendo
armazenado. Para marcar a finalização outra TAG, porem acrescida do caractere barra, é inserida na
sequencia “</campo>”, sendo armazenado o valor de interesse o conteúdo presente entre as TAGS.
Os dados são armazenados de forma idêntica para as cinco possíveis EM’s do sistema de
automação. Para cada EM é necessário guardar seu id, o tipo de serviço que ela oferece ao usuário e
informações do ambiente, conforme mostra a Figura 39.
70
O campo <emX> identifica a estação móvel pertence as informações que estão na sequência. O
“X” pode variar seu valor de 0 a 4 correspondendo as 5 estações móveis possíveis no sistema de
automação.
No campo <id> está armazenado o índice da estação, sua numeração acompanha a sequência
do campo anterior. Porém este valor será utilizado para identificação da EM na execução do sistema.
Essas informações existem para as cinco estações móveis e são armazenadas na memória
FLASH, através dos arquivos XML.
Além das informações cadastrais das estações, são armazenadas também as informações de
agendamento de tarefas visando o cumprimento do requisito funcional 04 na Subseção 4.2 em que é
possível para cada estação móvel realizar um agendamento para ligar/desligar um equipamento em um
horário pré-determinado. Estes dados são armazenados no padrão XML conforme mostra a Figura 40.
<unit0> <unit1>
<id>0</id> <id>1</id>
<active>1</active > <active>1</active >
<day>1</day > <day>1</day>
<month>8</month> <month>9</month>
<year>2013</year> <year>2013</year>
<hour>14</hour> <hour>11</hour>
<minut >00</minut > <minut >30</minut >
<action>0</action> <action>2</action>
<repeat>0</repeat > <repeat>2</repeat >
</unit0> </unit1>
Similarmente a Figura 39 o campo “<id>” é utilizado para identificar a qual estação pertence os
dados que virão na sequencia.
O campo “<active>” marca se o agendamento para esta estação está ativo ou não, utilizando os
valor 1 e 0 respectivamente.
Em “<action>” é armazenado o tipo de ação que o usuário deseja que aconteça no momento
programado, por exemplo, “Desligar” ou “Ligar” representeados pelos valores 0 e 1 respectivamente.
Este último é utilizado principalmente em lâmpadas e mantém um comportamento similar ao de um
ambiente ocupado por pessoa, onde as lâmpadas do ambiente ligam e desligam em momentos
aleatórios.
72
Para a criação desta biblioteca foram utilizadas as instruções typedef e enum da linguagem C.
O campo “A” refere-se ao número de identificação estação que originou a mensagem. O valor
“0” indica que a mensagem tem origem da EB e “1” para EM. Esse campo é definido no enum
“has_comm_orig_e” mostrada na Figura 41.
typedef enum
{
HAS_COMMAND_ORIGIN_BASE = 0,
HAS_COMMAND_ORIGIN_MOBILE,
} has_comm_orig_e;
typedef enum{
HAS_MOBILE_STATION_0 = 0,
HAS_MOBILE_STATION_1,
HAS_MOBILE_STATION_2,
HAS_MOBILE_STATION_3,
HAS_MOBILE_STATION_4,
} has_station_index_e;
typedef enum{
HAS_PREFERENTIAL_MSG = 18,
HAS_OPTIONAL_MSG = 98,
} has_event_type_e;
typedef enum{
HAS_NEW_STATUS_EVENT= 1,
HAS_CLOSING_STATUS_EVENT = 3,
HAS_REINFORMING_STATUS_EVENT = 6,
} has_event_inf_e;
No campo XYZ tem-se a informação de qual tipo de evento foi ocorrido, seguindo a lista de
eventos eleitos na Tabela 1 na Seção 2.5. Esse campo é definido no enum “has_event_code_e”
mostrada na Figura 45.
74
typedef enum{
HAS_LOW_BAT = 302,
HAS_COMMUN_FAIL = 354,
HAS_OPENED = 400,
HAS_TURN_ON = 407,
HAS_TURN_OFF = 408,
HAS_CLOSED = 459,
} has_event_code_e;
O campo “GG” indica o número da repartição do ambiente. Este campo esta previsto pelo
protocolo Contact ID, mas não foi utilizado pelo sistema de automação.
O campo “FCC” indica o andar e zona em que está localizado a EM. Este campo também não
foi utilizado pelo sistema de automação.
O campo “S” que indica o checksum também não foi utilizado.
Com a definição dessas novas estruturas foi possível agrupá-las em uma única nova estrutura
de dados denominada has_info_t, conforme mostra a Figura 46.
typedef struct {
has_comm_orig_e command_origin; //Origem
has_station_index_e station_id; //Destino
has_event_type_e event_type; //Prioridade
has_event_inf_e event_info; //Tipo do evento
has_event_code_e event_code; //Evento (on/off)
}has_info_t;
As funções AARLL e AARLD são responsáveis pelo tratamento das informações no lado
Linux e DECT, respectivamente. Essas funções têm como objetivo a inicialização da estrutura de
dados has_info_t e sua transmissão para a estação destino.
Para transferir dados entre processos foi utilizada a comunicação por socket.
Sockets são utilizados para implementar protocolos e serviços de redes por proporcionarem
uma interação entre processos. Os sockets, no sistema operacional Linux são representados através de
75
arquivos, assim como outros dispositivos, tais como CD-ROM, interface de rede, entre outros. E isto
permite que os dados sejam manipulados através do sistema de arquivos, possibilitando sua escrita e
leitura (ALVES, 2008). É através da troca de dados entre processos que se baseia o uso de socket
utilizado no HAS.
A aplicação AARLL, operando no lado Linux, fica aguardando o recebimento de dados via
socket, conforme mostra o fluxo na Figura 47. Esta aplicação provê uma interface entre o sistema
Linux e o sistema proprietário do fabricante.
A aplicação AARLD está presente tanto na EM quanto na EB, mas executam rotinas diferentes
dependendo da estação que está operando. Para facilitar a compreensão pode-se dividir a AARLD em
duas funções distintas e denominadas AARLD_EB e AARLD_EM.
A AARLD_EB é a aplicação que receberá os dados no sistema operacional proprietário. Sua
principal função é receber os dados da AARLL e encaminha-los para a aplicação DECT, que por sua
vez, irá transferir os dados para a estação destino. O fluxograma que descreve o comportamento da
AARLD_EB é mostrado na Figura 48.
Já aplicação AARLD_EM, presente na EM, faz uma interface entre a aplicação DECT e a
interface de hardware presente EM. O fluxo desta aplicação é mostrado na Figura 49.
Os sensores disponíveis para o sistema de automação residencial proposto são: sensor de nível
de bateria, sensor de abertura e o sensor de fechamento. Caso um desses sensores seja acionado, a
AARLD_EM será executada e, em sua execução, será identificado qual sensor ocasionou a
interrupção. Cada sensor possui um código descrito na biblioteca HAS.h, conforme mostra a Figura
45. Após este código ser identificado, a estrutura has_info_t é preenchida e entregue a aplicação DECT
que fará o envio da estrutura à estação destino. Neste caso a EB.
A variável local has_info é atualizada sempre que há um evento novo ocorrido em qualquer
uma das EMs cadastradas no sistema de automação. Quando um sensor é ativado, a interface de
hardware gera uma interrupção de hardware e chamará a função AARLD_EM. A AARLD_EM irá
preencher a estrutura has_info com os dados coletados pelo sensor acrescidos dos dados de
81
identificação e os enviará a aplicação DECT. Esta é responsável por enviar os dados para a aplicação
DECT na outra estação, a EB. Com os dados na EB, recepcionados pela aplicação DECT, eles são
enviados para a aplicação AARLD_EB que, por sua vez, repassará esses dados à aplicação AARLL. A
AARLL fará a decodificação dos dados recebidos e os salvará em uma variável local permitindo um
futuro acesso. Assim, quando o usuário clicar no botão status atualizará a interface WEB com o valor
presente na variável local recentemente captado pelo sensor na EM.
O intuito deste teste é verificar se o sistema está funcionando de acordo com o projetado, para
isso, foi utilizado como saída o acionamento um LED, presente na própria EM, representando o
acionamento de uma carga. Com o resultado esperado tem-se então testado o caminho EB EM. Para
testar-se o monitoramento dos sensores da EM foi utilizado uma simulação dos eventos através do
teclado da EM, com conforme comportamento descrito na Seção 4.4.
Com o acesso liberado, o primeiro teste executado foi o acionamento da estação EM1, que
neste teste está 30 metros distantes da EB. Para isso, foi pressionado o botão EM1 no painel de
controle e também o botão “Ligar” referente à EM1. O navegador de internet exibiu uma confirmação,
conforme pode ser visto na Figura 54.
O mesmo comportamento ocorre nas duas EM disponíveis no sistema de teste, EM1 e EM2.
Para testar-se a operação dos sensores, foram acionadas as teclas conforme mostrado na Figura
58. Cada tecla pressionada envia um evento para a EB com o código do evento ocorrido, simulando
um sensor que foi ativado.
84
O botão destacado no item “1” quando pressionado, simula o status de bateria baixa e envia a
essa informação para a EM. Após ter sido pressionado o botão “1”, foi pressionado o botão de status
na interface de controle WEB para que seja atualizado o status na tela, conforme mostra a Figura 59.
Já no botão destacado no item “2” quando pressionado indica que houve uma abertura do
sensor de barreira monitorado, simulando uma porta ou janela que se abre e possua um sensor de
barreira instalado. A mensagem de status é mostrada conforme mostra a Figura 60.
O botão destacado no item “3” quando pressionado indica que houve um fechamento do sensor
de barreira monitorado, simulando uma porta ou janela que se fecha e possua um sensor de barreira
85
instalado, ou ainda o fechamento da mesma porta ou janela que se acusou o status de aberto
anteriormente. A mensagem de status é mostrada conforme mostra a Figura 61.
Ao final deste teste é possível dizer que os sensores e atuadores estão funcionando conforme
previsto.
No campo “Dados da EM”, são inseridos os dados que se deseja que atribuir a uma das EMs,
para isso, foi preenchido os dados conforme mostra Figura 66.
Ao clicar pressionar o botão salvar, as informações da EM1 são atualizadas de acordo com os
novos dados inseridos, conforme mostram a Figura 67 e a Figura 68.
No campo “Trocar Senha” foi preenchido a senha atual e uma nova senha para testar a troca de
senha de acesso à interface WEB, conforme mostra a Figura 69.
5. CONCLUSÕES
Atualmente já existem sistemas de automação residencial que fazem uso de comunicação sem
fio em suas soluções, porém nenhum sistema comercial encontrado na pesquisa realizada faz uso do
protocolo DECT, cujo tema é a proposta deste trabalho.
O protocolo DECT se caracteriza como uma boa opção para aplicação em sistemas de
automação residencial devido a sua capacidade de alcançar grandes distâncias e também devido a sua
difusão no mercado de telefonia residencial, tornando a solução competitiva. Nos testes realizados com
o sistema de automação, em uma distância de 30 metros entre a EB e a EM, foi obtido o
comportamento esperado, ligando ou desligando uma carga experimental através dos controles diretos
e também através do agendamento de tarefas. No que diz respeito à leitura do estado dos sensores, o
sistema se comportou conforme o planejado, informando o status correto de acordo com o evento
ocorrido.
Neste trabalho foram abordados conhecimentos na área de automação residencial desde seu
surgimento até suas evoluções, além de ter sido possível identificar algumas necessidades do mercado
de automação residencial presente nos dias atuais. Foram apresentados também os conceitos de
sistemas embarcados, servidor WEB, o funcionamento básico do padrão DECT e protocolos de
comunicação, proporcionando um envolvimento com conhecimentos multidisciplinares como, por
90
exemplo, integração e desenvolvimento de software e hardware. Além disto, este TCC poderá servir
como artefato para prova de conceito com a tecnologia DECT aplicada na automação residencial,
tornando possível a realização de experimentos e validações no protótipo confeccionado e fazendo jus
a um trabalho de conclusão de curso na área de engenharia da computação.
91
Neste tópico serão apresentadas algumas sugestões para trabalhos futuros que utilizam as
tecnologias propostas neste trabalho visando seu aperfeiçoamento.
Incluir um maior número de agendamento de tarefas através, permitindo assim que usuário
faça mais de uma programação por EB.
Realizar atualização da hora através de protocolos de rede já disponíveis, tais como NTP.
Implementar um feed back no acionamento de uma carga, onde a EM enviaria uma resposta
a confirmação de acionamento à EB.
Integrar o sistema com outras tecnologias de comunicação sem fio, tais como ZigBee e Wi-
Fi.
92
REFERÊNCIAS BIBLIOGRÁFICAS
ALVES, Maicon Melo. Socket Linux. Rio de Janeiro: SP: Brasport Livros, 2008.
AXELSON, Jan. Embedded Ethernet and Internet Complete. Madison: Lakeview, 2003.
BOOTSTRAP. Bootstrap, 2013. Disponível em: < http://getbootstrap.com/>. Acesso em: 02 Nov.
2013.
CISCO. Instituto Telecom. Tráfego de dados móveis terá crescimento de 92% ao ano, diz Cisco,
2011. Disponível em:
<http://www.institutotelecom.com.br/index.php?option=com_content&view=article&id=1703%3Atraf
ego-de-dados-moveis-tera-crescimento-de-92-ao-ano-diz-cisco&catid=1%3Alatest-news&lang=pt >.
Acesso em: 06 Mar. 2013.
ETSI. European Telecommunications Standard Institute. DECT History and Success, 2013.
Disponível em < http://www.etsi.org/index.php/technologies-clusters/technologies/dect >. Acesso em:
06 Mar. 2013.
GIL, Antônio Carlos. Métodos e Técnicas de Pesquisa Social. São Paulo: Editora, 2008.
GESSLER, Fredrik. The Development of the DECT standard, 2000. Disponível em:
<http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.26.9980&rep=rep1&type=pdf>.Acesso
em: 14 Abr.2013.
MARIN, Paulo Sergio. Automação Residencial: Visão Geral e Aplicações, 2002. Disponível em:
<http://www.paulomarin.com/Files/home_automation_article.pdf>. Acesso em 02 Jun 2013.
MORIMOTO, Carlos E. Hardware o Guia Definitivo. Porto Alegre: Editora Meridional, 2007.
MURATORI. José Roberto; DAL BÓ, Paulo Henrique. Soluções em automação residencial, 2007.
Disponível em: <http://www.instalacoeseletricas.com/download/Automacao_residencial4.pdf>.
Acesso em: 19 Nov. 2012.
PEREIRA, Kalinne Rayana Cavalcanti. Sistema para Controle e Supervisão Remota para
Automação Residencial. 2009. Trabalho de conclusão de curso - UFRN
PHILLIPS, John.; NAMEE Mac, Gerard. Personal Wireless Communication With DECT and
PWT. Norwood: MA: Arthec House INC, 1998.
94
TEIXEIRA, Edson Rodrigues Duffles. PLC – Power Line Communications, 2005. Disponível em:
<http://www.teleco.com.br/tutoriais/tutorialplc/pagina_1.asp>. Acesso em: 02 Jun 2013.
ZIEHER, Martin. Information Technology Module: Computer Networks, 2006. Disponível em: <
http://www.it.fht-
esslingen.de/~zieher/vorlesungen/ComputerNetworks/lectures_CN/C2.LANs_IT1.pdf>. Acesso em: 7
Abr. 2013.
ZANDONÁ, Pablo Tirloni. Interface homem maquina para domótica baseada em tecnologias web
em um servidor embarcado. 2012. Trabalho de conclusão de curso – UNIVALI.