• Nenhum resultado encontrado

Cap´ıtulo

4.3 Protocolo de comunica¸c˜ oes

Como foi referido na arquitectura do sistema B-Live, existe uma rede de comunica¸c˜ao que interliga todos os m´odulos. Presentemente, essa rede ´e constitu´ıda pelo fieldbus Controller Area Network [12] (CAN). Este protocolo foi desenvolvido pela Bosch na d´ecada de 80 e ´e largamente utilizado na ind´ustria autom´ovel.

Nesta sec¸c˜ao ser´a descrito o protocolo de comunica¸c˜ao existente no sistema B-Live. Apresenta- se tamb´em a estrutura de dados e mensagens trocadas pelos m´odulos bem como o seu signi- ficado.

4.3.1 Estrutura de dados

O sistema dom´otico B-Live permite que os diversos m´odulos que o constituem troquem in- forma¸c˜ao entre si. Para o efeito ´e necess´ario que a informa¸c˜ao esteja organizada, pelo que foi criada uma estrutura de dados espec´ıfica (4.5).

A estrutura de dados utilizada tem os seguintes campos:

ˆ IDMsg - Identifica (internamente ao m´odulo) a proveniˆencia ou o destino da mensagem (8 bit).

ˆ IDSrc - Identifica o produtor da mensagem (11 bit).

ˆ L - Tamanho do campo de dados (8 bit).

ˆ Dados - Campo de dados (array de bytes).

No software existe uma colec¸c˜ao de estruturas deste tipo armazenadas em FIFOs.

4.3.2 Estrutura das mensagens

Os m´odulos que constituem o B-Live podem trocar informa¸c˜ao entre si utilizando v´arios suportes de comunica¸c˜ao, correntemente CAN ou Linha S´erie.

Figura 4.5: Estrutura de dados B-Live

Por consequˆencia, existem diferentes estruturas de dados (FIFO, CAN e Linha S´erie) de acordo com o suporte de comunica¸c˜ao utilizado.

FIFO

As camadas de software utilizam um FIFO para comunicar entre si. A estrutura das mensa- gens ´e a representada na Figura 4.6.

Figura 4.6: Estrutura das mensagens do FIFO

O significado dos campos ´e o referido na sec¸c˜ao 4.3.1.

Linha Serie

A Figura 4.7 representa a estrutura das mensagens trocadas pela Linha S´erie.

Figura 4.7: Estrutura das mensagens RS232

Cada um dos campos da mensagem tem 8 bits. O significado dos campos ´e o seguinte:

ˆ % - Inicializador da mensagem.

