Você está na página 1de 4

REVISTA DO DETUA, VOL.

1, N 4, SETEMBRO 1995

387

Desenvolvimento de Aplicaes para Sistemas Domticos utilizando Programao


Orientada por Objectos em C++
Henrique M. F. Vale, Jos A. C. Duarte, Sidnio M. Brazete
A. Manuel de Oliveira Duarte
Resumo- Este artigo descreve o desenvolvimento de
aplicaes para sistemas domticos utilizando programao
orientada por objectos em C++, realizadas no mbito do
projecto final da licenciatura em Eng. Electrnica e
Telecomunicaes.
Foi desenvolvido um sistema de comunicaes para
interligao dos apartamentos ao concentrador de
informao do edifcio, atravs da rede CATV, onde feita
toda a gesto dos eventos ocorridos nos apartamentos. O
software de suporte s comunicaes e de gesto de servios
foi desenvolvido em linguagem orientada por objectos em
C++, sendo esta ultima parte desenvolvida em ambiente
Windows, utilizando o compilador Borland C++ 4.02.
Abstract- This paper describes the development of
applications for domotic systems using object oriented
programming in C++, made as a final project of Electronic
Engineering graduation .
During this work, was developed a communications system
to link the apartments and make management of
information on the building, using CATV network. The
software that supports the communications and performs
the management of information was done using object
oriented programming for Windows with Borland C++ 4.02.

inundaes ou fugas de gs, na existncia de um destes


alarmes so activados todos os dispositivos de segurana
existentes no edifcio, e so de imediato informados os
servios de socorro como por exemplo os bombeiros.
Ainda na rea de segurana o sistema oferece meios de
vigilncia e simulao de presena (na ausncia dos
habitantes permite a ligao de dispositivos elctricos,
como por exemplo iluminao, radio, etc. de modo a
simular a presena humana na residncia).
O trabalho de investigao e desenvolvimento no qual
se inseriu este projecto, tinha como objectivo o
desenvolvimento de um sistema de comunicaes para
interligao dos apartamentos com um concentrador de
informao geral do edifcio, e do respectivo software
para gesto de servios.
O trabalho aqui realizado ao longo do ano lectivo
divide-se em duas partes, na primeira parte desenvolveuse e testou-se o sistema de comunicaes. Na segunda
parte desenvolveu-se todo o software de suporte as
comunicaes e de gesto de servios.

II. SISTEMA DE COMUNICAES


I. INTRODUO

Nos ltimos anos, com o desenvolvimento da industria


de electrnica, tem-se assistido a um aumento
considervel de dispositivos electrnicos destinados a
executar tarefas domsticas e proporcionar lazer nos
modernos lares dos nossos dias. neste contexto que
surge uma nova rea na engenharia electrnica, a
domtica, que tem por objectivo fazer uma gesto
inteligente dos dispositivos elctricos existentes na nossa
casa e fornecer novos servios, permitindo uma melhoria
da qualidade de vida dos cidados.
Esta gesto, proporciona melhoramentos considerveis
na rea da economia e segurana dos nossos lares. Na
rea da economia o objectivo controlar dispositivos
elctricos como maquinas domsticas ou sistemas de
iluminao optimizando a potncia elctrica disponvel e
utilizando sempre que possvel horrios de baixa taxao.
Esta gesto no apenas do interesse dos consumidores,
mas tambm dos fornecedores, promovendo uma melhor
explorao dos recursos energeticos que um factor
importantssimo nos dias de hoje. Na rea da segurana,
os sistemas domticos fornecem servios indispensveis
num lar moderno, como so a deteco de intruso, fogo,
*

Trabalho realizado no mbito da disciplina de Projecto.

O sistema de comunicaes a implementar deveria


permitir, a transmisso no meio fsico atravs da rede
CATV, funcionar em modo MASTER-SLAVE e ter
mecanismos de deteco e correco de erros.
Aps se ter feito um estudo dos protocolos standard,
que poderiam ser implementados, optou-se pelo protocolo
HDLC, que nos garante todos os pr-requesitos.

A. Protocolo HDLC
O protocolo de comunicao HDLC um standard
proposto pela ISO e IEC para a camada 2 (tambm
conhecida como camada de ligao lgica ou data-link
layer) do modelo de referncia OSI. Este protocolo
define que as estaes interlocutoras numa ligao podem
ser de trs tipos: primrias, secundrias e combinadas.
O protocolo assegura o controlo da comunicao
atravs da troca de comandos e respostas entre as
estaes, as estaes primrias enviam comandos e
recebem respostas; as estaes secundrias recebem
comandos e enviam respostas e as estaes combinadas
recebem e enviam comandos e respostas.
As principais caractersticas do protocolo HDLC so:

