DOMOITECH – Domótica com
Protocolo EIB
2006 / 2007
Departamento de Engenharia Electrotécnica e
de Computadores
Mestrado Integrado em Engenharia Electrotécnica e de Computadores
Faculdade de Engenharia da Universidade do Porto
Trabalho realizado por:
Diana Sobreiro da Costa Palma – ee05241
Duarte Gonçalves Pinto – ee01163
http://domoitech.pt.vu
Faculdade de Engenharia da Universidade do Porto
DOMOITECH – Domótica com
Protocolo EIB
2006 / 2007
Departamento de Engenharia Electrotécnica e
de Computadores
Julho de 2007
Projecto realizado sob a supervisão de
Prof. Dr. Mário de Sousa,
do Departamento de Engenharia Electrotécnica e de Computadores
da Faculdade de Engenharia da Universidade do Porto
Trabalho realizado por:
Diana Sobreiro da Costa Palma – ee05241
Duarte Gonçalves Pinto – ee01163
Resumo
Este projecto assenta na ideia de criar um sistema Domótico de baixo custo,
em relação às soluções existentes no mercado, e que seja compatível com essas
mesmas soluções.
Neste relatório, será descrito como inicialmente pensamos em várias
soluções e tentamos achar a que para nós é a mais económica e compatível com
soluções existentes no mercado. Esta solução difere das existentes, porque ao invés
de um cliente comprar o seu sistema Domótico por partes, a solução que
apresentamos é para automatizar no mínimo uma divisão da casa.
Domoitech – Domótica com protocolo EIB – 2007
XIII
Prefácio
Os sistemas Domóticos existentes no mercado têm um custo elevado, como
por exemplo, um simples interruptor de parede que funciona em X-10, tem um custo
superior a 50€.
A motivação para a realização deste projecto surgiu na ideia de criar um
sistema Domótico de baixo custo e compatível com outros equipamentos que
existam em mercado.
Numa fase inicial, realizamos um estudo de soluções existentes no mercado
e escolhemos a tecnologia e a arquitectura do sistema, tentando sempre minimizar
os custos.
Em
primeiro lugar
gostaríamos
de
agradecer
às
nossas
famílias,
especialmente aos pais e irmãos, por terem estado sempre presentes e nos terem
apoiado ao longo deste percurso escolar.
Ao nosso orientador, professor Mário de Sousa agradecemos a sua
disponibilidade e orientação ao longo deste projecto.
Aos nossos amigos e colegas que nos apoiaram neste percurso universitário
e que partilharam connosco as vivências mais importantes e estiveram sempre ao
nosso lado.
Domoitech – Domótica com protocolo EIB – 2007
XIII
Índice
1
Introdução ...........................................................................................................13
1.1
Protocolos utilizados em Domótica .............................................................15
1.1.1
Protocolo Lonworks.............................................................................17
1.1.2
Protocolo X-10.....................................................................................19
1.1.3
Protocolo EHS .....................................................................................21
1.1.4
Protocolo BatiBUS...............................................................................23
1.1.5
Protocolo EIB ......................................................................................25
1.1.6
Protocolo KNX.....................................................................................27
1.2
Objectivos ....................................................................................................29
1.3 Escolha do Protocolo.........................................................................................30
1.4 Escolha do Meio Físico .....................................................................................32
2
Descrição detalhada do Protocolo EIB ..............................................................33
2.1
Camada de Aplicação ..................................................................................35
2.1.1
Serviços EIB.........................................................................................36
2.1.1.1
Serviço GroupValue_Read...............................................................38
2.1.1.2
Serviço GroupValue_Res .................................................................38
2.1.1.3
Serviço GroupValue_Write..............................................................39
2.1.2
Objectos EIB ........................................................................................39
2.1.2.1
EIS 1 - Switching..............................................................................40
2.1.2.2
EIS 7 – Drive Control ......................................................................40
2.2
Camada de Transporte ................................................................................43
2.3
Camada de Rede ..........................................................................................43
2.4
Camada de Ligação Lógica .........................................................................45
Domoitech – Domótica com protocolo EIB – 2007
XIII
2.5
3
4
5
Camada Física .............................................................................................45
Recursos de Hardware ........................................................................................46
3.1
Microcontrolador PIC18F452.....................................................................46
3.2
XPORT .........................................................................................................48
Desenvolvimento Hardware................................................................................51
4.1
Estrutura do hardware.................................................................................51
4.2
Placa Principal ............................................................................................53
4.3
Placa Saída a Relés .....................................................................................55
4.4
Placa Saída a Triac’s...................................................................................56
4.5
Comando Infravermelhos.............................................................................57
4.6
Programador................................................................................................58
Desenvolvimento Software..................................................................................59
5.1
Estrutura do Software ..................................................................................59
5.1.1
Divisão da Stack por camadas.............................................................61
5.1.2
Descrição dos processos camada física. .............................................63
5.1.2.1
Protocolo RC5 .................................................................................64
5.1.2.2
Mecanismo Recepção de tramas......................................................67
5.1.3
5.2
Descrição dos processos camada ligação de dados............................69
Camada Aplicação.......................................................................................70
5.2.1
Serviços EIB implementados................................................................71
5.2.2
EIS implementados...............................................................................72
5.3
Estruturação de ficheiros.............................................................................73
6
Integração do Sistema.........................................................................................75
7
Conclusão ............................................................................................................82
7.1
Custo do Projecto ........................................................................................83
Domoitech – Domótica com protocolo EIB – 2007
XIII
7.2
Futuros Melhoramentos...............................................................................87
Referências ..................................................................................................................88
Anexo A: Descrição Protocolo X-10 ..........................................................................89
Anexo B: Esquema Eléctrico Placa Central..............................................................92
Anexo C: Esquema Eléctrico Placa Saída em Relés .................................................93
Anexo D: Esquema Eléctrico Placa Saída em Triac’s ..............................................94
Anexo E: Esquema Eléctrico Programador ..............................................................95
Domoitech – Domótica com protocolo EIB – 2007
XIII
Índice de Figuras
Ilustração 1 – Esquema de disposição do sistema pela casa .................................................................14
Ilustração 2 - Trama Batibus..................................................................................................................24
Ilustração 3 – Modelo do Sistema KNX .................................................................................................31
Ilustração 4 – Modelo Camadas OSI vs Modelo Camadas EIB.............................................................34
Ilustração 5 - Formato Trama EIB.........................................................................................................35
Ilustração 6 - Formato de aplicação ......................................................................................................36
Ilustração 7 – Códigos dos serviços EIB................................................................................................37
Ilustração 8 – Exemplo Trama GroupValue_Read ................................................................................38
Ilustração 9 - Exemplo Trama GroupValue_Res ...................................................................................39
Ilustração 10 – Exemplo Trama GroupValue_Write..............................................................................39
Ilustração 11 – EIS Switching ................................................................................................................40
Ilustração 12 – EIS Drive Control - Move .............................................................................................41
Ilustração 13 – EIS Drive Control – Step...............................................................................................41
Ilustração 14 – Máquina de estados do Drive Control ..........................................................................42
Ilustração 15 – Interface com a camada de transporte entre os dispositivos EIB .................................43
Ilustração 16 – Interface com a camada de rede entre os dispositivos EIB...........................................44
Ilustração 17 – Formato da trama NPDU .............................................................................................44
Ilustração 18 – Interface com a camada de ligação lógica entre os dispositivos EIB ...........................45
Ilustração 19 – Diagrama de pinos do PIC18F452 ...............................................................................47
Ilustração 20 – Dimensões Xport ...........................................................................................................48
Ilustração 21 – Atribuição endereço IP da XPORT ...............................................................................49
Ilustração 22 – Configuração Porta Série e Ethernet ............................................................................50
Ilustração 23 - Diagrama de blocos da estrutura de hardware .............................................................52
Ilustração 24 – Placa Principal .............................................................................................................53
Ilustração 25 – Placa Saída Relés..........................................................................................................55
Ilustração 26 – Placa Saída a Triac’s....................................................................................................56
Domoitech – Domótica com protocolo EIB – 2007
XIII
Ilustração 27 – Placa Programador.......................................................................................................58
Ilustração 28 – Estrutura do software....................................................................................................60
Ilustração 29 – Diagrama de blocos das camadas.................................................................................62
Ilustração 30 – Codificação de um bit RC5 ...........................................................................................65
Ilustração 31 –Trama RC5 .....................................................................................................................65
Ilustração 32 – Sequência de duas tramas RC5 .....................................................................................65
Ilustração 33 – Modelação de um bit .....................................................................................................66
Ilustração 34 – Diagrama de descodificação das tramas RC5 ..............................................................66
Ilustração 35 – Passagem de vector linear a circular............................................................................67
Ilustração 36 – Incremento do apontador ApPrimeiro ..........................................................................68
Ilustração 37 – Salto do apontador para a posição inicial ....................................................................68
Ilustração 38 – Diagrama de blocos da aplicação.................................................................................70
Ilustração 39 – Estrutura de ficheiros do programa ..............................................................................73
Ilustração 40 – Exemplo de uma instalação do Domoitech ...................................................................75
Ilustração 41 – Expositor do projecto ....................................................................................................76
Ilustração 42- Imagem da parte traseira do expositor...........................................................................77
Ilustração 43 - Esquema servidor web ...................................................................................................78
Ilustração 44 –Página web de autenticação...........................................................................................78
Ilustração 45 – Página web de navegação.............................................................................................79
Ilustração 46 – Página web de uma divisão...........................................................................................79
Ilustração 47 – Aplicação feita em Lazarus ...........................................................................................80
Ilustração 48 - Exemplo de uma trama de endereço X-10 .....................................................................91
Ilustração 49 - Exemplo de uma trama de comando X-10 .....................................................................91
Domoitech – Domótica com protocolo EIB – 2007
XIII
Índice de Tabelas
Tabela 1 – Protocolos de Rede utilizados na Domótica.........................................................................16
Tabela 2 – Custo da placa principal ......................................................................................................83
Tabela 3- Custo placa relés....................................................................................................................84
Tabela 4- Custo placa triac’s .................................................................................................................84
Tabela 5- Orçamento para uma casa utilizando Domoitech..................................................................85
Tabela 6 – Orçamento para uma casa utilizando a solução da Siemens ...............................................86
Tabela 7 – Códigos de casa....................................................................................................................89
Tabela 8 - Códigos de unidades e funções .............................................................................................90
Domoitech – Domótica com protocolo EIB – 2007
XIII
Notação e Glossário
Esta
secção
apresenta
os
conceitos
(glossário
de
termos)
ordenados
alfabeticamente e acrónimos utilizados no corpo do texto do relatório.
EIB
-
European Installation Bus Association
LON
-
Local Operating Network
node
-
Localização de um dispositivo na rede LonWorks. Pode ter acima de
255 variáveis de rede definidas
bps
-
Bits por segundo
octetos
-
Oito bits, equivalente a um byte
multicast
-
Comunicação de muitos para muitos
broadcast
-
Comunicação de todos para todos
HVAC
-
Heating, Ventilation, Air-conditioning and Cooling
BIM
-
Bus Interface Modules
BCU
-
Bus coupling units
TP
-
Sigla de Twisted pair , Par entrançado
E/S
-
Entradas e Saídas
ms
-
Milissegundos
EIS
-
EIB Interworking Standards
Dispositivo
-
Refere-se a uma saída que pode ser ligada a uma lâmpada ou estore
Router
-
É um equipamento usado para fazer a comutação de tramas entre
redes provendo a comunicação entre computadores.
Switch
-
É um equipamento usado para fazer o encaminhamento de tramas
entre computadores distantes entre si.
Fat Client
-
É uma aplicação cliente numa arquitectura do tipo cliente-servidor e
que tipicamente realiza funções e não precisa de um servidor central.
CC
-
Corrente/Tensão Contínua
CA
-
Corrente/Tensão Alternada
Domoitech – Domótica com protocolo EIB – 2007
XIII
1 Introdução
A Domótica é uma tecnologia recente que permite a gestão de todos os
recursos habitacionais. O termo “Domótica” resulta da junção da palavra “Domus”
(casa) com “Telemática” (electrónica + informática). São estes dois últimos
elementos que, quando utilizados em conjunto, rentabilizam o sistema, simplificando
a vida diária das pessoas satisfazendo as suas necessidades de comunicação, de
conforto e segurança. Quando a Domótica surgiu (com o primeiros edifícios, nos
anos 80) pretendia-se controlar a iluminação, condições climáticas, a segurança e a
interligação entre os 3 elementos.
Nos nossos dias, a ideia base é a mesma, a diferença é o contexto para o
qual o sistema está pensado: já não um contexto militar ou industrial mas doméstico.
Apesar de ainda ser pouco conhecida e divulgada, mas pelo conforto e comodidade
que pode proporcionar, a Domótica promete ter muitos adeptos.
A Domótica utiliza vários elementos, que normalmente são independentes,
de uma forma sistémica. Vai aliar as vantagens dos meios electrónicos aos
informáticos, de forma a obter uma utilização e uma gestão integrada dos diversos
equipamentos de uma casa. A Domótica vem tornar a vida mais confortável, mais
segura e até mais divertida! Vem permitir que as tarefas mais rotineiras e
aborrecidas sejam executadas automaticamente. No manuseamento do sistema
poderá faze-lo de acordo com as suas próprias necessidades. Poderá optar por um
manuseamento mais ou menos automático. Nos sistemas passivos o elemento
reage só quando lhe é transmitida uma ordem, dada directamente pelo utilizador
(interruptor) ou p Nos sistemas mais avançados, com mais inteligência, não só
interpreta parâmetros, como reage ás circunstâncias (informação que é transmitida
pelos sensores), por exemplo detectar que uma janela está aberta e avisa o
utilizador, ou que a temperatura está a diminuir e ligar o aquecimento.
O controlo remoto de casas de habitação deixa de ser uma utopia. A
Domótica permite o acesso às funções vitais da casa, como aquecimento,
electrodomésticos, alarme, fechaduras das portas, quer seja através de um
comando remoto, da Internet ou do seu telemóvel. [1]
Domoitech – Domótica com protocolo EIB - 2007
13
Existem algumas soluções no mercado, mas os produtos são ainda muito
caros. O principal objectivo deste projecto é criar um sistema de controlo de
dispositivos existentes na casa apresentando uma solução mais económica.
Analisando várias opções e arquitecturas, optamos por uma solução
descentralizada, composta por uma placa com os sensores e actuadores que será
colocada em cada divisão da casa e que estarão ligadas num bus que contém todas
as placas e poderá ter um computador central que funciona como servidor web,
permitindo assim o acesso pelo exterior de forma a controlar remotamente os
equipamentos. Esta arquitectura é melhor que uma arquitectura centralizada na
medida em que não é necessário utilizar um servidor central para gerir todas as
placas e assim não se tinha o problema do servidor falhar, toda a rede deixava de
funcionar. Isto para não falar de que um computador central para gerir a rede era
mais um custo acrescido.
A figura seguinte ilustra a disposição das várias placas pelas divisões e a sua
ligação em rede a um computador servidor que poderá ou não ser utilizado:
Ilustração 1 – Esquema de disposição do sistema pela casa
Domoitech – Domótica com protocolo EIB - 2007
14
1.1 Protocolos utilizados em Domótica
A gestão da rede que será utilizada para interligar as placas e um
Computador servidor, é uma questão complexa; requer, em particular, a realização
de um grande número de funções bem diferenciadas e com diversos graus de
dificuldade.
A escolha das regras de comunicação (protocolo) entre os dispositivos da
rede, terá de ser adequada para o sistema em causa.
É grande a variedade de protocolos standards direccionados para a
Domótica. É necessário diferenciar quais os que são proprietários e os de alianças
ou grupos de trabalho e ainda quais são livres e abertos.
Cada protocolo pode utilizar um ou vários meios físicos e como tal, numa
fase inicial não é muito importante a escolha do meio físico.
O nível inferior físico é a junção das camadas de rede, ligação de dados e
física do modelo OSI, e diz respeito a que meio físico iremos utilizar e que pode ser
independente das camadas superiores. Possíveis meios físicos a utilizar é o
bluetooth, wifi, modbus, rádio-frequência, par-entrançado, infravermelhos, corrente
eléctrica, RS232, RS485, ethernet, S.N.A.P....
A camada de aplicação é onde se situa o protocolo de comunicação. A
escolha do protocolo terá de ser bem analisada.
Os protocolos mais utilizados actualmente na Domótica são o X-10 e o
EIB/KNX. A tabela seguinte apresenta uma breve descrição de alguns Protocolos
standards utilizados na Domótica [3] :
Protocolos de Rede - Alianças e Grupos de Trabalhos
Standard
Meio Físico
Descrição
BatiBUS
Par
Entrançado
Sensores de união e actuadores para construir
sistemas que controlem HVAC (Ar Condicionado),
sistemas de segurança e acesso. Em
convergência com EIB e EHS para KNX.
CEBus
(Consumer
Electronics
Bus)
Todos
O Standard CEBus (EIA-600) é um protocolo
criado pela Associação de Industrias Electrónicas
(EIA) para ser possível a interligação e
comunicação entre dispositivos electrónicos da
casa.
Domoitech – Domótica com protocolo EIB - 2007
15
EIB (European
Installation Bus)
Par
Entrançado
Sensores e actuadores para construir sistemas
que controlem HVAC (Ar Condicionado), sistemas
de segurança e acesso. Em convergência com
EHS e BatiBus para KNX.
EHS (European
Home System)
Todos
Uma colaboração entre industrias e governos
Europeus sobre Domótica. Entre alguma das suas
missões a EHSA tem o objectivo de ser um
standard na Europa de um BUS comum (EHS).
Em convergência com EIB e BatiBus para KNX.
HomeRF
(Home Radio
Frequency
Working Group)
RF
A missão do grupo de trabalho HomeRF é tornar
possível uma vasta gama de produtos electrónicos
de consumo que operem entre si, estabelecendo
uma especificação aberta para comunicações
digitais de RF (sem licença), para PC,s e produtos
electrónicos de consumo em qualquer sitio e
arredores da casa.
LonMark
Interoperability
Association
Todos
A associação LonMark tem a missão de integrar
facilmente dispositivos baseados em redes
LonWorks, fazendo uso de ferramentas e
componentes standards.
ZIGBEE
RF
Pensa-se que este pode ser um dos standards
que irá ser bastante utilizados no mundo da
domótica. É uma versão melhorada do HomeRF e
destinada a ambientes industriais.
Protocolos de Rede - Proprietários
Lonworks
Echelon Corp.
Todos
Redes de controlo comerciais e para a casa. Uma
rede LonWorks é grupo de dispositivos
trabalhando juntos para sensorizar, monitorizar,
comunicar, e de algumas maneiras controlar. É
muito parecido com uma LAN de PC,s.
X-10
Corrente
eléctrica/RF
O protocolo mais utilizado na domótica, utiliza a
rede eléctrica e facilita o controlo de dispositivos
domóticos sem instalação de qualquer fio em
casa, por utilizar a instalação de rede eléctrica já
existente.
Tabela 1 – Protocolos de Rede utilizados na Domótica
Desta vasta lista de protocolos, apenas estudamos os mais encontrados em
sistemas existentes no mercado que são: Lonworks, X10, EHS, BatiBUS, EIB e
KNX.
Domoitech – Domótica com protocolo EIB - 2007
16
1.1.1 Protocolo Lonworks
LonWorks é uma plataforma de trabalho em rede criada especificamente
para dirigir-se ao desempenho, à confiabilidade, à instalação, e às necessidades
originais da manutenção de aplicações de controlo. A plataforma é construída num
protocolo de largura de banda baixo criado por Echelon Corporation para
dispositivos de trabalho em rede utilizando meios físicos como o twisted pair, os
powerlines, o sistema de fibra-óptica, e o RF. É bastante utilizado para a
automatização de várias funções dentro dos edifícios, tais como a iluminação e os
sistemas HVAC. [1]
O protocolo de comunicação (LonTalk) implementa vários serviços que
fornecem robustez e eficiência de comunicação. As principais vantagens deste
protocolo são:
•
O projectista de produtos compatíveis com LONWORKS não precisa
conhecer detalhadamente a informação que circula numa rede.
•
Fornece aos instaladores de redes LONWORKS, uma enorme flexibilidade
em seleccionar e configurar os nós de uma rede
•
Assegura a previsibilidade do comportamento de uma rede, sob todas as
circunstâncias.
O êxito que o LonWorks tem tido em aplicações profissionais nas quais importa
muito mais a fiabilidade e a robustez que o preço em si, deve-se a que desde a
origem oferecem uma solução com arquitectura descentralizada, ponto-a-ponto, que
permite distribuir a inteligência entre os sensores e os actuadores instalados e que
cobre desde o nível físico até ao nível de aplicação a maioria dos projectos de redes
de controlo.
Qualquer dispositivo LonWorks, ou nodo, está baseado num microcontrolador
especial chamado Neuron Chip. Tanto este circuito integrado como o firmware que
implementa o protocolo LonTalk foram desenvolvidos pela Echelon no ano de 1990.
Em relação ao Neuron Chip podemos salientar:
•
Tem um identificador único, o Neuron ID, que permite direccionar qualquer
nodo de forma unívoca dentro de uma rede de controlo LonWorks. Este
Domoitech – Domótica com protocolo EIB - 2007
17
identificador, com 48 bits, é gravado na memória EEPROM durante o fabrico
do circuito.
•
Tem um modelo de comunicação que é independente do meio físico sobre o
qual funciona, isto é, os dados podem transmitir-se sobre cabos de pares do
tipo
telefónico,
correntes
portadoras,
fibra
óptica,
radiofrequência,
infravermelhos e cabo coaxial, entre outros.
•
O firmware que implementa o protocolo LonTalk, proporciona serviços de
transporte e routing ponto-a-ponto.
Estes circuitos comunicam entre si enviando telegramas que contêm a direcção
do destinatário, informação para o routing, dados de controlo assim como os dados
da aplicação do utilizador e um checklist como código detector de erros. Todas as
comunicações de dados são iniciadas num Neuron Chip. Um telegrama pode ter até
229 octetos de informação para aplicação distribuída.
Os dados podem existir sob duas formas:
As mensagens explícitas são a forma mais simples de enviar e receber
dados entre duas aplicações residentes em dois Neuron Chip do mesmo segmento
LonWorks.
As variáveis de rede proporcionam um modelo estruturado para a troca
automática de dados distribuídos num segmento LonWorks. São menos flexíveis
que as mensagens explícitas mas evitam que o programador da aplicação
distribuída esteja dependente dos detalhes das comunicações.
Meio Físico
O Neuron Chip proporciona uma porta específica de cinco pinos que pode
ser configurada para actuar como interface de diversos transmissores-receptores de
linha e funcionar a diferentes velocidades binárias. O LonWorks pode funcionar
sobre RS-485 com isolamento óptico, acoplado a um cabo coaxial ou de pares
entrançados,
sobre
correntes
portadoras,
fibra
óptica
e
inclusivamente
radiofrequência ou infravermelhos. O transmissor-receptor é encarregado de adaptar
os sinais do Neuron Chip aos níveis de que necessita cada meio físico. [4]
Domoitech – Domótica com protocolo EIB - 2007
18
1.1.2 Protocolo X-10
O X-10 é o protocolo mais antigo usado nas aplicações domóticas. Foi
desenvolvido entre 1976 e 1978 com o objectivo de transmitir dados por linhas de
baixa tensão (110V nos EUA e 230V na Europa) a muito baixa velocidade (60 bps
no EUA e 50 bps na Europa) e com custos muito baixos. Ao usar as linhas eléctricas
da habitação, não se torna necessário ter novos cabos para ligar os dispositivos.
Graças ao seu amadurecimento (mais de 20 anos no mercado) e à
tecnologia implementada, os produtos X-10 têm um preço muito competitivo sendo
líderes no mercado residencial Norte-Americano com as instalações a serem
realizadas por electricistas sem conhecimentos de automação ou informática ou até
pelos próprios utilizadores.
O X-10 é de momento a tecnologia mais acessível para a realização de uma
instalação domótica não muito complexa. Contudo, tem a desvantagem de ser um
protocolo pouco robusto.
Meio Físico
O protocolo X-10 usa uma modulação muito simples quando comparado com
as que são usadas noutros protocolos de controlo por correntes portadoras. O
Transmissor/Receptor do X-10 está dependente do ciclo da onda sinusoidal de 50hz
para introduzir um instante depois desta passar pelo zero um sinal muito curto numa
frequência fixa.
Pode introduzir-se este sinal nos ciclos positivo ou negativo da onda
sinusoidal. A codificação de um bit 1 ou de um bit 0, depende de como este sinal é
emitido nos semiciclos. O 1 binário é representado por um impulso de 120 kHz
durante 1 milissegundo e o 0 binário é representado pela ausência desse impulso de
120 kHz. Num sistema trifásico o impulso de 1 milissegundo é transmitido três vezes
para que coincida com a passagem pelo zero das três fases.
Como tal, o tempo de 1 bit coincide com os 20msg que dura o ciclo do sinal,
de forma a que a velocidade binária de 50 bps é imposta pela frequência da rede
eléctrica que temos na Europa.
A transmissão completa de um telegrama X-10 necessita de onze ciclos de
corrente. A trama divide-se em três campos de informação:
- Dois ciclos representam o Código de Início
Domoitech – Domótica com protocolo EIB - 2007
19
- Quatro ciclos representam o Código de Casa (letras de A-Z)
- Cinco ciclos representam o Código Numérico (1-16) ou o Código de Função
(acender a luz, apagar a luz, variar a luz, etc...).
Para aumentar a fiabilidade do sistema, esta trama, (Código de Inicio, Código
de Casa e Código de função ou numérico) transmite sempre duas vezes, separadas
por três ciclos completos de corrente. Há uma excepção, nas funções de variação de
intensidade é transmitido de forma contínua (pelo menos duas vezes) sem
separação entre tramas.
Protocolo
Existem três tipos de dispositivos X-10: os que só podem transmitir ordens,
os que só as podem receber e os que as podem receber e enviar.
Os transmissores podem direccionar até 256 receptores. Os receptores vêm
dotados de dois pequenos comutadores giratórios, um com 16 letras e o outro com
16 números, que permitem identificar uma direcção das 256 possíveis. Numa
mesma instalação pode haver vários receptores configurados com a mesma
direcção, todos realizam a função pré-designada, desde que um transmissor envie
um telegrama com esta direcção. Evidentemente qualquer receptor pode receber
ordens de diferentes transmissores.
Os dispositivos bidireccionais, têm a capacidade de responder e confirmar a
realização correcta de uma ordem (feedback), a qual pode ser muito útil quando o
sistema X-10 estiver ligado a um programa de visualização que mostre os estados
em que se encontra a instalação. [4]
No Anexo A encontra-se uma descrição pormenorizada do tipo de tramas do
protocolo e as tabelas contendo os códigos.
Domoitech – Domótica com protocolo EIB - 2007
20
1.1.3 Protocolo EHS
O protocolo EHS (European Home System) foi uma das invenções que a
indústria europeia no ano de 1984, apoiada pela Comissão Europeia para criar uma
tecnologia que permitia a implantação da domótica no mercado residencial do forma
massiva. O resultado foi a especificação do EHS no ano de 1992. Esta baseada
numa topologia de camadas OSI em quais se especificam os níveis: físico, ligação
de dados, rede e de aplicação.
Desde
o
início
estiveram
envolvidos:
os
fabricantes
europeus
de
electrodomésticos mais importantes, empresas de electricidade, operadoras e
telecomunicações e os fabricantes de equipamento eléctrico. A ideia era criar um
protocolo aberto que permitiria cobrir as necessidades de interligação dos produtos
de todos os fabricantes e provedores de serviços.
Tal como foi pensado, o objectivo da EHS é cobrir as necessidades de
automatização da maioria das vivendas europeias cujos proprietários que não se
podem dar ao luxo de utilizar sistemas mais potentes e mais caros devido à mão de
obra especializada que exigem essas instalações.
O EHS vem a cobrir, por prestações e objectivos, a parcela que têm no
CEbus norte-americano e o HBS japonês
Nivel Físico
Durante os anos de 1992 a 1995 a EHSA suportou o desenvolvimento de
componentes electrónicos que implementaram a primeira especificação. Como
resultado nasceu um circuito integrado da ST-Microelectronics (ST7537HS1) que
permitia transmitir dados por um canal série assíncrono através das linhas de baixa
tensão das vivendas (ondas portadoras ou "powerline communications"). Esta
tecnologia, baseada na modulação FSK, consegue velocidades superiores a 2400
bps e também podem utilizar cabos de pares entrançados como suporte de o sinal.
Actualmente, estão a ser utilizados os seguintes meios físicos:
- PL-2400: Ondas Portadoras a 2400 bps.
- TP0: Par Entrançado a 4800 bps (idêntico ao nível físico do BatiBUS).
Domoitech – Domótica com protocolo EIB - 2007
21
- TP1: Par Entrançado/Coaxial a 9600 bps.
- TP2: Par Entrançado a 64 Kbps.
- IR-1200: Infravermelhos a 1200 bps.
- RF-1100: Radiofrequência a 1100 bps.
Protocolo
Este protocolo está totalmente aberto, isto é, qualquer fabricante associado à EHSA
pode desenvolver os seus próprios produtos e dispositivos que implemente o EHS.
Com uma Plug&Play, é pretendido contribuir para as seguintes vantagens aos
utilizadores finais:
- Compatibilidade total entre dispositivos EHS.
- Configuração automática dos dispositivos, mobilidade dos mesmos e ampliação
fácil das instalações.
- Compartilhar o mesmo meio físico entre diferentes aplicações sem interferir entre
elas.
Cada dispositivo EHS tem associada uma subdirecção única dentro do
mesmo segmento de rede que para além de identificar univocamente a um nodo
também leva associada informação para receptor dos telegramas por diferentes
segmentos de rede EHS.
Depois da aparição de diversos produtos e soluções baseadas em EHS, esta
tecnologia está a convergir juntamente com o EIB e o BatiBUS para um standard
europeu chamado KNX. [5]
Domoitech – Domótica com protocolo EIB - 2007
22
1.1.4 Protocolo BatiBUS
Inicialmente projectado para interligar sensores inteligentes, actuadores e
unidades terminais de controlo, num edifício, o sistema BatiBUS foi criado em 1988,
em França, por Merlin Gerin, AIRELEC, EDF e LANDIS & GYR. Foi também o
primeiro bus de campo a aparecer no mercado.
Em 1989, as referidas companhias decidiram criar o BCI (BatiBUS Club
International) com o intuito de desenvolver produtos que comunicassem sobre
BatiBUS. Dotaram-no também de um conjunto completo de ferramentas de apoio.
Hoje em dia, o BCI já tem mais de 80 parceiros em muitos países, contando com
seis delegações nacionais (Espanha, França, Grã-Bretanha, Itália, Holanda e "outros
países").
O BCI escolheu o LCIE (Laboratoire Central des Industries Electriques) para
a certificação dos produtos, a qual permite garantir a conformidade à norma de
referência do protocolo BatiBUS e a inter operacionalidade de produtos diferentes
sobre BatiBUS.
Trata-se de um bus único que permite a intercomunicação entre todos os
módulos (CPUs, sensores e actuadores) do sistema de controlo de aquecimento, ar
condicionado, iluminação, etc.
O suporte físico do BatiBUS é um simples par entrançado, isolado ou não,
dependendo do tipo de ambiente electromagnético, que alimenta os sensores que
lhe estão acoplados. Um único cabo BatiBUS é suficiente para controlar todas as
operações no mesmo edifício e permite alimentar dispositivos que não consumam
mais de 3 mA.
O BatiBUS pode usar qualquer topologia de rede: bus, estrela, token-ring,
combinações destas, etc. A sua arquitectura flexível torna o sistema fácil de
aumentar.
O BatiBUS usa um protocolo aberto, baseado em CSMA/CA (Carrier Sense
Multiple Access with Collision Avoidance), descrito nas normas francesas NFC
46620 e secções seguintes, nas normas europeias (CENELEC) e mundiais (ISO/IEC
JTC 1 SC25), operando de uma forma distribuída sem um ponto de controlo central.
Todos os módulos podem comunicar desde que a linha se encontre disponível. São
identificados por endereços BatiBUS, os quais são definidos na altura da instalação,
Domoitech – Domótica com protocolo EIB - 2007
23
com a ajuda de selectores rotativos, interruptores ou teclados com displays. Para
sistemas mais complexos, o controlo pode ser programado a partir de um módulo de
comando central.
Sempre que se torne necessário modificar o posicionamento dos módulos ou
das funções usadas, basta mudar o endereço ou ligar um componente adicional ao
bus.
Os dispositivos comunicam entre si a uma taxa de transmissão de 4800 bps.
A informação transmitida no bus é descrita em termos de tramas como a da figura
seguinte:
Ilustração 2 - Trama Batibus
O campo tipo da mensagem descreve o conteúdo da trama, indicando se ela
contém, por exemplo, uma medida de temperatura, o estado de entrada binária, o
comando de uma saída binária, etc; o segundo campo indica quais os tipos de
dispositivos que transmitem/recebem a trama (sensor de temperatura, interruptores,
etc); o terceiro campo indica os endereços físicos dos dispositivos que
transmitem/recebem a trama; o campo de dados contém os dados da trama (permite
a transmissão de um máximo de 25 bytes por trama). Finalmente o campo check
permite evitar os erros de comunicação. [6]
Domoitech – Domótica com protocolo EIB - 2007
24
1.1.5 Protocolo EIB
O EIB é um protocolo de comunicação desenvolvido por um conjunto de
empresas líderes no Mercado Europeu do material eléctrico com o objectivo
declarado de criar um sistema que constitua uma barreira às importações de
produtos e sistemas semelhantes que estavam e estão sendo produzidos nos
mercados Japonês e dos Estados Unidos da América onde estas tecnologias
possuem, melhor dizendo possuíam, um grau de maturidade superior ao produzido
na Europa. O objectivo era criar um standard Europeu que permita a comunicação
entre todos os dispositivos de uma instalação, esteja ela numa casa ou num edifício
de escritórios. O EIB possui uma arquitectura descentralizada. Ele define uma
relação elemento – a – elemento entre os dispositivos, o que permite distribuir a
inteligência entre os sensores e actuadores instalados.
A EIBA é uma associação actualmente com 114 membros, empresas lideres no
Mercado do material eléctrico, que se iniciou em 1990, com 15 membros apenas,
para implantar o uso o sistema de instalação inteligente EIB.
A EIBA tem sede em Bruxelas e os seus membros cobrem cerca de 90% do
negócio do material eléctrico na Europa. As principais áreas de actuação desta
associação são:
•
Estabelece as directrizes técnicas para o sistema e produtos EIB, assim
como estabelecer os procedimentos de ensaio e certificação de qualidade e
mandar realizar esses mesmos ensaios
•
Divulga o conhecimento e experiências das empresas que trabalham com o
EIB, assim como dos novos produtos e/ou inovações.
•
Única entidade a poder atribuir a marca registada EIB aos produtos e aos
fabricantes seus associados.
•
Colabora activamente com outros organismos europeus e internacionais em
todas as fases de normalização e adaptação do EIB ás normas
internacionais.
•
Participa na iniciativa de "convergência" KONNEX, juntamente com o BCI
(Batibus) e a EHSA (EHS). [4]
Domoitech – Domótica com protocolo EIB - 2007
25
Meio Físico
Apesar de no inicio se usar unicamente um cabo do tipo telefónico, designado
por y(st)y 2x2x0,8, com de 2 pares de fios (só se usa um desses pares) como
suporte físico das comunicações, pretendeu-se que no nível MAC (Médium Access
Control) do OSI o EIB pudesse funcionar sobre os seguintes meios físicos:
•
EIB.TP: Sobre o par de condutores a 9600 bps. Igualmente por estes dois
fios é fornecida a alimentação a 24 Vdc para os participantes. Usa o
protocolo de comunicação CSMA-CA onde são evitadas as colisões,
maximizando a largura de banda disponível. Foi o primeiro meio de
comunicação a ser disponibilizado e é o único a ter expressão. Todos os
outros pouco mais conseguiram que algumas instalações ou aplicações de
referência.
•
EIB.PL: Transmite o sinal por correntes Portadoras comunicando a
1200/2400 bps sobre os 230V/50Hz. Usa a modulação SFSK (Spread
Frequency Shift Keying), semelhante á FSK mas com maior separação entre
as portadoras. A distância máxima sem repetidor é de 600 metros.
•
EIB.net: Utiliza a rede Ethernet a 10 Mbps (IEC 802-2). É usado como linha
principal entre linhas e/ou áreas do EIB, permitindo a transferência de
telegramas EIB através do protocolo IP entre instalações muito afastadas.
Antes este problema era resolvido utilizando modems EIB e a rede telefónica
comutada.
•
EIB.RF: Transmite o sinal por radiofrequência, conseguindo-se distâncias até
300 metros em campo aberto. Para maiores distâncias podem ser usados
repetidores. Também para ser usado no interior das casas ou dos edifícios.
•
EIB.IR: Transmite o sinal por infravermelho, até uma distância máxima de
aproximadamente 12 metros. Ideal para o uso com comandos à distância em
salas ou salões onde se pretende controlar os dispositivos EIB instalados e o
número destes ou as distâncias a cobrir estão dentro do limite indicado.
Domoitech – Domótica com protocolo EIB - 2007
26
1.1.6 Protocolo KNX
O Konnex é uma iniciativa promovida por três associações Europeias
1. EIBA (European Installation Bus Association)
2. BCI (Batibus Club International)
3. EHSA (European Home Systems Association)
com o objectivo de criar um único standard Europeu para a automação das
casas e edifícios.
Os objectivos desta iniciativa, com o nome de "Convergência", são:
•
Criar um único standard para a domótica e automação de edifícios que cubra
todas as necessidades e requisitos das instalações profissionais e
residenciais no âmbito europeu;
•
Melhorar as prestações dos diversos meios físicos de comunicação
sobretudo na tecnologia de radiofrequência, fundamental para a efectiva
consolidação da domótica;
•
Introduzir novos modos de funcionamento que permitam aplicar uma filosofia
Plug&Play a muitos dispositivos típicos de uma casa;
•
Envolver
as
empresas
fornecedoras
de
serviços
como
as
de
telecomunicações e de electricidade, com o objectivo de desenvolver a
telegestão nas casas;
Resumindo, partindo dos sistemas EIB, EHS e Batibus, trata-se de criar um
único standard europeu que seja capaz de competir em qualidade, prestações e
preços, com outros sistemas norte-americanos como o Lonworks ou CEBus.
Actualmente a associação Konnex está a terminar as especificações do novo
standard (versão 1.0) o qual será compatível com os produtos EIB instalados.
Pode afirmar-se que o novo standard terá o melhor do EIB, do EHS e do Batibus e
que aumentará consideravelmente a oferta de produtos para o mercado residencial.
A versão 1.0 contempla três modos de funcionamento:
1. S-mode (System mode): a configuração do modo sistema usa a mesma
filosofia que o EIB actual, isto é, os diversos dispositivos ou modos da nova
Domoitech – Domótica com protocolo EIB - 2007
27
instalação, são instalados e configurados por profissionais com ajuda de um
software (ETS) especialmente concebido para este propósito.
2. E-mode (Easy mode): na configuração do modo simples os dispositivos são
programados em fábrica para realizar uma função concreta. Mesmo assim
devem ser configurados alguns detalhes no local da instalação mediante o
uso de um controlador (como uma porta residencial ou uma set-top-box) ou
mediante micro-interruptores alojados nos dispositivos (semelhante ao X-10
ou outros dispositivos proprietários que há no mercado).
3. A-mode (Automatic mode): na configuração do modo automático, com uma
filosofia Plug&Play, nem o instalador nem o utilizador final têm de configurar
o dispositivo. Este modo será especialmente indicado para ser usado em
electrodomésticos e equipamentos de entretenimento (consolas, set-top
boxes, áudio e vídeo).
Respeitante ao meio físico o novo standard poderá funcionar sobre:
•
Par de condutores (TP1): aproveitando a norma EIB equivalente.
•
Par de condutores (TP0): aproveitando a norma Batibus equivalente.
•
Correntes portadoras (PL100): aproveitando a norma EIB equivalente.
•
Correntes portadoras (PL132): aproveitando a norma EHS equivalente.
•
Ethernet: aproveitando a norma EIB.net.
•
Radiofrequência: aproveitando a norma EIB.RF [4]
Domoitech – Domótica com protocolo EIB - 2007
28
1.2 Objectivos
Como foi descrito desde o início, os principais objectivos é criar uma solução
de domótica de baixo custo e compatível com soluções existentes no mercado.
Para uma fácil integração numa casa, outro objectivo principal é criar um
sistema domótico que pudesse utilizar as instalações de redes dessa mesma casa e
fosse de fácil instalação.
Ao logo do projecto, outros objectivos pessoais foram acrescentados partindo
sempre da satisfação dos principais requisitos.
Domoitech – Domótica com protocolo EIB - 2007
29
1.3 Escolha do Protocolo
No mercado, os sistemas mais usuais utilizam o protocolo X-10. Por essa
razão, a nossa escolha inicial recai na utilização do X-10, que descartamos logo de
seguida pela sua fraca robustez e ser muito rudimentar.
O segundo protocolo mais utilizado em sistemas domóticos existentes no
mercado, é o EIB/KNX. Este protocolo oferece muita robustez e flexibilidade
contudo, os produtos são de elevado custo. Para ter uma noção, um interruptor de
pressão quadruplo da Siemens, custa aproximadamente 70,91€. [2]
Como os outros protocolos vistos anteriormente, não são muito usuais no
mercado, foram colocados de parte porque tendo em conta um dos nossos
objectivos, não iria existir muitas soluções no mercado compatíveis.
O principal requisito de escolha do protocolo é a importância da solução a
criar ser compatível com outros produtos de outros fabricantes. Assim podemos ter
esta solução de domótica com EIB e por exemplo acrescentar um touch panel EIB
da Siemens e uns interruptores EIB da Jung e o sistema funcionar correctamente.
O sistema EIB tem sido desenvolvido dentro do contexto da União Europeia,
com o fim de fazer frente aos produtos domóticos já existentes na América e Japão.
O protocolo EIB permite a utilização de vários meios físicos, mas o mais utilizado é o
par entrançado onde todos os dispositivos estão ligados a um Bus. Mas com esta
solução de par entrançado (TP), era necessária uma fonte de alimentação para o
barramento que normalmente tem um custo elevado, na ordem dos 160€.
Uma das principais vantagens do EIB é a economização de energia porque
existe uma maior gestão dos dispositivos eléctricos de um edifício. Por exemplo, se
saímos de casa para o trabalho e alguma luz ficou ligada, é possível desligar a
mesma quando chegamos ao trabalho sem ter a necessidade de alguém se deslocar
a casa.
O EIB é um protocolo aberto e por esta razão, existem no mercado alguns
fabricantes que têm os seus produtos a utilizarem EIB. Qualquer pessoa, pode
desenvolver produtos EIB bastando para isso adquirir um livro denominado por EIB
Handbook com nove volumes cujo valor comercial é de aproximadamente 1000€.
Com este livro de milhares de páginas, têm-se toda a documentação necessária
desde a parte de desenvolvimento à certificação do produto EIB.
Domoitech – Domótica com protocolo EIB - 2007
30
Em 14 de Abril de 1999, as associações responsáveis pelos protocolos: EIB,
EHS e o BatiBUS, decidiram juntar-se e criar uma só associação denominada
Konnex, com o protocolo mais conhecido pelas suas siglas: KNX. O KNX veio
acrescentar ao EIB outras funcionalidades tais como: permite a utilização de mais
meios físicos e o controlo de mais sistemas, como é o exemplo de sistemas HVAC.
A imagem seguinte [7] ilustra que o sistema de base do KNX é o EIB e que
utiliza o software ETS para configurar os dispositivos EIB.
Ilustração 3 – Modelo do Sistema KNX
Para desenvolver um produto KNX/EIB como acontece com o EIB, é
necessário adquirir o KNX/EIB Handbook cujo valor comercial é também
aproximadamente 1000€. Como tivemos apenas à nossa disposição o handbook do
EIB, não nos foi possível realizar o projecto com KNX. Contudo, é de notar que
numa rede domótica um sistema EIB pode estar ligado a um sistema KNX, porque
são totalmente compatíveis.
Domoitech – Domótica com protocolo EIB - 2007
31
1.4 Escolha do Meio Físico
Foi feita uma análise de vários meios físicos que são compatíveis com EIB
assim como o protocolo de rede a utilizar.
Inicialmente a nossa escolha recaiu pela utilização do Twisted Pair. Era uma
solução bastante utilizada noutros sistemas domóticos e uma óptima solução para o
nosso sistema. Contudo, para nos diferenciarmos das soluções existentes do
mercado e como a tendência é evoluir para redes mais complexas e tendo em conta
que seria necessário adquirir uma dispositivo que não era de baixo custo, optamos
por não utilizar esta solução.
O interessante era utilizar uma rede sem fios para utilizar em casas já
terminadas onde inserir uma rede com cabos significava partir paredes já prontas.
Para isso, pensamos na opção de utilizar Rádio-Frequência. Era uma boa solução e
os dispositivos de interface à rede RF eram mais baratos, mas surgiu a
desvantagem de existirem algumas interferências provocadas por aparelhos como
campainhas sem fios ou o sistema de alarme de uma casa onde os sensores de
ultra-sons interferem com os demais dispositivos sem fios.
Decidimos fazer um sistema para qualquer tipo de habitação e aproveitar a
instalação de rede ethernet que algumas habitações possam ter. Pensamos então
em ter o nosso sistema a funcionar em conjunto com uma rede ethernet normal, ou
seja, ambas as redes utilizavam a mesma cablagem onde passariam tanto as
tramas da rede ethernet como as tramas da rede EIB.
Escolhido então o protocolo TCP/IP e o meio físico ethernet para transportar
as tramas EIB, surgiu uma dificuldade, não existem microcontroladores simples que
corram o protocolo IP. Fazendo um estudo dos microcontroladores e de dispositivos
de conversão de um protocolo de rede para o outro, verificamos que existiam
bastantes conversores de RS232 para um outro protocolo e raros eram os
microcontroladores que não tinham uma porta USART (Universal Synchronous
Asynchronous Receiver Transmitter). Escolhemos então um conversor RS232 para
ethernet denominado por XPORT da empresa LANTRONIX. O RS232 passa a ser a
interface entre o microcontrolador e a XPORT. O facto de utilizarmos o RS232 para
interface com um meio físico, permite mais tarde, substituir a XPORT por outro
conversor e utilizar outros meios físicos.
Domoitech – Domótica com protocolo EIB - 2007
32
2 Descrição detalhada do
Protocolo EIB
Depois de escolhido o protocolo e o meio físico, seguem-se as outras questões:
Quais são os objectos de comunicação a utilizar?, qual o seu formato de dados?,
quais são os requisitos de hardware?, já existem componentes standard EIB?, vai
ter algum modo de configuração?, que funções implementar?. Estas são algumas
das questões que criadores de dispositivos EIB se colocam numa fase inicial de
projecto. Uma forma de ajuda a responder a essas questões é efectuar uma
pesquisa no mercado e verificar o que as soluções existentes implementam.
Encontram-se soluções variadas, mas em todas elas que utilizam como meio físico o
par entrançado, utilizam um dispositivo físico que pode ter várias denominações
dependendo das camadas EIB que ele implementa.
Um dos dispositivos mais conhecidos é o BCU (Bus coupling units), este é um
dispositivo que inclui o circuito de interface à rede TP EIB. É composto por um
microprocessador que implementa quase todas as camadas EIB exceptuando as de
nível de aplicação. O colaborador apenas precisa de desenvolver a aplicação num
microcontrolador à parte e utilizar o BCU como interface ao bus.
O outro dispositivo muito conhecido é o BIM (Bus Interface Modules), em que
basicamente são BCU mas com portas adicionais de entradas e saídas. Os BIM’s
são vendidos como módulos que podem ser soldados directamente na placa de
circuito do projecto. Existem algumas versões disponíveis: com 8Kbyte e 48Kbyte de
memória flash para o software de aplicação. Assim, não é necessário uma
microcontrolador à parte, visto que se utiliza o micro do BIM. Estes módulos têm um
valor comercial superior a 40€. [8]
Estes BIM’s são necessários para cada componente de uma casa, uma
lâmpada, um interruptor, um estore, ….
No sistema Domoitech que desenvolvemos o objectivo principal era a redução
de custos e se utilizarmos estes BIM’s no nosso projecto, o custo fica bastante
elevado. Optamos por criar os nossos próprios BIM’s e assim temos um
microcontrolador com poder de processamento e memória razoáveis onde irá ser
implementado todas as camadas do protocolo EIB, exceptuando a camada de
Domoitech – Domótica com protocolo EIB - 2007
33
protocolo de rede IP que será a XPORT a implementar. Poderemos comparar a
XPORT ao BCU porque a sua função é semelhante excepto o acesso ao meio físico,
em que um é para rede Ethernet e outro é para rede TP EIB. Futuramente, se for
pretendido a utilização do meio físico TP, basta acrescentar uma camada que
implementa o protocolo FT1.2 e em vez da XPORT utilizar um BCU que faz a
interface ao barramento TP do EIB.
O EIB funciona em quase todas as camadas do modelo OSI e ainda
acrescenta uma superior à de aplicação, a camada de utilizador. As únicas camadas
que não implementa é a de sessão e de apresentação.
De todas as camadas, apenas nos interessa a de aplicação, visto que as
restantes camadas, algumas vão ser preenchidas pela interface de rede Ethernet
que já implementa o protocolo TCP/IP.
Para uma melhor compreensão das camadas de rede do EIB, o diagrama
seguinte ilustra as camadas do modelo OSI e as camadas do EIB:
Ilustração 4 – Modelo Camadas OSI vs Modelo Camadas EIB
Domoitech – Domótica com protocolo EIB - 2007
34
Uma trama EIB tem o seguinte formato:
Ilustração 5 - Formato Trama EIB
A trama EIB é composta por vários cabeçalhos de quatro camadas do protocolo.
Na parte inferior da trama encontra-se uma barra de cores que facilita a visualização
das camadas de rede. Até ao octeto 4, mais 5 bits do octeto 5 e último octecto,
pertencem à camada de ligação lógica. Neste cabeçalho, estão indicados os
endereços de destino e origem, um caractere inicial de controlo e no final um octecto
com um NOT XOR de todos os octetos anteriores. A este octeto terminal, chamamos
de check octet e serve para detecção de erros na trama. Os 3 bits do octeto 5
pertencem à camada de rede e indicam se os endereços que vêm são do tipo
endereços de grupo ou físicos. O octeto 6 contém o cabeçalho da trama de
transporte que será fixo porque todas as tramas que iremos enviar são do tipo data
packet. Os restantes octetos a partir o 7 excepto o último, pertencem à camada de
aplicação. O tamanho máximo de uma trama EIB é de 23 octectos.
2.1 Camada de Aplicação
A camada de aplicação corresponde, à camada 7 que contém os serviços da
parte do cliente e do servidor. Os serviços são respectivos a quatro modos de
comunicações, o modo multicast, broadcast, um-para-um sem conexão e um-paratodos orientada à conexão que a camada 4 implementa.
Domoitech – Domótica com protocolo EIB - 2007
35
Formato da trama de aplicação:
Ilustração 6 - Formato de aplicação
Uma trama EIB pode ter até um máximo de 23 bytes. A aplicação utiliza dois
bits do octeto 6 e o octeto 7. Os restantes octetos são para dados. A trama de
aplicação é denominada por APDU e vai encapsulada na trama de transporte.
É nesta camada que estão definidos os serviços e o EIS que serão
explicados a seguir.
2.1.1 Serviços EIB
Restam as questões de software em que terá de ser decidido quais as funções
e os objectos de comunicação a implementar e como pode ser configurado o nosso
sistema.
Devido ao curto espaço de tempo que temos para o desenvolvimento do
projecto, só foi possível escolher algumas das funções mais simples e não foi
possível criar as funções que permitiam configurar o nosso sistema quando a rede
tivesse montada. Assim é necessário, o sistema ir já configurado antes da sua
instalação e se for preciso efectuar alguma alteração, todas as placas terão de ser
reprogramadas com um programador especial e não via rede.
Estes serviços estão definidos no volume 3, parte 3 e capítulo 7 do EIB
Handbook.
Os serviços do modo de comunicação broadcast, servem para configurar a rede
EIB. Como foi explicado anteriormente, devido à falta de tempo, estes serviços não
vão ser implementados. Os serviços do modo um-para-um orientada à conexão
Domoitech – Domótica com protocolo EIB - 2007
36
servem para aceder à memória do microcontrolador que implementa o protocolo e
esses serviços não serão necessários utilizar. Quanto ao modo um-para-um sem
conexão, apenas foi criado o serviço PropertyValue_Write, mas não está a ser
utilizado. Este tipo de serviço é utilizado para alterar a propriedade de um objecto e
no nosso projecto não irá ser utilizado, embora essa função e a respectiva tabela de
objectos esteja implementada.
O modo de comunicações que iremos utilizar é o multicast e todas as suas
funções: GroupValue_Read, GroupValue_Write e GroupValue_Response.
Estes serviços alteram ou lêem estados de dispositivos de um certo endereço
de grupo.
O código correspondente ao serviço pode ter até 10 bits e em alguns dos casos
só são necessários 4 bits. Nos serviços que iremos implementar, só serão
necessários 4 bits para os identificar. Assim sendo, os dados poderão preenchidos a
partir do bit 6 do octeto 7. É de notar que nos dados, para o caso dos nossos
serviços, vão os estados dos dispositivos E/S.
Os códigos para os serviços são os seguintes:
Ilustração 7 – Códigos dos serviços EIB
É de notar que para estes serviços o cabeçalho da trama de rede terá de indicar
que pelo menos o endereço de destino é um endereço de grupo. Por esta razão, o
código do serviço só é validado em conjunto com o cabeçalho de rede.
Domoitech – Domótica com protocolo EIB - 2007
37
2.1.1.1 Serviço GroupValue_Read
Este serviço serve para enviar tramas com pedidos de leitura de estados de
variáveis ou E/S. O código deste serviço tem o valor decimal 0 se retirarmos os bits
8, 7, 2 e 1 do octeto 6 e o octeto 7. Para realizar essa validação do código,
aplicamos uma máscara de bits com o valor hexadecimal 0xC3FF aos octetos 6 e 7.
O receptor da trama requerente deste serviço, deverá enviar uma resposta com
os estados pedidos, utilizando o serviço GroupValue_Res.
Um exemplo de uma trama EIB com este serviço a efectuar um pedido da placa
com o código físico 1 para o endereço de grupo 23 é a seguinte:
Ilustração 8 – Exemplo Trama GroupValue_Read
2.1.1.2 Serviço GroupValue_Res
Este serviço serve para enviar tramas de resposta aos pedidos de leitura de
estados de variáveis ou E/S. O código deste serviço tem o valor decimal 1 se
retirarmos os bits 8, 7, 2 e 1 do octeto 6 e os bits 8 e 7 do octeto 7. Para realizar
essa validação do código, aplicamos uma máscara de bits com o valor hexadecimal
0xC3C0 aos octetos 6 e 7.
Os estados das variáveis vão guardados nos dados, ou seja, são colocado a
partir do octeto 7. Se um dos estados é um valor binário então é possível colocar no
octeto 7 porque sobram 6 bits para dados.
Um exemplo de uma trama de resposta à anterior da ilustração 13, em que só
existe um dispositivo binário com estado 0 e com aquele endereço de grupo, é a
seguinte:
Domoitech – Domótica com protocolo EIB - 2007
38
Ilustração 9 - Exemplo Trama GroupValue_Res
2.1.1.3 Serviço GroupValue_Write
Este serviço serve para enviar tramas de escrita em que mudam o estado das
varáveis ou E/S que estejam no grupo do endereço de destino. O valor do estado vai
no octeto 7 para o caso de ser binário ou vai no octeto seguinte para o caso de ser
um valor decimal de 8 bits. O código deste serviço tem o valor decimal 2 se
retirarmos os bits 8, 7, 2 e 1 do octeto 6 e os bits 8 e 7 do octeto 7. Para realizar
essa validação do código, aplicamos uma máscara de bits com o valor hexadecimal
0xC3C0 aos octetos 6 e 7.
Um exemplo de uma trama EIB com este serviço que envia um pedido para
modificar um estado para o valor binário 1 e para o grupo 23, é:
Ilustração 10 – Exemplo Trama GroupValue_Write
2.1.2 Objectos EIB
Os objectos de comunicação, são os chamados EIS (EIB Interworking
Standards), decidimos utilizar apenas dois, o objecto do tipo SWITCHING e o do tipo
DRIVE CONTROL. Os EIS são explicados no volume 3, parte 7 e capítulo 1 do EIB
Handbook e explica todos os objectos do standard EIB. Ao todo são 15 os EIS, mas
como foi explicado, só vamos utilizar dois. No standard é especificado que a leitura
de E/S deverá ser feita com um tempo de refrescamento inferior a 200ms. É
garantido no nosso sistema um tempo bastante inferior a esse, ronda os 10ms.
Domoitech – Domótica com protocolo EIB - 2007
39
É utilizado também um mecanismo de definir prioridades aos objectos. Por
exemplo, podemos definir que o interruptor da sala, tem prioridade sobre o
interruptor da cozinha para ligarem uma mesma lâmpada. No nosso sistema, não é
utilizado o mecanismo de prioridades, deixando por defeito, como refere a norma, a
prioridade baixa.
2.1.2.1 EIS 1 - Switching
Este objecto, implementa uma função com 1bit, logo dois estados e com ela
é possível actuar numa carga do tipo ON/OFF ligada ao actuador. Utilizamos esta
função para as lâmpadas. Mas as saídas das lâmpadas podem ser utilizadas para
qualquer carga do mesmo tipo, como por exemplo: tv, portas eléctricas, etc.
Tem o valor de 1 bit e o código dele é 10 e que pode ter os seguintes
estados: (on / off), (enable / disable), (alarm / no alarm) e (true / false).
Ilustração 11 – EIS Switching
2.1.2.2 EIS 7 – Drive Control
Este objecto consiste em duas subfunções denominadas por “move” e “step”.
Com a subfunção “move” é possível colocar o drive em movimento para um sentido
ou para o outro. O tempo de movimento é escolhido pelo utilizador e é facilmente
configurável. Com a subfunção “step” é possível realizar movimentos graduais em
ambos os sentidos. Este tempo de movimento gradual é também facilmente
configurável. Este objecto é utilizado para controlar os estores.
Domoitech – Domótica com protocolo EIB - 2007
40
A saída do actuador é também binária, de 1 bit, mas neste caso temos duas
subfunções: uma coloca a saída num determinado estado a um determinado tempo
e a outra subfunção, também tem os dois estados, mas o tempo é bastante inferior
em relação ao outro.
A subfunção Move é utilizada para fechar ou abrir totalmente o estore e pode ter
dois estados possíveis: mover para baixo ou mover para cima. A imagem seguinte
ilustra os dois estados possíveis:
Ilustração 12 – EIS Drive Control - Move
A subfunção Step é utilizada para fechar ou abrir gradualmente o estore e
pode ter dois estados possíveis: mover para baixo ou mover para cima. A imagem
seguinte ilustra os dois estados possíveis:
Ilustração 13 – EIS Drive Control – Step
Para este EIS será necessário uma máquina de estado mais complexa em que
precisamos de quatro estados possíveis: em movimento, parado, gradualmente para
cima e gradualmente para baixo. A norma EIB também especifica a máquina de
estados como podemos ver na figura seguinte:
Domoitech – Domótica com protocolo EIB - 2007
41
Ilustração 14 – Máquina de estados do Drive Control
Domoitech – Domótica com protocolo EIB - 2007
42
2.2 Camada de Transporte
A camada de transporte corresponde à camada 4 que implementa os vários
modos de comunicação: o modo multicast, broadcast, um-para-um sem conexão e
um-para-todos orientada à conexão. Os modos de comunicação são identificados
por um código (cr_id) que tem de ser único. A camada de transporte converte o cr_id
num endereço de destino e vice-versa.
Ilustração 15 – Interface com a camada de transporte entre os dispositivos EIB
A trama de transporte, TPDU corresponde à trama NPDU mas reduzida, pois
não tem o cabeçalho de controlo de rede. O campo de controlo da camada de
transporte é codificado e descodificado pela camada 4 e contém os códigos dos
serviços da camada 4.
2.3 Camada de Rede
A camada de rede, denominada por camada 3, faz a interligação entre a
camada de ligação lógica e a camada de rede do utilizador. Esta camada, utiliza o
serviço L_Data da camada de ligação lógica e disponibiliza os serviços: N_Data,
N_GroupData e N_Broadcast para a camada de rede do utilizador como podemos
ver na figura seguinte.
Domoitech – Domótica com protocolo EIB - 2007
43
Ilustração 16 – Interface com a camada de rede entre os dispositivos EIB
O formato da trama de rede:
Ilustração 17 – Formato da trama NPDU
A trama de rede, denominada por NPDU, corresponde a uma trama que tem
encapsulada a trama de transporte TPDU e corresponde a uma trama LPDU, mas
sem o cabeçalho de ligação lógica (endereço destino, origem, flag endereço de
destino e a informação do comprimento. A NPDU é mostrada na figura anterior onde
é perceptível que o cabeçalho da NPDU é de apenas 3 bits situados no octeto 5.
Domoitech – Domótica com protocolo EIB - 2007
44
2.4 Camada de Ligação Lógica
A camada de ligação lógica, denominada por camada 2, faz a interface entre o
nível físico e a camada de ligação lógica do utilizador. Esta camada utiliza serviços
da camada física e fornece alguns serviços como estão representados na figura 18.
O cabeçalho de controlo do nível da ligação lógica examina o formato da trama,
endereço de destino e decide se essa trama é para ser recebida. Esta camada,
detecta erros de transmissão e efectua repetições de tramas. Os bytes da camada
física com o serviço Ph_Data.ind, são colocados juntamente com um serviço de
ligação (LSDU). LSDU`s que são transmitidas para um destino, são entregues à
camada física com o pedido Ph_Data.req.
Ilustração 18 – Interface com a camada de ligação lógica entre os dispositivos EIB
2.5 Camada Física
Esta camada situa-se no nível mais baixo e é aí onde se insere no caso do EIB,
todos os meios físicos compatíveis que são: o TP, Ethernet, rede eléctrica, rádio
frequência e infravermelhos.
Domoitech – Domótica com protocolo EIB - 2007
45
3 Recursos de Hardware
Tendo em conta os requisitos do sistema, fizemos uma pesquisa de hardware
que podemos utilizar. Numa fase inicial, foi decidido utilizar um microcontrolador da
Microchip [11] devido à vasta gama de produtos que apresenta. Efectuando uma
pesquisa de microcontroladores PIC, optamos pelo PIC16F877, que numa fase
intermédia do projecto, teve de ser substituído por um PIC18F452 que tem maior
capacidade de processamento, tem tecnologia mais recente e a diferença de custo é
pequena. Foi escolhido este microcontrolador porque correspondia com todos os
requisitos e permite futuros upgrades.
Como já foi referido, utilizamos uma XPORT para interface entre o
microcontrolador e o meio físico Ethernet. A XPORT é um servidor web embebido
que implementa o protocolo RS232 e insere tramas deste protocolo em tramas
ethernet. É proprietário da Lantronix [10] que fabrica uma grande variedade de
conversores de rede.
3.1 Microcontrolador PIC18F452
O PIC18F452 é um microcontrolador composto por uma unidade de
processamento, memória e portas de entrada/saída (I/O).
A maioria das pessoas limita o conceito de sistema computacional ao
computador que temos em casa, o vulgar PC (Personal Computer). No entanto todo
sistema que a partir de dados de entrada, executa algum processamento mediante
um programa armazenado em uma memória gerando uma saída é chamado de
sistema computacional. Podemos definir um microcontrolador como sendo um
sistema computacional integrado, pois ele possui unidade de processamento,
memória e entradas e saídas integrados em um único chip.
Características técnicas do PIC
- Arquitectura RISC;
- 32K de memória FLASH;
- 1536 bytes de memória RAM;
- 256 bytes de memória EEPROM;
Domoitech – Domótica com protocolo EIB - 2007
46
- 16384 instruções suportadas pela memória de programa;
- 18 fontes de interrupção;
- Operação de 4.2V até 5.5V;
- Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) com
o 9 bit;
- 4 Temporizadores;
- 5 portas de 8bits;
- 8 canais de entradas/saídas analógicas;
- Relógio máximo de entrada de 40MHz.
A figura seguinte ilustra a disposição e descrição dos pinos do microcontrolador:
Ilustração 19 – Diagrama de pinos do PIC18F452
Domoitech – Domótica com protocolo EIB - 2007
47
3.2 XPORT
A XPORT é um componente que efectua uma conversão bidireccional entre o
protocolo RS232 e Ethernet. É a solução integrada mais compacta para permitir uma
interface web a qualquer componente com uma interface série. A XPORT incorpora
todas as características essenciais de rede, incluindo uma ligação Ethernet de
10Base-T/ 100Base-TX, provado de um sistema operativo, um servidor web, alertas
de e-mail, a pilha TCP/IP completa e uma encriptação de 256-bit AES.
A XPORT tem a seguinte apresentação:
Ilustração 20 – Dimensões Xport
Características técnicas da XPORT
- Serial Interface
Interface: CMOS (Assíncrono, com 5V tolerância)
Taxa Transmissão de dados: 300 bps to 921,600 bps
Tamanho do caractere: 7 ou 8 bits de dados
Paridade: ímpar, par e nenhuma
Stop Bits: 1 ou 2
Sinais de controlo: RTS/DCD, CTS,RTS
Controlo de fluxo: XON/XOFF,RTS/CTS
- Interface de Ethernet
Interface: Ethernet 10Base-T ou 100Base-TX (Auto-Sensing)
Conector: RJ45
Protocolos: TCP/IP, UDP/IP,ARP, ICMP,SNMP,TFTP,Telnet,
Domoitech – Domótica com protocolo EIB - 2007
48
DHCP, BOOTP, HTTP e AutoIP
- Capacidade de Armazenamento: 384 Kbytes para páginas web
- Arquitectura
CPU: 16-bit, 48MHz ou 88MHz, x86 arquitectura
Memoria: 256 Kbytes SRAM e 512 Kbytes de flash
Firmware: actualizável via TFTP e porta série
- Tensão de alimentação: 3.3 V CC
É possível configurar todos os parâmetros da XPORT via web browser, telnet ou
utilizando um software fornecido com a mesma. Utilizamos o web browser para
configurar as definições da porta série e da Ethernet. Mas antes de poder aceder à
página de configuração é necessário a atribuir um endereço IP à XPORT. Para isso,
utilizamos o software Xport Installer fornecido pelo fabricante e utilizamos a
ferramenta Assign IP para atribuir o endereço IP.
Ilustração 21 – Atribuição endereço IP da XPORT
A figura anterior ilustra a janela de atribuição de IP, onde é necessário inserir o
endereço MAC da XPORT e o IP que queremos atribuir.
Após a atribuição do endereço IP, configuramos os parâmetros da XPORT
recorrendo ao browser e acedendo à página web do servidor. Seleccionando no
menu da esquerda port properties obtemos a seguinte interface:
Domoitech – Domótica com protocolo EIB - 2007
49
Ilustração 22 – Configuração Porta Série e Ethernet
A partir desta interface configuramos a velocidade da porta série a 9600 bps,
o tamanho do caractere 8bits, a paridade nula, 1 stop bit e sem controlo de fluxo.
Configuramos ainda o protocolo de Ethernet no modo UDP, com o datagrama
type 01 e configuramos os dados de ligação com o endereço IP remoto
192.168.105.255 (Endereço de broadcast da rede), porta remota e porta local com o
mesmo número: 10001.
Em cada vez que se altera uma definição, é necessário reiniciar a XPORT.
Domoitech – Domótica com protocolo EIB - 2007
50
4 Desenvolvimento Hardware
Um dos principais requisitos deste projecto é desenvolver um sistema eficiente
sem que isso se traduza num elevado preço do produto final. Dado que o preço final
do produto é em grande parte influenciado pelo custo dos componentes usados na
parte do hardware, é essencial no momento de desenvolvimento ter em conta a
utilização de componentes standards e de fácil obtenção no mercado uma vez que
estes se podem adquirir a preços mais competitivos. Só assim poderemos competir
com o nosso produto no mercado, podendo assegurar qualidade e preços baixos.
Tivemos também em conta que uma das aplicações possíveis para este sistema
seria a sua utilização em instalações que não tenham sido projectadas para a
aplicação de sistemas de domótica, por isso tentamos minimizar o máximo possível
as dimensões do hardware, para que possa ser instalado nas caixas de derivação já
existentes na instalação, com possibilidade de utilização das aparelhagens de
comando já existentes.
4.1 Estrutura do hardware
Após várias fases de testes de hardware, em que numa primeira fase, montamos
um microcontrolador numa placa perfurada com led’s para simular saídas, pulsores
para simular entradas e um receptor de infravermelhos sendo este protótipo apenas
para nos familiarizarmos com a programação da PIC. Numa segunda fase
desenvolvemos quatro protótipos de placas baseadas num barramento principal que
fazia a interface entre elas, chegamos a conclusão que não seria a melhor
alternativa a seguir devido ao elevado espaço necessário para acondicionar todo
este hardware. Decidimos então optar por uma terceira versão baseada na seguinte
arquitectura de hardware:
Domoitech – Domótica com protocolo EIB - 2007
51
Ilustração 23 - Diagrama de blocos da estrutura de hardware
Nesta arquitectura existe uma placa principal, a qual contem todo o
processamento necessário e os vários módulos de interface com os sistemas
exteriores, existem ainda dois tipos de placas secundarias, saídas em relés e saídas
em triac’s, para fazerem de interface com os equipamentos que pretendemos
controlar.
Domoitech – Domótica com protocolo EIB - 2007
52
4.2 Placa Principal
A figura seguinte é uma foto da placa principal, que contém todo o
processamento e foi projectada com dimensões reduzidas para que seja possível
instalar sem qualquer dificuldade numa instalação que não tenha sido projectada
para este tipo de sistemas.
Receptor
Conector de
Botão de
Infravermelho
Programação
Reset
Micro
controlador
18f452
Alimentação
12v DC
Conectores RJ11 Para
XPort- Interface de
as placas de controlo
rede Ethernet
Ilustração 24 – Placa Principal
Características técnicas:
•
Alimentação 8~12 Vcc
•
Corrente Max consumida 400 mA
•
Corrente nominal 200 mA
•
Saída de alimentação nos conectores RJ11 5Vcc
•
Velocidade de processamento 20Mhz
Domoitech – Domótica com protocolo EIB - 2007
53
•
Reconhecimento de comandos infravermelhos RC5
•
7 Conectores para dispositivos de controlo externos
•
Conector de programação por RS232
•
Conector de programação por JDM
•
Botão de reset
•
Connector ethernet RJ45 10-base T, 100-base TX
•
Configuração via web server
•
Arquitectura baseada num micro controlador pic18f452 com 512 Kbytes
RAM e 1024Kbytes Flash
•
Dimensões 73x73x20mm
•
Led indicador de alimentação
Esta placa permite-nos ligar no máximo 14 dispositivos podendo ser do tipo
sensores ou actuadores, na sua configuração normal estão previstos 7 sensores e 7
actuadores, podendo esta ser alterada bastando para isso reconfigurar o software.
Dispõe de uma Xport que faz a interface entre o meio físico, barramento (Ethernet) e
o micro controlador. A comunicação entre esta interface e o micro controlador é feita
através do protocolo RS232 permitindo assim alterar para outro meio físico
suportado pelo protocolo EIB bastando para isso trocar de interface desde que esta
suporte comunicação RS232.
Inclui ainda um receptor de infravermelhos que nos permite controlar os
dispositivos através de um comando que implemente o protocolo RC5. Este receptor
é alimentado a 5Vcc e contem no seu interior um circuito de filtragem que faz com
que o sinal na sua saída seja uma onda quadrada sem a componente de modulação
usada em comunicações de infravermelhos.
Domoitech – Domótica com protocolo EIB - 2007
54
4.3 Placa Saída a Relés
Para controlar os dispositivos de potência desenvolveu-se uma pequena placa
de controlo que faz a interface entre estes e a placa principal. Neste caso a actuação
é feita através de relés capazes de comutar correntes até 2 Amperes, o que é
suficiente no caso dos dispositivos não ultrapassarem os 400W. Esta placa conta
com duas entradas para dois sensores (interruptores) e duas saídas para dois
actuadores. Neste caso não necessitamos de colocar isolamento óptico pois o
próprio relé já faz o isolamento entre a parte de potência e a parte de controlo.
A placa tem o seguinte aspecto:
Conector RJ11 para ligar a
Entradas para dois
placa principal
Interruptores
Saídas para controlar dois
equipamentos
Ilustração 25 – Placa Saída Relés
Características técnicas:
•
Alimentação 5Vdc
•
1 Conector e RJ11
•
Corrente nominal 50mA
•
Duas saídas em relés (Imax=4 A Vnom=230V)
•
Duas entradas
Domoitech – Domótica com protocolo EIB - 2007
55
4.4 Placa Saída a Triac’s
Tal como a placa anterior esta permite controlar dois dispositivos e possui
também duas entradas. Neste caso a comutação é feita com o recurso a triac’s uma
vez que estes são mais baratos e ocupam menos espaço. Foi necessário usar
isolamento óptico para proteger a parte de controlo de possíveis anomalias na parte
de potência.
A placa tem o seguinte aspecto:
Saídas para controlar dois
Entradas para dois
equipamentos
Interruptores
Conector RJ11 para ligar
a placa principal
Ilustração 26 – Placa Saída a Triac’s
Características técnicas:
•
Alimentação 5Vdc
•
1 Conector e RJ11
•
Corrente nominal 20mA
•
Duas saídas triac’s (Imax=2 A Vmax=600V)
•
Duas entradas
Domoitech – Domótica com protocolo EIB - 2007
56
Comando Infravermelhos
Uma das funcionalidades do sistema é permitir controlar os equipamentos
através de um controlo remoto de infravermelhos. Como a maioria dos comandos
usados em nossas casas implementam o protocolo RC5, configuramos a placa
principal para que possa responder a este tipo de comandos. Assim basta usarmos
um simples comando de tv ou um comando universal para controlar todos os
dispositivos.
Mais uma vez ao optarmos por esta solução estamos a reduzir os custos finais,
pois é possível adquirir um comando destes por um preço insignificante ou se for o
caso usarmos um que já exista em nossa casa.
Domoitech – Domótica com protocolo EIB - 2007
57
4.5 Programador
Através deste programador é possível descarregar de forma rápida o ficheiro
hex a partir de um computador, sem que para isso seja necessário retirar o micro
controlador da placa principal.
A sua programação é feita através da porta UART. É de notar que para que
este método de programação funcionar foi necessário programar o micro controlador
com um código (bootloader para pic18f452) fornecido pelo fabricante. Este código
deve ser programado no microcontrolador através de um programador de PIC’s
(JDM programer).
A placa do programador tem o seguinte aspecto:
Conector de
Conector Rs232 para
programação
ligar ao PC
Ilustração 27 – Placa Programador
Características técnicas:
•
Alimentação 5Vdc
•
1 Conector rs232
•
Saídas Rx,Tx 0-5V
•
Led indicador de alimentação
Domoitech – Domótica com protocolo EIB - 2007
58
5 Desenvolvimento Software
O software foi desenvolvido utilizando o programa PCWH Compiler versão
4.0. Criamos um projecto ao qual lhe demos o nome de eib2.pjt. Com este programa
é possível compilar código c e gerar um ficheiro hex para posteriormente programar
na memória do microcontrolador através do ICprog, que é um software livre e
permite programar PIC’s e memórias.
5.1 Estrutura do Software
No diagrama seguinte está ilustrado de uma forma simplificada, a estrutura
usada para o software. Trata-se de uma estrutura baseada no principio de
funcionamento de um sistema operativo, onde existem dois níveis de abstracção
sendo um deles o núcleo, o qual é responsável por fazer a configuração do micro no
inicio da execução do programa, faz ainda a gestão dos processos determinando
qual o que deve ser executado e qual a ordem de execução.
O segundo nível de abstracção designa-se por nível de utilizador que é onde
a aplicação vai ser executada. Dentro deste nível estão todos os processos, sendo a
ordem execução controlada pelo núcleo.
Domoitech – Domótica com protocolo EIB - 2007
59
Ilustração 28 – Estrutura do software
Para que estes dois níveis possam comunicar entre si criamos uma estrutura
que define o nome de cada processo, o estado, activo ou desactivo, bem como a
sua prioridade, esta estrutura pode ser acedida de três formas distintas:
Proc_SetReady(Nome_processo) - Permite que um processo active outro, é
necessário indicar qual o nome do processo a ser activado.
Proc_ClrReady(Nome_processo) - Idêntico ao anterior mas neste caso serve
para desactivar um processo, normalmente é usado no núcleo para desactivar um
processo que já tenha sido dada a ordem de execução.
Proc_GetReady(Nome_processo) - Usado no núcleo do sistema operativo para
verificar o estado da flag que determina se um processo deve ser executado ou não.
Domoitech – Domótica com protocolo EIB - 2007
60
Como já foi referido neste sistema a ordem de execução dos processos é
definida no núcleo, os processos são executados dependendo do nível de prioridade
que lhe esta associado, aqueles que necessitam de ser executados o mais rápido
possível são os de maior nível de prioridade, na atribuição de prioridades tivemos
ainda em conta o sentido do fluxo de dados, se um determinado processo necessita
de informação fornecida por outro então este deve ter um nível de prioridade inferior.
Este sistema é ainda preemptivo pois alguns dos processos, com nível de
prioridade inferior tem capacidade para interromper um processo em execução que
tenha um nível de prioridade superior.
5.1.1
Divisão da Stack por camadas
Para tornar a aplicação mais robusta e de fácil compreensão foi dividida em
quatro camadas, que correspondem as camadas definidas pelo protocolo EIB com
exclusão da camada de rede pois trata-se de uma camada pequena e foi integrada
juntamente com a de transporte. A primeira camada, Physical Layer, faz a
comunicação entre o software e o hardware, controla a recepção e envio de tramas
EIB, faz a leitura das entradas digitais e implementa a descodificação do protocolo
RC5.
Na segunda camada, Transport Layer, é feita a descodificação e a
codificação das tramas EIB, faz-se o tratamento dos endereços físicos e endereços
de grupo, do check octeto e do control field.
A camada seguinte do software trata dos dados que dizem respeito ao
campo de transporte da trama EIB.
Por último temos a camada da aplicação que trata os serviços EIB e os
EIS’s. Esta camada será tratada com maior detalhe mais a frente devido à sua
complexidade.
Domoitech – Domótica com protocolo EIB - 2007
61
Ilustração 29 – Diagrama de blocos das camadas
As setas representadas indicam o sentido do fluxo de informação entre
processos e módulos ou entre processos e o nível de hardware. Neste sistema os
processos, que estão na camada física, acedem directamente ao hardware sem que
para isso seja necessário passar informação pelo núcleo, isto deve-se ao facto de se
tratar de um acesso simples sendo para isso desprezável a criação de uma estrutura
ao nível do núcleo para fazer a interface entre este e a aplicação.
A comunicação entre os vários processos é feita recorrendo a variáveis globais
ou a chamada de funções que trocam informação através da passagem de
Domoitech – Domótica com protocolo EIB - 2007
62
parâmetros. Mais à frente, na descrição pormenorizada dos processos, é possível
ver com maior detalhe que tipo de variáveis são usadas para estas operações e
quais os processos que as usam.
5.1.2 Descrição dos processos camada física.
•
EIB_ReadRxByte- Sempre que recebe um byte pela porta série este
processo é chamado para o guardar no vector circular, a partir do 8 byte
recebido que significa que já recebeu o numero de byte’s mínimos para que
possa ser do tipo
trama EIB, activa o processo EIB_FindFrame. A
comunicação entre estes dois processos é feita através do vector Rxbufer[ ].
•
EIB_FindFrame- Faz a pesquisa de tramas válidas no vector Rxbufer[ ], o
qual é uma variável global que faz a comunicação entre este processo e o
processo EIB_ReadRxByte, esta pesquisa é feita pelo método de vector
circular. Sempre que é encontrada uma trama válida activa o processo
EIB_DecodeFrame.
•
EIB_SendFrame - Envia a trama EIB guardada numa variável global TxBuf[
], é esta variável que serve para fazer a comunicação entre este processo e
todos aqueles que necessitam de enviar uma trama EIB pela porta série.
•
IR_ReadBit- sempre que ocorra uma interrupção na porta B, mudança de
flanco do pino RB4 o que significa que esta a receber um comando IV, este
processo é activo. Descodifica qual o bit recebido e guarda-o na variável
RC5_FrameBuf. Se recebeu 14 bits e se ocorreu interrupção do timer0 então
activa o processo IR_Decode.
•
IR_Decode- Descodifica qual o comando RC5 recebido e activa o processo
IRHandleInstruction. Estes dois processos comunicam através da variável
RC5_Instruction.
•
IRHandleInstruction- Este processo chama o serviço GroupValueW_REQ
para procurar qual o endereço de grupo correspondente ao comando RC5
Domoitech – Domótica com protocolo EIB - 2007
63
recebido e constrói a trama para que possa ser enviada pelo processo
(Proc_EIB_SendFrame), activando ainda o processo EIB_SendFrame.
•
Timer2_Over- Sempre que ocorrer uma interrupção do timer2 este processo
é activo, e é incrementado a variável de contagem contido no módulo clock.
•
Clock- trata-se de um módulo de código que implementa dois contadores
para activar dois processos com períodos de execução diferentes.
•
ReadInputs- Verifica o estado das entradas, caso haja alguma entrada
activa, testa o intervalo de tempo durante o qual esta foi activa para detectar
impulsos de pequena e longa duração. Este método é usado para
implementar dois interruptores lógicos existindo apenas um único interruptor
físico. Caso haja mudança de estado no interruptor lógico, chama o serviço
GroupValueW_REQ o qual procura o endereço de grupo correspondente, na
tabela de associação, e constrói a trama para que possa ser enviada pelo
processo EIB_SendFrame. Activa ainda o processo EIB_SendFrame. Tratase também de um processo activado ciclicamente com um tempo de
refrescamento de 20ms.
5.1.2.1 Protocolo RC5
O protocolo RC5 permite gerar 2080 comandos diferentes. Estes comandos
estão organizados em 32 grupos cada um contendo 64 comandos e cada grupo está
normalmente associado a um determinado tipo de aparelho.
Uma trama com o formato RC5 é composta por 14 bits organizados da seguinte
forma :
•
2 bits para indicar o início da trama
•
1 bit de transição que indica se a tecla está a ser pressionada durante muito
tempo
•
5 bits de endereçamento que indicam qual o endereço do aparelho que
pretendemos controlar 2^5=32 grupos de endereçamento
Domoitech – Domótica com protocolo EIB - 2007
64
•
6 bits de comando que indicam qual a instrução a executar 2^6=64
instruções .
Os bits do código RC5 são codificados pelo método de Manchester em que cada
bit é constituído por dois semi-bits alternados: uma transição positiva corresponde a
1 e uma transição negativa corresponde a 0.
Na figura seguinte está representado a codificação de um bit.
Ilustração 30 – Codificação de um bit RC5
Cada bit tem um tempo de duração de 1.778ms que se multiplicarmos por 14
bits obtemos o tempo correspondente a uma trama completa que é de 24.889ms.
Ilustração 31 –Trama RC5
As tramas RC5 são enviadas com um período de 113.778ms que corresponde
ao tempo que demoraria a enviar 64 bits.
Ilustração 32 – Sequência de duas tramas RC5
A modulação de comandos infravermelhos é feita aplicando uma onda quadrada
com uma frequência de 36Khz ao emissor, sempre que se quer enviar o nível lógico
1 para enviar o nível lógico 0 não é aplicado qualquer sinal ao emissor. A onda
resultante esta representada na figura seguinte .
Domoitech – Domótica com protocolo EIB - 2007
65
Ilustração 33 – Modelação de um bit
A figura seguinte ilustra a máquina de estados de descodificação de uma trama
RC5.
Ilustração 34 – Diagrama de descodificação das tramas RC5
Domoitech – Domótica com protocolo EIB - 2007
66
5.1.2.2 Mecanismo Recepção de tramas
Para tornar a recepção de tramas pela porta UART o mais robusta possível,
criamos um vector circular no qual são colocados todos os bytes recebidos pela
porta série de uma forma sequencial pelo processo EIB_ReadRxByte e
posteriormente é executado o processo EIB_FindFrame para encontrar uma trama
9
2
8
Ap
A
ct
ua
l
válida. O vector tem a seguinte estrutura:
13
19
….
12
Ilustração 35 – Passagem de vector linear a circular
Para implementar este vector circular criamos uma estrutura que permite
executar operações sobre o mesmo como que se tratasse de um vector linear de
tamanho infinito. As operações permitidas são:
IncPtr(NumInc,Ptr) - Incrementa N vezes o apontador especificado por Ptr em
que N=NumInc.
TamanhoDados(Tamanho) - Calcula o tamanho dos dados entre o apontador
ApPrimeiro e o ApActual.
EscreveByte(Byte) - Escreve na posição apontada pelo apontador ApActual o
Byte recebido pela porta série.
Domoitech – Domótica com protocolo EIB - 2007
67
LeByte(Posicao, Byte) - Retorna o Byte apontado pelo apontador especificado
pela variável Posicao.
Se for uma trama válida
iguala o ApPrimeiro ao
ApPrimeiro+ tamanho da
trama válida
al
tu
Ac
p
A
Pr
Ap
im
ro
ei
Se tamanho
>=MinTamTramaEIB
verifica se se trata de
uma trama EIB válida
5
6
4
3
2
8
7
eiro
ApPrim
19
13
14
18
15
16
17
Ilustração 36 – Incremento do apontador ApPrimeiro
7
3
14
18
Ilustração 37 – Salto do apontador para a posição inicial
Domoitech – Domótica com protocolo EIB - 2007
68
5.1.3 Descrição dos processos camada ligação
de dados.
•
EIB_DecodeFrame- Descodifica a trama EIB, procurando qual o serviço
associado a esta, através de uma pesquisa na tabela de descodificação de
serviços, caso seja um serviço válido chama a função que o vai tratar,
actualiza directamente as saídas. Este processo comunica com o processo
EIB_FindFrame através de uma variável global TramaEIB[ ].
•
EIB_EncodeFrame- Acrescenta os endereços de grupo e/ou físicos nas
tramas EIB que são para enviar pela porta série bem como o check octeto e
o campo de controlo.
•
CalculaCO() – Esta função serve apenas para calcular o check octeto
fazendo o NOT XOR a todos os octetos da trama EIB excluindo o último que
é o check octeto. Recebe como parâmetros a trama EIB e o tamanho da
mesma.
Domoitech – Domótica com protocolo EIB - 2007
69
5.2 Camada Aplicação
Nesta secção será feita uma descrição pormenorizada da camada aplicação
do software.
No diagrama seguinte é possível ver o fluxo de dados entre os vários módulos e
processos desta camada e das camadas inferiores. Optamos por dividir esta
camada em duas sub camadas em que uma trata os serviços EIB e a outra
implementa os EIS.
Ilustração 38 – Diagrama de blocos da aplicação
Domoitech – Domótica com protocolo EIB - 2007
70
5.2.1 Serviços EIB implementados
•
GroupValueWrite – Este módulo implementa o serviço responsável por
alterar o estado de uma variável ou saída. Se for recebida uma trama EIB
deste serviço, esta função é executada e verifica na tabela de associação
quais os dispositivos associados ao código de grupo recebido. Se
encontrar algum dispositivo, verifica numa outra tabela de EIS, o tipo de
objecto a que pertencem esses dispositivos. Se existirem, é chamada a
função que implementa esse tipo de EIS. No capítulo 2, esta função EIB é
descrita com mais pormenor.
•
GroupValueREAD_REQ – Este módulo implementa o serviço Group
Value Read Request pertencente ao modo de comunicação multicast.
Este serviço encontra-se descrito no capítulo 2. Tem a função de
pesquisar na tabela de associação que contém uma relação entre os
códigos de grupo e os códigos dos dispositivos, quais os dispositivos que
correspondem ao endereço de grupo destino recebido na trama EIB. Se
existirem dispositivos são guardados numa lista e passa-se por
parâmetro à função que envia implementa a função de resposta a esta
serviço.
•
GroupValueREAD_RES – Este módulo é chamado pelo anterior e envia
uma resposta com o estado dos dispositivos que recebeu por parâmetro.
Recebe também a quantidade de dispositivos que tem de enviar para
calcular o tamanho da trama EIB a enviar. Constrói a trama EIB
colocando como endereço de origem, o endereço físico da placa
remetente e como endereço destino, o da placa que efectuou o pedido de
leitura. Ou seja, o endereço de destino é o mesmo endereço de origem
da trama recebida anteriormente. Este serviço está descrito com mais
pormenor no capítulo 2.
•
GroupValueW_REQ – Este módulo implementa o serviço EIB de
alteração no estado dos dispositivos tal como o modulo GroupValueW(),
mas esta só tem a funcionalidade de enviar uma trama de pedido de
muda de estado às outras placas. É que para além de receber pedidos de
trocar estados, estas placas também podem efectuar pedidos a outras.
Assim pode-se utilizar os interruptores ligados a uma placa para ligarem
Domoitech – Domótica com protocolo EIB - 2007
71
dispositivos
de
outras
placas.
Esta
função
faz
o
inverso
da
GroupValueW(), em que recebe o código de dispositivo e, o estado e a
subfunção para o caso do Drive Control e procura na tabela de
associação, para esse dispositivo, qual o código de grupo a enviar.
Verificado o código de grupo, chama-se a função que constrói a trama
deste serviço e envia-a.
5.2.2 EIS implementados
•
EIS_SWITCHING() – Esta função implementa um objecto do tipo
comutação ON/OFF em que muda o estado de uma variável ou saída
binária. Recebe como parâmetros o valor do estado e o código do
dispositivo de saída. No capítulo 2 é descrito como funciona este objecto
e para que serve.
•
EIS_DRIVECONTROL() – Esta função é semelhante à anterior, mas
neste caso implementa um objecto do tipo drive control. Recebe como
parâmetros o estado, o código do dispositivo que se deseja mudar o
estado e a subfunção que indica se é uma acção do tipo STEP ou MOVE.
No capítulo 2 é descrito com mais pormenor este objecto.
•
Troca_Estados() – Esta função recebe como parâmetro o código do
dispositivo e muda o estado das saídas mediante o pretendido. É aqui
que se actua directamente nas saídas.
•
TimeEstoreMoving – Sempre que um dispositivo do tipo estore é activo,
inicia um contador para determinar o tempo durante o qual este está
activo, compara este tempo com o tempo definido nas variáveis
Time_max_step ou Time_max_mouving, dependendo do tipo de
movimento pedido, e quando for igual desactiva a saída associada a este
dispositivo. Este processo é activado ciclicamente com um tempo de
refrescamento de 10ms.
Domoitech – Domótica com protocolo EIB - 2007
72
5.3 Estruturação de ficheiros
O software do micro controlador foi optimizado ao máximo e estruturado de
forma a funcionar como um sistema operativo. Desta forma cada processo tem um
nível de prioridade associado.
Dentro do projecto existem 5 subgrupos: o main, sched, decodeeib, readinput e o
ir. A imagem seguinte ilustra como está organizado os ficheiros do código do PIC.
Ilustração 39 – Estrutura de ficheiros do programa
Para facilitar a compreensão, os subgrupos foram estruturados de acordo com o
tipo de dados a tratar:
Main- Executa as inicializações do hardware e faz a gestão da execução dos
processos, esta associado ao nível do núcleo.
Sched- Contém a estrutura que define os processos bem como os mecanismos
de manipulação sobre estes.
Decodeeib- Contém toda a stack correspondente ao protocolo eib.
Domoitech – Domótica com protocolo EIB - 2007
73
Ir- Implementa todas as funções necessárias ao funcionamento do comando de
infravermelhos, a descodificação do protocolo RC5 e a execução das instruções
correspondentes ao comando recebido.
Readinput- Verifica se ouve alteração no estado das entradas, e implementa
entradas lógicas.
Domoitech – Domótica com protocolo EIB - 2007
74
6 Integração do Sistema
A construção do hardware e do software foi realizada de forma paralela e à
medida que se evoluiu no software foi existindo a necessidade de evoluir no
hardware de forma a torná-lo mais robusto e de pequenas dimensões. O que não
era possível realizar por hardware, fazia-se por software e assim criou-se um
sistema mais robusto e respeitando todos os objectivos propostos.
Uma possível instalação deste sistema numa casa é ilustrada na figura
seguinte:
R
P
P
P
Ilustração 40 – Exemplo de uma instalação do Domoitech
Neste exemplo, foram necessárias 3 placas principais fazendo um total de 21
saídas e 21 entradas. A linha desenhada com um tracejado a verde representa o
barramento Ethernet que interliga todas as placas através de um router ou switch
representado por um quadrado verde. As linhas com um tracejado a azul
Domoitech – Domótica com protocolo EIB - 2007
75
representam a rede entre sensores e actuadores. É o que faz a interligação entre a
placa principal e as placas de saídas a relés e triac’s, que também têm duas
entradas respectivamente. Os pontos azuis representam as placas de saídas a relés
porque servem para ligar luzes ou outros dispositivos de accionamento do tipo
ON/OFF. Os pontos de cor violeta representam as placas de saída a triac’s para
accionamento de estores. Junto a essas placas é possível ter interruptores ligados
às mesmas, pois cada placa possui duas entradas para interruptores.
Para podermos exemplificar o funcionamento do sistema, fizemos um
expositor com duas placas principais, uma para cada divisão da casa, à qual
dividimos em um quarto e uma sala. Cada divisão tem duas lâmpadas, quatro
interruptores de pressão e um estore, simulado por duas lâmpadas indicando o
sentido de movimento do estore. O aspecto final do expositor é o seguinte:
Ilustração 41 – Expositor do projecto
As placas principais, localizam-se na parte superior do expositor e ficaram
inseridas dentro da caixa de derivação. Foram desenhadas com as medidas ideais
para caber dentro de caixas como estas. As outras placas, encontram-se dentro das
caixas dos interruptores, aproveitando o espaço que sobra entre o mecanismo do
interruptor e o fundo da caixa. Utilizamos um comando de uma televisão da Philips
Domoitech – Domótica com protocolo EIB - 2007
76
porque utiliza o protocolo RC5, e com ele comandamos também as lâmpadas e
estores.
Na parte traseira do expositor, encontra-se a cablagem com a rede Ethernet e a
rede de sensores e actuadores. A cablagem que transporta os 230V CA da rede
para alimentar interruptores e lâmpadas, encontra-se completamente isolada da
cablagem que transporta os 8-12V CC da alimentação das placas principais.
Ilustração 42- Imagem da parte traseira do expositor
Para testar ainda o funcionamento de um computador servidor de web na
rede, desenvolvemos uma pequena aplicação feita em Lazarus, para comunicar com
o barramento de Ethernet enviando tramas EIB pela rede. Esta mesma aplicação,
efectua uma ligação a uma base de dados que pode ser interna ou externa e que
guarda os estados dos dispositivos. Para poder aceder a essa base de dados e
comandar remotamente dispositivos pela rede, criamos também uma aplicação web
feita em PHP.
Domoitech – Domótica com protocolo EIB - 2007
77
O esquema de comunicação deste servidor é o seguinte:
Ilustração 43 - Esquema servidor web
Na parte superior encontram-se os clientes web que utilizam um browser e
com um acesso à Internet podem saber o estado ou actuar num dispositivo da casa.
Para segurança, o acesso à página só é possível com autenticação. Quando se
pede ao servidor web para mostrar a página web surge a seguinte janela:
Ilustração 44 –Página web de autenticação
Domoitech – Domótica com protocolo EIB - 2007
78
Para aceder à página da habitação é necessário ter uma conta de acesso e
efectuar a validação através desta interface web. Depois de autenticado, surge outra
janela onde é possível efectuar a navegação pela habitação.
Ilustração 45 – Página web de navegação
Nesta interface web é possível seleccionar a divisão da casa que se deseja
saber o estado da mesma. Se for seleccionado a divisão sala, surge uma nova
janela como ilustrada na imagem seguinte, com a informação do estado das
lâmpadas e estores na sala e é possível actuar no estado das mesmas.
Ilustração 46 – Página web de uma divisão
Esta divisão contém das lâmpadas e um estore. É notório que as lâmpadas
encontram-se acesas pois estão sinalizadas com uma cor verde. O estore encontra-
Domoitech – Domótica com protocolo EIB - 2007
79
se parado porque os sinalizadores de movimento para cima ou para baixo, estão
desligados e representados pela cor vermelha.
Como já foi explicado o servidor web comunica com uma base de dados para
alterar ou ler o valor de estados de dispositivos. Mas quem é responsável por ler
esses valores e actuar directamente na rede Domoitech, é a aplicação Fat Client
feita em Lazarus. Esta aplicação tem a seguinte interface:
Ilustração 47 – Aplicação feita em Lazarus
Com esta aplicação também é possível actuar directamente nos dispositivos
sem utilizar a página web. Assim, temos quatro maneiras possíveis de actuar por
exemplo numa lâmpada. Pode ser feita por um comando de IV, um interruptor, pela
página web ou pela aplicação feita em Lazarus. Para se poder utilizar a página web,
esta aplicação tem de estar ligada à rede Domoitech e à base de dados para poder
actualizar todos os estados. Esta aplicação está continuamente a verificar o estado
dos dispositivos da rede, enviando comandos EIB que perguntem o estado dos
mesmos e actualiza a Base de Dados com os estados. Verifica também se ocorreu
na Base de Dados alguma alteração de forma a identificar se algum cliente web
enviou alguma ordem. Se ocorrer alguma alteração, o dispositivo correspondente, é
actualizado.
É de notar que o protocolo de transporte ethernet utilizado é o UDP. Assim
não é necessário efectuar uma conexão e a transferência de tramas é feita
Domoitech – Domótica com protocolo EIB - 2007
80
rapidamente. A aplicação feita em Lazarus está configurada para ser um servidor e
as placas principais são os clientes. Nesta configuração, necessitamos apenas de
definir o número da porta a utilizar e configurar nas placas principais a porta remota
com o mesmo número. É de notar que como a XPORT não permite a utilização de
multicast, todas as tramas EIB que circulam na rede, são em broadcast. Por essa
razão, é necessário configurar na XPORT como endereço remoto, o endereço de
broadcast da rede. Como a aplicação feita em Lazarus é um servidor, não é
necessário colocar um endereço IP remoto e apenas a porta pela qual comunica.
Domoitech – Domótica com protocolo EIB - 2007
81
7 Conclusão
Os objectivos iniciais foram atingidos, e outros objectivos pessoais, tais como o
rigor na estruturação do software e a apresentação do hardware, foram tidos em
conta até o final do projecto e foram conseguidos.
Num tempo de projecto de aproximadamente 13 semanas com um tempo de
trabalho semanal médio de 48 horas, as primeiras 4 semanas foram para pesquisas
de soluções (protocolos, meios físicos e arquitectura). Para um bom projecto, a
análise de requisitos é uma parte muito importante e foi a de maior duração. Nas
últimas 7 semanas do projecto implementamos o software e do hardware e
montamos expositor. Realizamos 4 versões de placas principais e de software foram
realizadas 17 versões. Em cada versão de software, era criada uma nova função e
testada, se funcionasse correctamente
incrementava-mos a versão de forma a
poder salvaguardar o trabalho funcional. O software foi estruturado de forma que
caso fosse necessário acrescentar alguma função ou alguma alteração, poderia ser
feito sem que isso altera-se o que já tinha sido desenvolvido. Foi necessário rever
alguns conhecimentos de redes e de sistemas operativos para nos auxiliar na
implementação do código.
Uma das principais dificuldades encontradas ao longo do projecto, foi a
adaptação ao microcontrolador desconhecido até à data e encontrar ferramentas de
trabalho gratuitas e com muitas potencialidades.
Ao nível do hardware, foi necessário rever conhecimentos de electrónica e
sentimos dificuldades na criação dos desenhos das placas de circuito impresso.
Para criação do software de um servidor de web foram necessários
conhecimentos em programação PHP e Pascal utilizada na aplicação Lazarus. As
ferramentas de criação do servidor são gratuitas, assim como a Base de Dados
utilizada (Postgresql) e que permitem diminuir ainda mais o custo do projecto.
Ao longo do projecto tivemos contacto com outros sistemas semelhantes a este,
inclusive efectuamos um estudo de mercado junto de empresas concorrentes. Não
foi possível realizar a experiência de interligar este sistema com outros, devido a
questões de tempo.
Domoitech – Domótica com protocolo EIB - 2007
82
O sub capítulo seguinte contém o custo final do projecto e apresenta para um
caso igual, uma solução de um sistema concorrente.
7.1 Custo do Projecto
Placa principal:
Quantidade
Descrição
Preço
Valor (€)
unitário (€)
1
Gc-Xport
37.10
37.10
1
Pic18f452 plcc
12.15
12.15
7
Socket vertical 6/6 pcb
0.70
4.90
7
Conector modular 6/6
0.49
3.43
1
Socket plcc 44 pinos
0.40
0.40
1
Cristal de 20Mhz
0.43
0.43
1
Pulsor
0.50
0.50
1
Lm7805 regulador de 5v
0.40
0.40
1
Ld1117av33 regulador 3.3v
0.92
0.92
-
Resistências
0.20
0.20
1
Placa PCB 7x7mm
TOTAL
60.43 €
Tabela 2 – Custo da placa principal
Domoitech – Domótica com protocolo EIB - 2007
83
Placa de relés:
Quantidade
Descrição
Preço
Valor (€)
unitário (€)
1
Socket vertical 6/6 pcb
0.70
0.70
1
Conector modular 6/6
0.49
0.49
2
Relé 5v CC 5A
2.50
5.00
2
Optoacoplador
0.60
1.20
2
Conector de 5mm 4 pinos
0.84
1.68
1
Placa PCB 4x4mm
TOTAL
9.07 €
Tabela 3- Custo placa relés
Placa de triac’s:
Quantidade
Descrição
Preço
Valor (€)
unitário (€)
1
Socket vertical 6/6 pcb
0.70
0.70
1
Conector modular 6/6
0.49
0.49
2
Bt137 Triac de 600Vac 2 A
0.79
1.58
2
Optoacoplador
0.60
1.20
2
Optotriac
0.68
1.36
2
Conector de 5mm 4 pinos
0.84
1.68
1
Placa PCB 4x4mm
TOTAL
7.01€
Tabela 4- Custo placa triac’s
Domoitech – Domótica com protocolo EIB - 2007
84
Orçamento para uma casa com dois quartos, uma cozinha, uma sala, uma casa
de banho, um corredor e duas varandas:
Quantidade
Descrição
Preço
Valor (€)
unitário (€)
3
Placa principal
60.43
181.29
6
Placa de reles
9.07
54.42
14
Placa de triac’s
7.01
119.17
1
Switch D-link DES-1005D 5
18.60
18.60
Portas
TOTAL
373.48
Tabela 5- Orçamento para uma casa utilizando Domoitech
É de notar que estes preços foram consultados na empresa Farnell [9], tendo
em conta a compra de apenas uma unidade e por isso, torna o preço dos
componentes, mais elevado. É possível portanto reduzir o custo do projecto se
comprado em bastantes unidades. Existem outros valores que não foram tidos em
conta, como os portes e o custo das placas de circuito impresso, mas que não
alteram muito o valor final do projecto.
Para ter uma comparação com outros sistemas existentes no mercado,
investigamos o preço de uma solução igual a esta mas utilizando o sistema KNX/EIB
da Siemens [8]. Então, um orçamento para uma casa média com três quartos, uma
cozinha, uma sala, duas casas de banho e um corredor fica por:
Domoitech – Domótica com protocolo EIB - 2007
85
Quantidade
Descrição
Preço
Valor (€)
unitário (€)
1
Fonte de Alimentação N121
160.44
160.44
1
Filtro Indutivo N120
48.90
48.90
1
Interface RS232 N148
55,44
55,44
5
Entradas Binárias 4 p/botões
93.81
469.05
de pressão – UP220
4
Saída Binária 4 – N561
216.25
865
3
Saída de estores 2 – N521
207.60
622.8
3
Receptor de Infravermelhos
56.26
168.78
1
Comando IV – AP25
78.11
78.11
1
Descodificador de IV – N450
163.26
163.26
5
Botões de Pressão 4 Delta
70.91
354.55
Style –UP287
TOTAL
2986.33
Tabela 6 – Orçamento para uma casa utilizando a solução da Siemens
Esta solução é para um sistema com uma rede Twisted Pair e por isso necessita
de uma fonte de alimentação e um filtro para alimentar o barramento.
É notório a diferença de quase 8 vezes mais o custo entre a solução da
Siemens e a solução utilizando este projecto.
Domoitech – Domótica com protocolo EIB - 2007
86
7.2 Futuros Melhoramentos
Um projecto nunca está terminado, existe sempre algo a melhorar. Neste
projecto, os principais pontos a melhorar são:
- Desenvolver mais funções e objectos EIB
- Convergir para KNX
- Compatibilidade com o software ETS para configuração das placas
- Realizar testes de compatibilidade com outros sistemas
- Criar umas caixas blindadas para colocação das placas obtendo uma melhor
apresentação para venda no mercado
- Certificação do sistema
Domoitech – Domótica com protocolo EIB - 2007
87
Referências
• [1] WIKIPÉDIA, http:// en.wikipedia.org, Junho 2007
• [2] MONTEIRO, José, Montagem de um sistema didáctico utilizando a
tecnologia Instabus/EIB da Siemens, José Monteiro, Dezembro 2004 .
• [3] DOMODESK, http://www.domodesk.com/, Junho 2007
• [4] CASAINTELI, http://acasainteligente.blog.com/,Março 2007
• [5] CASADOMO, http://www.casadomo.com/,Março 2007
• [6] UA, http://portal.ua.pt/bibliotecad/default1.asp?Obra=28&H1=2&H2=0,
Junho 2007
• [7] KNX, http://www.knx.org/, Março 2007
• [8] OPTERNUS, www.opternus.com, Março 2007
• [9] FARNELL, ww.farnell.com, Março 2007
• [10] LANTRONIX, www.Xport-RJ45.com, Março 2007
• [11] MICROCHIP, www.microchip.com, Março 2007
Domoitech – Domótica com protocolo EIB - 2007
88
Anexo A: Descrição Protocolo X-10
O X-10 é um protocolo de comunicação, desenhado para enviar sinais pela
rede eléctrica. É um protocolo bastante utilizado na Domótica porque utiliza a
instalação prévia da rede eléctrica de uma casa, mas em contrapartida, é um pouco
lento a actuar.
As transmissões em X-10 são sincronizadas com detectores de passagem
por zero na rede eléctrica AC. Monitorizando os detectores de passagem por zero,
os dispositivos X-10, sabem quando por transmitir ou receber informação. Um dígito
binário '1' é representado por a subida da onda para 220V com a duração de 1ms e
perto do valor onde a onda passou por zero.
Uma trama X-10 é composta por um código que indica o início da mensagem
representado por '1110', seguido do código da casa e do código que pode ser de
uma função ou de endereço de uma unidade. As tabelas seguintes, indicam os
possíveis códigos para a casa, unidades e funções.
Tabela 7 – Códigos de casa
Domoitech – Domótica com protocolo EIB - 2007
89
Tabela 8 - Códigos de unidades e funções
Quando os códigos das tabelas são transmitidos, cada bit é complementar de
um par de bits, por exemplo, um '0' é representado por '01' e um '1' é representado
por '10'. Utilizando o exemplo do código de casa '0110', este é transmitido com os
seus bits complementares '01101001'. O código de unidades e função é
representado por 5 bits, logo enviado com 10 bits. O último bit é '0' no caso de ser
um código de unidade e '1' no caso de ser um código de função.
Domoitech – Domótica com protocolo EIB - 2007
90
Uma trama X-10 completa, é constituída por um código de início, código da
casa, código de unidade ou função e um sufixo. Cada trama é enviada duas vezes
com 3 ciclos da rede eléctrica, ou seis passagens por zero, entre um par de tramas.
Por exemplo, para ligar um módulo X-10 com o código de casa A e unidade 2, envia-
se a seguinte trama de endereço duas vezes:
Ilustração 48 - Exemplo de uma trama de endereço X-10
Depois espera-se três ciclos (seis passagens por zero) e envia-se a seguinte
trama de comando duas vezes:
Ilustração 49 - Exemplo de uma trama de comando X-10
Existem excepções neste formato, no caso de um comando de iluminação e
diming, não é necessário esperar os três ciclos entre os comandos.
Domoitech – Domótica com protocolo EIB - 2007
91
VIN
D19
VOUT
8
7
6
5
4
3
2
1
LED
GND
Xport
R27
470R
3
2
C5
IRreceptor
10uF
D20 LED
10uF
C7
J14
PROG
1
2
3
4
5
6
J12
RJ11
R28 R29 R30
36
37
38
39
41
42
43
44
C2
22Pf
14
15
C1
Y3
20Mhz
2
1
35
12
J15
R2
10k
2
1
SW1
13
22pf
C6
10uF
16
18
19
20
25
26
27
29
RJ11
J17
6
5
4
3
2
1
21
22
23
24
30
31
32
33
GND
RJ11 J13
12V
J16
9
10
11
40
28
17
LD1117cd3.3V
RC5
VOUT
10k 10k 10k
GND
RJ11
RA0/AN0
RC0/T1OSO/T1CKI
RA1/AN1
RC1/T1OSI/CCP2
RA2/AN2
RC2/CCP1
RA3/AN3/VREF RC3/SCK/SCL
RA4/TOCKI
RC4/SDI/SDA
RA5/AN4/SS
RC5/SDO
RC6/TX/CK
RBO/INT
RC7/RX/DT
RB1
RB2
RD0/PSP0
RB3
RD1/PSP1
RB4
RD2/PSP2
RB5
RD3/PSP3
RB6
RD4/PSP4
RB7
RD5/PSP5
RD6/PSP6
OSC1/CLKIN
RD7/PSP7
OSC2/CLKOUT
RE0/RD/AN5
MCLR/VPP
RE1/WR/AN6
NC
RE2/CS/AN7
VDD
NC
VDD
NC
NC
2
GND
2
6
5
4
3
2
1
34
1
2
3
4
5
6
J11
U3
3
4
5
6
7
8
GND
RJ11
J18
6
5
4
3
2
1
VIN
1
2
3
4
5
6
J10
LM7905
RC5
3
2
4
6
VOUT
1
3
5
VIN
BZX84C3V3/SOT
1
RJ11
R25
100R
3
J9
D17
1
1
2
3
4
5
6
1
2
470R
R26
RJ11
PIC16F877A
CON2
RESET
Title
Placa principal
Size
A
Date:
Document Number
1
Tuesday , June 19, 2007
Rev
1.1
Sheet
1
of
1
92
Anexo B: Esquema Eléctrico Placa
J4
RC5
1
Central
Domoitech – Domótica com protocolo EIB - 2007
VCC
LS1
Q1
BC547
5
3
4
1k
D1
DIODE
J2
6
5
4
3
2
1
1
2
J1
Saida1
1
2
3
4
5
6
VCC
R2
Q2
BC547
RJ11
LS2
1k
Output
5
3
J3
4
4
3
2
1
D2
DIODE
1
2
Saida2
1
R4
1k
3
U3A
2
8
R3
1k
4050
1
Input
5
U3B
4
8
4050
Title
Saida em relés
Size
A
Date:
Document Number
2
Saturday , May 05, 2007
Rev
1.1
Sheet
1
of
1
93
Anexo C: Esquema Eléctrico Placa
VCC
Saída em Relés
Domoitech – Domótica com protocolo EIB - 2007
VCC
R1
4
R15
1
R14
180R
4
3
2
1
R
6
J4
Q2
TRIAC
J2
U13
MOC3011
2
4
OUTPUT
1
R
6
R17
1
2
3
4
5
6
R16
VCC
RJ11
R
J3
4
3
2
1
R4
1k
1
INPUT
3
U3A
2
8
4050
1
R3
1k
5
U3B
4
8
4050
Title
Saidas em triac's
Size
A
94
Date:
Document Number
3
Saturday , May 05, 2007
Rev
1.1
Sheet
1
of
1
Anexo D: Esquema Eléctrico Placa
U12
MOC3011
2
Saída em Triac’s
Domoitech – Domótica com protocolo EIB - 2007
Q1
TRIAC
C1
10uF
C2
10uF
C4
10uF
16
C1+
C1C2+
C2V+
V-
C3
10uF
R1OUT
R2OUT
T1OUT
T2OUT
12
9
J1
14
7
4
3
2
1
4 HEADER
GND
1
3
4
5
2
6
T1IN
T2IN
15
11
10
R1IN
R2IN
R
470R
MAX232A
D1
LED
Title
Programador
Size
A
Date:
Document Number
4
Sunday , May 06, 2007
Rev
1.1
Sheet
1
of
1
Anexo E: Esquema Eléctrico
CONNECTOR DB9
1
6
2
7
3
8
4
9
5
13
8
VCC
U1
P1
Programador
Domoitech – Domótica com protocolo EIB - 2007
VCC
95
Download

DOMOITECH – Domótica com Protocolo EIB