ˆ IDSrcH - Identifica¸c˜ao do m´odulo (3 bits mais significativos encostados `a direita).

ˆ IDSrcL - Identifica¸c˜ao do m´odulo.

ˆ L - Tamanho do campo de dados.

ˆ CRC - Checksum.

ˆ # - Terminador da mensagem. CAN

Quanto `as tramas trocadas por CAN, estas tˆem a estrutura da Figura 4.8.

Figura 4.8: Estrutura das tramas CAN

O significado dos campos ´e o seguinte:

ˆ IDSrc - Identifica¸c˜ao do m´odulo produtor.

ˆ L - Tamanho do campo de dados.

ˆ D0-D7 - Dados da trama.

Correspondˆencia entre as diversas estruturas

A Figura 4.9 mostra as correspondˆencias entre os diversos campos das diferentes estruturas.

Significado dos campos das mensagens

Da an´alise das Figuras 4.6, 4.7, 4.8 e 4.9 observa-se que existem campos que s˜ao comuns a todas as estruturas e campos que variam consoante o tipo de estrutura.

Figura 4.9: Correspondˆencia entre mensagens

ˆ L - Tamanho do campos de dados.

ˆ D0 - Tipo de comando (Configura¸c˜ao, Modifica¸c˜ao, Opera¸c˜ao ou Debug).

ˆ D1 - Tipo de m´odulos (quando o comando enviado em D0 ´e para altera¸c˜ao do estado de um dispositivo, neste campo encontra-se o identificador desse dispositivo).

ˆ D2 a D7 - Identificador dos dispositivos a controlar (quando o comando enviado em D0 ´e para altera¸c˜ao do estado os campos D2 e D3 contˆem, respectivamente, o estado do dispositivo quando o evento foi gerado e o identificador do actuador no m´odulo). O campo IDMsg apenas est´a presente nas mensagens do FIFO:

ˆ IDMsg - Identifica a proveniˆencia da mensagem, Linha S´erie, CAN ou Dispositivo ac- tuador.

O campo IDSrc est´a presente nas tramas CAN e nas mensagens da Linha S´erie e do FIFO. No entanto, a forma como este campo ´e constru´ıdo ´e diferente consoante o meio utilizado (Figura 4.10).

Figura 4.10: Constru¸c˜ao do campo IDSrc

No caso de uma trama CAN, o campo IDSrc corresponde ao identificador da mensagem. Numa mensagem FIFO, ´e uma vari´avel do tipo short, onde apenas s˜ao considerados os 11 bits menos significativos. Se a mensagem for do tipo Linha S´erie, s˜ao concatenados 2 bytes de dados.

O campo IDSrc ´e constitu´ıdo pelos valores NL (Node Location) e NN (Node Number). O primeiro ´e um identificador que poder´a ser utilizado para identificar a divis˜ao da casa onde se encontra o m´odulo, ou para agrupar m´odulos. Deste modo podem definir-se 7 ´areas diferentes (o valor 0 ´e reservado). O segundo identifica o m´odulo dentro da divis˜ao ou grupo.

4.3.3 Tipos de mensagens

A informa¸c˜ao contida na estrutura de dados B-Live ´e utilizada para constru¸c˜ao das mensagens que s˜ao trocadas entre os m´odulos. Estas mensagens podem ser de 3 tipos: configura¸c˜ao, modifica¸c˜ao e opera¸c˜ao.

Em mensagens de configura¸c˜ao ou modifica¸c˜ao os campos de dados tˆem o seguinte signi- ficado:

ˆ Dados[0] - Comando.

ˆ Dados[1] - Tipo de m´odulo.

ˆ Dados[2] a Dados[5] - Identifica¸c˜ao dos dispositivos conforme o tipo de m´odulo. A informa¸c˜ao correspondente `a configura¸c˜ao dos m´odulos ´e guardada em mem´oria, se- gundo a disposi¸c˜ao representada na Figura 4.11.

Figura 4.11: Disposi¸c˜ao dos dados de configura¸c˜ao em mem´oria

S˜ao reservados 4 bytes para cada um dos diferentes campos de configura¸c˜ao, que podem ser todos utilizados ou n˜ao. No campo Estado do dispositivo pode ser guardado, se necess´ario, o estado de um determinado dispositivo.

Em mensagens de opera¸c˜ao os campos de dados tˆem o seguinte significado:

ˆ Dados[0] - Comando de opera¸c˜ao.

ˆ Dados[1] - Identificador do dispositivo.

ˆ Dados[2] - Estado do dispositivo quando o evento foi gerado (se necess´ario).

ˆ Dados[3] - Ordem do dispositivo no m´odulo (se necess´ario).

4.3.4 Comandos e seu significado

No sistema B-Live existem diversos comandos que permitem operar sobre os m´odulos e os dispositivos que lhes est˜ao associados.

Apresentam-se de seguida os comandos do sistema B-Live e o seu significado:

ˆ C - Configura¸c˜ao, permite configurar os m´odulos: n´umero e localiza¸c˜ao, tipo de dispo- sitivo a controlar, dispositivos associados e suas configura¸c˜oes.

ˆ M - Modifica¸c˜ao, permite alterar/configurar os dispositivos controlados pelos m´odulos.

ˆ F - Fecho / Off, desactiva o dispositivo.

ˆ A - Altera¸c˜ao de estado, altera o estado actual de um dispositivo.

ˆ S - Leitura de estado, envia para a rede a configura¸c˜ao do m´odulo.

ˆ R - Resposta ao PC, envia para o m´odulo que faz a interface com o PC a configura¸c˜ao do m´odulo.

ˆ B - Comandos do menu recitado, comando espec´ıfico para o Menu Recitado (esta fun- cionalidade est´a especificada adiante neste texto).

ˆ D - Debug, permite verificar erros no c´odigo.

4.4

Identifica¸c˜ao dos m´odulos

Actualmente o sistema B-Live ´e composto pelos seguintes m´odulos:

ˆ Interface PC. ˆ Estores. ˆ Lˆampadas. ˆ Portas. ˆ Autoclismo. ˆ Dispensador de comida. ˆ Tomadas.

ˆ Sistema para disponibilizar Menu Recitado.

Interface PC

O m´odulo interface PC permite interligar o sistema B-Live com um computador (Figura 4.12). Assim, ´e poss´ıvel efectuar a troca de informa¸c˜ao entre um sistema computacional e o sistema B-Live.

Estores

Este m´odulo permite o controlo de um estore el´ectrico, nomeadamente as opera¸c˜oes de aber- tura e fecho (Figura 4.13). O m´odulo pode ser operado utilizando um interruptor convencional local (interruptores ligados fisicamente ao m´odulo) ou por interruptores remotos associados ao m´odulo.

Figura 4.12: M´odulo B-Live Placa de Controlo

Figura 4.13: M´odulo B-Live Estores

Lˆampadas

O m´odulo de lˆampadas permite o controlo de duas lˆampadas, nomeadamente as opera¸c˜oes ligar e desligar (Figura 4.14). O m´odulo pode ser operado utilizando dois interruptores convencionais locais ou por interruptores remotos associados ao m´odulo.

Figura 4.14: M´odulo B-Live Lˆampadas

Portas

O m´odulo de portas permite o controlo de uma porta, nomeadamente as opera¸c˜oes abrir e fechar. A arquitectura deste m´odulo ´e a mesma que no m´odulo de estores (Figura 4.13). Por motivos de seguran¸ca, o m´odulo apenas pode ser operado utilizando um interruptor convencional local.

Autoclismo

O m´odulo de autoclismo permite efectuar a descarga da ´agua do reservat´orio tanque. O m´odulo pode ser operado utilizando um interruptor sem contacto (infravermelhos).

Dispensador de comida

O m´odulo dispensador de comida permite disponibilizar at´e quatro produtos alimentares ou refrigerantes (Figura 4.15). Em conjunto com as interfaces do sistema B-Live e de um c´odigo de luzes presentes na zona superior do dispensador de comida, ´e poss´ıvel executar as opera¸c˜oes de abertura e fecho da gaveta do dispensador e seleccionar o produto.

Figura 4.15: M´odulo B-Live Dispensador

Tomadas

Este m´odulo permite o controlo de uma tomada (Figura 4.16). ´E poss´ıvel, deste modo, efectuar um controlo on/off dos equipamentos el´ectricos que se encontram ligados `as tomadas da habita¸c˜ao. O m´odulo pode ser operado utilizando um interruptor convencional local.

Figura 4.16: M´odulo B-Live Tomadas

M´odulo para disponibilizar Menu Recitado

Este m´odulo em conjunto com um sistema de colunas permite recitar as faixas de ´audio pr´e- gravadas no integrado de som. A informa¸c˜ao gravada nas faixas corresponde aos dispositivos existentes no sistema.

Todos estes m´odulos s˜ao pass´ıveis de ser operados por interfaces espec´ıficas e de acordo com a limita¸c˜oes dos utilizadores. Estas interfaces ser˜ao descritas com maior detalhe na sec¸c˜ao 4.7.

Documentos relacionados