REVISTA DO DETUA, VOL. 1, N 4, SETEMBRO 1995

388

Utiliza transmisso bit a bit (bit-oriented).


um protocolo sncrono.
Permite
transmisso bidireccional
(simultnea ou alterada).
Estabelece
ligaes multiponto ou
ponto-a-ponto.
Utiliza a tcnica de Sliding Window.
Organiza as mensagens em tramas.
um protocolo aberto.

B. Estrutura da Trama HDLC


Designa-se por trama, ao conjunto de bits enviados por
uma dada estao, a trama est organizada num conjunto
de campos como mostra a figura 1.
Flag

Ender.

Ctrl

Inform.

FCS

Flag

FCS

01111110

8-bits

8-bits

N-bits

16-bits

01111110

podendo esta supervisionar todo o contedo das


mensagens que circulam na rede.
Este sistema foi desenvolvido de modo a poder
funcionar integrado num PC, atravs de um bus ISA, ou
de um modo autnomo, caracterstica que o torna bastante
flexvel.
D. Software do Building-Gateway1
Aps se ter desenvolvido um sistema que permitisse
comunicar com os diversos apartamentos de um edifcio
atravs da rede CATV, foi necessrio desenvolver uma
aplicao de software que atravs deste sistema fizesse
toda gesto dos eventos que acontecem num edifcio.
Este software permite ainda ao Buiding-Gateway
estabelecer comunicaes com o exterior via PSTN
(Figura 2), nomeadamente com um centro de servios
especializado onde feita uma gesto de servios
(superviso de alarmes, telecontagem, televigilancia, etc.)

Fig. 1 - Formato da trama HDLC.

Seguidamente descreve-se o significado de cada um dos


campos:
Flag: define o inicio e fim de uma trama.
Esta sequncia constituda por um bit 0
seguido de 6 bits 1 contguos, terminando
com um bit 0, sendo este campo
responsvel pela sincronizao da trama.
Endereo: este campo identifica o endereo
da estao secundaria que envia ou recebe as
trama.
Controlo: identifica o tipo de comandos ou
respostas, pode conter ainda nmeros de
sequncia das tramas.
Informao/Dados: campo de dados, o seu

comprimento varivel.
FCS: este campo composto por uma
sequncia de 16 bits, esta sequncia permite
a deteco de erros.

Fig. 2 - Mecanismos do sistema de comunicao.

III. APLICAES PARA A UNIDADE SUPERVISORA DE


SERVIOS (SSU)

A. Programao Orientada por Objectos em C++


A programao orientada por objectos faz-se atravs de
uma abstraco do problema, organizando-o de uma
forma mais humana, permitindo lidar com a
complexidade de uma forma mais eficiente. Esta
organizao faz-se atravs do estabelecimento de uma
hierarquia para a aplicao a desenvolver, deste modo
consegue-se desenvolver objectos que contm funes e
variveis para executar uma dada tarefa (encapsulamento
de variveis e dados), impossibilitando a interaco entre
objectos, a no ser que isso esteja pr-definido.
Para a implementao de uma aplicao orientada por
objectos deve-se ter em conta as seguintes regras:
1. Para cada bloco funcional, i.e., conjunto de
funes e variveis necessrias para executar
uma dada tarefa ( acesso ao disco, impresso ou
manipulao de dados de uma base de dados)
deve-se definir uma classe.

C. Modo de Funcionamento
O sistema desenvolvido transparente ao utilizador,
sendo todo o controlo e gesto da comunicao
desempenhado pela estao primria (MASTER). A
estao primria que d oportunidade s estaes
secundarias (SLAVES) de enviarem mensagens. Todas as
mensagens tm que passar atravs da estao primria,

Concentrador de informao do edifcio.

REVISTA DO DETUA, VOL. 1, N 4, SETEMBRO 1995

2. Se duas classes diferentes possuem funes e


variveis em comum, deve-se definir uma classe
base, esta classe base vai ter a definio das
funes e variveis que eram comuns, passando
as duas antigas classes a serem descendentes
desta nova classe.
3. Se uma classe uma definio mais especifica
de outra, ento deve-se definir esta classe como
descendente da classe mais geral.
4. Se a um dado objecto, for dada a possibilidade
de criar novos objectos, ento estes ltimos sero
membros do primeiro.

