Protótipo de Comunicação Bluetooth IEEE 802.15.1 em Tecnologia Móvel - Parte 01
Neste artigo serão apresentadas seções especificando um protótipo de ambiente de rede utilizando a tecnologia Bluetooth IEEE 802.15.1 agregada a uma rede estruturada utilizando um ambiente cliente e servidor.
Maiquel Alexsandro Goelzer Rinco1
1Ciências da Computação – Centro Universitário LaSalle ( UNILASALLE)
Av. Victor Barreto, 2288 – 90.010-000 – Canoas – RS – Brazil
Nos dias de hoje é crescente a demanda da necessidade de mobilidade; A busca pela comunicação ágil e rápida alastrou-se e o mercado tem apresentado uma enorme quantidade e variedade de dispositivos móveis. Estes aparelhos cada vez mais robustos e próximos de pequenos computadores, possuem memória, processador, armazenamento de dados e diversos recursos agregados como câmeras digitais, dispositivos de comunicação, mensagens multimídia, áudio e vídeo, agenda eletrônica e até mesmo funções como GPS (Global Position System), além de poder acessar dados na Internet e se conectar a um computador ou a outro dispositivo para sincronizar informações.
De acordo com Martin Cooper, inventor do celular, o número de transmissões de dados e voz que são enviadas pelo ar dobra a cada 30 meses em todo o mundo (TAU,2002). Diante disto, a necessidade de transmitir e receber dados e voz a todo momento, se torna cada vez maior, eliminando a necessidade de intermédio de comunicação através de uma operadora de telefonia e contribuindo para o crescimento dos dispositivos de transmissão curta que utilizam ondas de rádio, como infravermelho e Bluetooth IEEE 802.15.1. Entretanto, a transmissão de dados exige um meio de comunicação e um protocolo confiável, bem como uma aplicação com um método de operação bem implementado para o dispositivo que irá realizar esta comunicação.
Diante desta situação, surge o Bluetooth IEEE 802.15.1, uma tecnologia com baixo custo, ideal para sistemas móveis e transmissões de curta distância. Pode ser utilizado em computadores, celulares e também em aparelhos eletroeletrônicos. Nada impede que daqui a alguns anos equipamentos de uma residência sejam controlados por um computador utilizando um microcontrolador Bluetooth IEEE 802.15.1 ou até mesmo que existam ambientes de redes Ad Hoc fornecendo dados em diferentes setores através deste dispositivo.
No estudo Wireless é definida a topologia de rede Ad Hoc e Access Point. No ambiente Ad Hoc o conceito se baseia na comunicação dos nodos independentes entre si, quando que no Access Point existe o conceito de um nodo servir como interlocutor entre a comunicação dos que estão a ele conectados. No bluetooth não é diferente, ele também se comunica utilizando o conceito Ad Hoc e Access Point, mas utilizando a topologia Scatternet e Piconet, as quais serão explicadas mais detalhadamente nas próximas seções do artigo.
Dentro deste mesmo contexto existem pesquisas relacionadas sobre o gerenciamento e localização de nodos em ambientes de redes sem fio, como por exemplo, tratar eventos em determinados ambientes e em determinados nodos, detectar que um nodo está utilizando os recursos de um determinado ambiente, tratar mudanças de ambiente, levando em consideração perfis exclusivos destes dispositivos móveis, estes temas são abordados por alguns projetos como (ISA,2002) e (SID,2002).
Os principais estudos em redes wireless discutidos atualmente envolvem questões como, prover QoS (Quality of Service) em Wireless e WRP (Wireless Routing Protocol), mas poucos artigos abordam a questão de infra-estrutura de rede móvel, no contexto de como gerenciar nodos móveis e tratar eventos em localidades específicas.
O considerável número de informações que se pode extrair de um estudo como este, envolve questões relacionadas ao nodo como, tratamento exclusivo ou agrupado, permitir ou negar o acesso, verificar o status e qualidade do sinal, verificar o possível fabricante e modelo através dos três primeiros bytes de endereço MAC, validar se ele é um dispositivo novo em determinado ambiente ou até mesmo a última vez que ele entrou neste ambiente.
Partindo destes problemas, este estudo visa contribuir com questões de gerenciamento e monitoramento em redes móveis.
Neste artigo serão apresentadas seções especificando um protótipo de ambiente de rede utilizando a tecnologia Bluetooth IEEE 802.15.1 agregada a uma rede estruturada utilizando um ambiente cliente e servidor. Na seção 2 serão abordados temas conceituais teóricos do padrão Bluetooth IEEE 802.15.1, mostrando questões como desenvolvimento, topologia, operação, profiles e protocolos da tecnologia.
Na seção 3 será abordado a descrição metodológica utilizada, especificando o modelo de comunicação, desenvolvimento e interface do protótipo, objetivando prover gerenciamento e tratamento de ações e eventos.
Nesta mesma seção, também serão abordadas as ferramentas de programação utilizadas para os dispositivos móveis; tem-se C++ e J2ME (Java 2 Micro Edition). Na linguagem J2ME (Java 2 Micro Edition), serão mostradas basicamente duas especificações, a CLDC (Conected Limited Device Configuration) e a MIDP (Mobile Information Device Profile), abordando também dentre as 70 JSRs (Java Specifications Requests) disponíveis para dispositivos móveis, uma escolhida neste protótipo.
2. Estado da Arte no Bluetooth IEEE 802.15.1
As redes independentes conhecidas como Ad Hoc têm crescido nos últimos anos, sendo utilizadas em diversos meios para disponibilizar serviços, monitorar e controlar ambientes. A quantidade de artigos encontrados no (CIT,2005) sobre redes que suportam Ad Hoc como Wireless IEEE 802.11b/g, WiMax IEEE 802.16, Bluetooth IEEE 802.15.1 contribuem para este crescimento, existem também pesquisas correlatas de projetos como, (SID,2002) e (ISA,2002), que especificam a criação de middlewares de infra-estrutura de suporte para aplicações móveis distribuídas, adaptáveis em ambientes de computação pervasiva e caracterizadas pela mobilidade global e independência de dispositivo e ambiente computacional (ISA,2002) .
No caso do Bluetooth IEEE 802.15.1, os dispositivos podem ser utilizados em diversas aplicações, como segurança e monitoramento na área de saúde (HEA,2005), sensores de segurança e incêndio (INC,2003), detecção de falhas em sistemas e ambientes pervasivos (HEN,2000), como também em ambientes cooperados de robôs(ROBS). Os dispositivos podem atuar como pontes entre outras redes ou servir como nodos para redes Ad Hoc. Este conjunto de aplicações formam as chamadas redes pessoais WPAN (Wireless Personal Area Networks), que geralmente utilizam do conceito Scatternet ou Piconet, cada uma com a sua peculiaridade de comunicação.
Estas peculiaridades visam atender requisitos específicos de serviços e nota-se que os dispositivos buscam satisfazer questões como: baixo custo, tamanho reduzido e consumo de energia. Nestas tecnologias de transmissão sem fio de curta distância, percebe-se o crescimento promissor do Bluetooth IEEE 802.15.1, ao lado dos aparelhos móveis celular, ocasionando um crescimento paralelo das ferramentas de programação para dispositivos móveis, e também das features agregadas ao dispositivo, que são chamadas de profiles e também serão tema deste artigo.
O detalhe importante em todos estes trabalhos citados é que, no momento em que foram propostos, a tecnologia Bluetooth 802.15.1 não estava madura o suficiente de features e especificações para retirar informações dos dispositivos e tratar eventos e situações específicas, além do que, junto com estas novas features, ocorreu um grande crescimento das JSRs (Java Specifications Requests) para área de computação móvel.
Por exemplo, quando naquela época, para se localizar um nodo móvel era necessário realizar cálculos de triangulação, hoje existe uma JSR-179 (Location API), a qual está embutida em alguns celulares com suporte a Java como Siemens S66 e fornece informações de localização geográfica assim como um GPS (Global Position System), este crescimento vem se aprimorando cada vez mais como mostra o histórico da tecnologia Bluetooth IEEE 802.15.1.
2.1 Histórico e Desenvolvimento do Bluetooth IEEE 802.15.1
A idéia do atual Bluetooth IEEE 802.15.1 começou em 1994 pela iniciativa da Ericsson em fazer um estudo sobre sistemas de baixo consumo de energia para substituir cabos em pequenas distâncias. Em maio de 1998, foi formado o grupo de interesse Bluetooth SIG ( Special Interest Group ) e já no ano de 1999 foi lançada a primeira definição do protocolo Bluetooth IEEE 802.15.1. Após isso grandes empresas como 3Com, Lucent, Microsoft entraram no mercado lançando os primeiros aparelhos com tecnologia Bluetooth.
Hoje o Bluetooth IEEE 802.15.1 encontra-se na especificação 1.2 e é definido pelo IEEE 802.15 Working Group como um padrão. Em 04 de maio de 2005 foi anunciada a união de esforços entre a mais conhecida como UWB (Ultra Wideband) (UWB) e o Bluetooth SIG( Special Interest Group ), esta união impulsiona o padrão Bluetooth IEEE 802.15.1 para sistemas de maior velocidade com esquemas de transmissão diferentes da maioria dos outros dispositivos.
A comunicação UWB (Ultra Wideband) proveniente de uso militar, necessita de uma sincronização precisa entre o transmissor e o receptor, mas em consideração, fornece vantagens como conseguir ultrapassar paredes e outros obstáculos, tudo isso com baixas taxas de consumo de energia e altas taxas de transmissão, podendo chegar a mais de 100 Mbps para pequenas distâncias(QAB,2005), tornando-se assim uma candidata natural para WPAN (Wireless Personal Area Networks ), mas para melhor compreender esta evolução, é necessário conhecer a topologia de rede, os modos de operação e estados do atual Bluetooth IEEE 802.15.1.
2.2 Topologias de Rede
Os dispositivos Bluetooth IEEE 802.15.1 suportam conexões ponto a ponto, ou seja, um nodo conectado ao outro diretamente ou ponto a multiponto, onde se conectam a mais de um nodo. Dentro deste conceito de conexão, existem as redes Piconets que podem ser estabelecidas e conectadas entre si em um ambiente similar ao Ad Hoc denominando-se assim Scatternet. Estas redes são organizadas em dois tipos: a Piconet formada por um nodo mestre e sete escravos e a Scatternet onde se podem ter várias Piconets conectadas entre si, ocorre também de um nodo em uma Piconet ser escravo de mais de uma Piconet, como também de o mesmo nodo ser escravo em uma e mestre na outra, como mostrado na Figura 1 (DEI, 2002).
Figura 1. Topologia Piconet - Scatternet
2.3 Diagrama de Estados e Operação Básica do Dispositivo
Quando um dispositivo IEEE 802.15.1 Bluetooth é ligado, ele tenta operar como um escravo de um dispositivo mestre que já esteja ligado. O dispositivo por padrão entra em estado de stand by, sendo que pode mudar para os seguintes estados: inquiry, inquiry scan, page scan e page (BLS,2003). Os estados para efetuar uma conexão entre dispositivo Bluetooth IEEE 802.15.1, são definidos conforme o diagrama de conexão mostrado na figura 2.
Figura 2. Diagrama de Conexão
No estado de inquiry o dispositivo envia um pacote especial de pareamento para tentar descobrir os endereços de quais dispositivos estão presentes na sua área. Já o estado de inquiry scan é ativado pelo fato do dispositivo estar escutando inquiry responses e retornando com seu endereço físico. Este modo é definido quando se ativa a opção na qual o dispositivo poder ser descoberto e responder a requisições inquiry request que foram enviadas pelo nodo mestre.
Após ocorrer o processo de inquiry, o procedimento de tentativa de conexão é iniciado através do estado de page, onde são enviados pacotes de paging requests a dispositivos que retornaram o endereço físico no inquiry e esperados possíveis pacotes de paging response ou slave response de dispositivos que estejam em page scan, após realizada esta operação o dispositivo mestre envia um master response pedindo o inicio da conexão que é confirmado pelo dispositivo escravo.
Após realizados os procedimentos de pareamento inquiry e paging os dispositivos já podem estabelecer um canal de comunicação para enviar e receber informações, neste momento são definidos 4 modos de operação(BLOP,2001):
· No modo Active, o dispositivo está sempre ativo e preparado para utilizar o canal de comunicação, de tempo em tempo o dispositivo mestre envia sinais para os escravos verificando as suas conexões e se eles desejam efetuar alguma comunicação.
· No modo Sniff, o dispositivo entra no modo de economia, mas continua escutando as comunicações em tempos pré-definidos provenientes de outros nodos.
· No modo Hold, não existem comunicações ativas entre mestre e escravo, mas o dispositivo escravo está apto a executar scan, page ou inquiry dos dispositivos na área.
· O modo Park, se caracteriza pelo dispositivo permanecer conectado a uma piconet, mas não participa da comunicação, escutando o mestre em tempos pré-definidos para sincronizar, neste modo ele não utiliza seu endereço MAC.
O grupo SIG (Special Interest Group) do Bluetooth IEEE 802.15.1 é dividido em áreas de pesquisa técnica, nestas áreas são desenvolvidas aplicações da tecnologia para várias finalidades, dentre elas, áudio e vídeo (Audio / Vídeo Working Group), impressão (Printing Working Group) , automóveis (Car Profile Working Group), entre outras (MIL, 2001).
Dentre estas áreas técnicas são dispostos profiles, que são definidos pelos comentados Working Groups, cada profile define uma seleção de mensagens e procedimentos que são especificados no Bluetooth SIG (Special Interest Group) como funcionalidades. Elas fornecem uma descrição dos métodos que podem ser utilizados para desenvolvimento no dispositivo (BLE, 2002). Estes profiles se localizam verticalmente na pilha de protocolos do Bluetooth IEEE 802.15.1, onde cada um tem seu modelo de utilização.
São definidos 4 profiles de uso freqüente: GAP (Generic Access Profile), SDAP (Service Discovery Application Profile), SPP (Serial Port Profile) e GOEP (Generic Object Exchange Profile) conforme mostrado na Figura 3 (BLT, 2003).
Figura 3. Dependências nos Profiles Bluetooth (Fonte: Nokia Forum)
· O GAP (Generic Access Profile) define os procedimentos genéricos relacionados a descoberta e gerenciamento de conexão em dispositivos Bluetooth IEEE 802.15.1, ele também define procedimentos relacionados aos níveis de segurança e formatos padrão de acesso aos níveis de interface do usuário.
· SDAP (Service Discovery Application Profile) que define as features e os procedimentos para uma aplicação de uma dispositivo Bluetooth IEEE 802.15.1 descobrir os serviços em outro dispositivo.
· SPP (Serial Port Profile) onde são definidos os requisitos para os dispositivos Bluetooth IEEE 802.15.1 emularem conexões seriais utilizando RFCOMM entre dois dispositivos.
· GOEP (Generic Object Exchange Profile) que define os protocolos e procedimentos que serão utilizados pelas aplicações que precisarem utilizar troca de objetos, as possíveis aplicações seriam sincronização e transferência de arquivos.
Como pode-se notar na Figura 3, todos os profiles internos dependem destes profiles principais, e para que os profiles possam ser utilizados, ambos os dispositivos devem ter suas pilhas de protocolos implementando estes profiles.
2.5 Pilha de Protocolos
Os protocolos do padrão Bluetooth IEEE 802.15.1 são necessários para implementar os profiles e seus modelos de uso, cada profile utiliza uma parte da pilha de protocolos do dispositivo e para os dispositivos se comuniquem utilizando um serviço específico através de um determinado profile é necessário que eles possuam a pilha de protocolos deste serviço implementada (BLT, 2003).
São definidos os principais protocolos da arquitetura:
· L2CAP (Logical Link Control and Adaptation Protocol), que é responsável pela multiplexação, remontagem e segmentação dos pacotes.
· SDP (Service Discovery Protocol), que pode ser usado para obter as informações de um dispositivo, serviços e as características de outros dispositivos.
· Baseband e Link Control juntos ativam a conexão de rádio frequênica entre dispositivos formando a Piconet. Esta camada é responsável por sincronizar a transmissão dos saltos de freqüência e os clocks dos diferentes dispositivos Bluetooth IEEE 802.15.1.
· LMP (Link Manager Protocol) que é responsável principalmente por configurar questões de autenticação, criptografia, modos de consumo, controle de estados de conexão e pacotes de banda base.
· Audio é utilizado diretamente da banda base do dispositivo, qualquer dispositivo Bluetooth IEEE 802.15.1 que suporte áudio, pode abrir uma conexão para enviar e receber dados de áudio, utilizando uma conexão síncrona de 64 kpbs para transmitir e outra para receber.
· RFCOMM, é um protocolo que emula sinais RS-232, pode ser usado em aplicações que implementam a conexão com cabo serial.
Assim como o SDP (Service Discovery Protocol), o protocolo RFCOMM está localizado acima do L2CAP (Logical Link Control and Adaptation Protocol) conforme mostrado na Figura 4, provendo funcionalidades de transporte para os serviços do nível superior.