B. Desenvolvimento do software do SSU

389

permite que o centro de servios envie/receba mensagens


de informao e/ou alarme dos clientes, e de uma base de
dados de eventos (alarmes, acontecimentos, telecontagem,
etc.) onde feito a gesto destes mesmos eventos, a
colecta destes eventos pode ser desencadeada
manualmente pelo utilizador ou automaticamente pela
prpria aplicao.
Todas as comunicaes entre o centro de servios e os
Building-Gateway dos edifcios, so feitas atravs da rede
pblica de telefone (PSTN).
C. Base de Dados de Utentes
A base de dados de utentes (Figura 3), foi desenvolvida,
utilizando uma pack de software da Borland que permite
a criao de bases de dados, programando apenas de uma
forma visual, atravs do Resource Workshop da Borland.
Esta base de dados, alm de incluir todas as
funcionalidades de qualquer base de dados, permite ainda
a visualizao da foto de cada elemento da base de dados.

D. Comunicaes
Esta aplicao (Figura 4), permite o envio de mensagens
do centro de servios para cada um dos apartamentos. As
funes que executam as comunicaes foram criadas,
recorrendo ao Windows API.

Fig. 3 - Base de dados de utentes.

O software para a Unidade de Sistemas e Servios foi


desenvolvido em Windows, utilizando o Borland C++
4.02, esta aplicao composta por:

Base de dados de utentes.


Comunicaes.
Base de dados de eventos.
Configuraes.

Fig. 4 - Comunicaes.

E. Base de Dados de Eventos


Todo o software desenvolvido, utiliza um interface
grfico amigvel e de fcil utilizao por parte do
utilizador. Todas as seleces e manipulaes que o
utilizador pode executar so feitas atravs de botes e
menus de seleco.
Esta aplicao para o centro de servios permite
entidade que gere o centro de servios fazer a gesto
remota dos eventos, gerados nos edifcios pertencentes a
um centro habitacional, assim como fornecer servios de
televigilancia, telecontagem e supervisionamento de
alarmes.
Esta software disponibiliza entidade que gere o centro
de servios uma base de dados de clientes, com todas as
informaes relativas aos clientes aderentes ao servio.
Dispe ainda de uma aplicao de comunicaes que

Esta base de dados (Figura 5), permite ao centro de


servios fazer a visualizao e processamento de todos os
eventos de um centro habitacional, a colecta de
informaes pode ser feita manualmente ou
automaticamente, para a colecta ser feita automaticamente
necessrio programar o nmero de colectas dirias que
devem ser feitas.

REVISTA DO DETUA, VOL. 1, N 4, SETEMBRO 1995

390

[1]
[2]
[3]
[4]
[5]
[6]

Fig. 5 - Base de dados de eventos.

F. Configuraes
Esta aplicao permite ao utilizador fazer a
configurao das portas de comunicao a serem
utilizadas, bem como definir os comandos utilizados para
estabelecer e cessar a chamada.

IV. CONCLUSES
O trabalho descrito, permite a implementao de futuros
Centros de Servios para edifcios inteligentes, atravs de
uma package flexvel de software orientada por objectos.
Este trabalho permite ainda que se crie uma rede de
comunicao eficiente entre os apartamentos e o
Building-Gateway,
utilizando
as
infra-estruturas
existentes, como o caso da rede CATV, para
disponibilizar servios como os descritos anteriormente.
Este trabalho fez parte do projecto CHIMENE
(Colective Home Interface Made on Existings Networks
in Europe), que est englobado no programa ESPRIT
(European Strategic Programme for Research in
Information Technologies), da colaborao do Grupo de
Sistemas de Banda Larga com o projecto CHIMENE,
resultou na instalao de um destes sistemas numa
residncia de estudantes, permitindo o desenvolvimento e
teste de novos sistemas em condies reais de
funcionamento.
REFERNCIAS

Borland International, Object Windows 2.0 Programmers


Guide, 1994
Borland International, Resource Workshop User Guide, 1994.
Borland International, Windows API, 1994.
William Stallings, Data and Computer Communications,
Macmillan, 1990.
B. Stroustrup, The C++ Programming Language, AddisonWesley, 1985.
Valery Sklyarov, The Revolutionary Guide to Turbo C++,
Wrox Press Limited, 1992.