19 junho 2009

Wireless Application Programming with J2ME and Bluetooth, (Programação de aplicações wireless com J2ME e Bluetooh)

(Programação de aplicações wireless com J2ME e Bluetooh)

Este artigo é uma tradução, ou uma tentativa de tradução de um artigo da Sun.
Artigo original: link

Dispositivos eletrônicos conectam-se mutuamente de várias maneiras: um cabo conecta uma CPU a um display, um cabo de dados conecta um Personal Digital Assistant (PDA) ou telefone celular a um computador, ondas de rádio conectam um telefone sem fio a sua base, um infravermelho conecta um controle remoto a um televisor. A elaboração de matrizes conectoras entre dispositivos eletrônicos clama por uma solução melhor. É aí que surge o Bluetooth.

Bluetooth é uma maneira completamente diferente de formar conexões entre dispositivos eletrônicos nas proximidades. Podemos pensar nisso como uma tecnologia de substituição de cabos, mas suas aplicações são limitadas apenas pela nossa imaginação. Bluetooth faz más do que simplesmente substituir cabos. Trata-se de uma tecnologia de rádio que utiliza a banda de freqüência entre 2,4GHz e 2,485GHz não licenciada Industrial - Scientific - Medical (ISM).

Estes dois artigos irão mostrar como usar JME e Bluetooth para desenvolver uma nova geração de aplicações sem fio para o futuro mercado. Este primeiro artigo aborda os conceitos básicos do Bluetooth e o próximo concentra-se na utilização de Java APIs para Bluetooth Wireless Technology (JSR 82) para desenvolver aplicações java para dispositivos que permitam a tecnologia Bluetooth. Este artigo começa apresentando um breve panorama da tecnologia e, em seguida, explica:

  • As diferenças entre Bluetooth e duas tecnologias semelhantes, infravermelho e 802.11b
  • Funcionalidades e futuras aplicações
  • A arquitetura do Bluetooth e seu protocolo de pilha
  • Topologias de rede
  • Procedimentos para estabelecer conexõe
  • O papel dos perfis
  • Considerações de segurança
  • Produtos já no mercado

Overview sobre Bluetooth

A tecnologia de conectividade sem fio Bluetooth foi originalmente prevista em 1994 pela produtora sueca de equipamentos telefônicos como uma forma para dispositivos móveis se comunicarem uns com os outros em intervalos curtos – de até 10 metros. Em 1998 a Ericsson, IBM, Intel, Nokia, Toshiba formaram o Bluetooth Special Interest Group consórcio para desenvolver um royalty-free com especificação aberta de curto alcance e conectividade sem fios. Desde então mais de 2000 empresas aderiram ao Bluetoorh SIG, incluindo praticamente todos os fabricantes de telefone, computadores e equipamentos PDAs.

Embora o Bluetooth esteja posicionado como um substituto para o cabo, infravermelho e outras mídias de conexão, ele oferece uma variedade de outros serviços e cria oportunidade de novos modelos de uso. Por exemplo, também é uma boa tecnologia para sincronizar dispositivos. Funciona silenciosamente, inconscientemente e automaticamente em segundo plano.

Bluetooth foi o apelido do rei da Dinamarca de 940 até 981 que unia todo o povo da Dinamarca e parte da Noruega sob seu reinado. Uma estatueta de pedra foi erguida em sua capital, Jelling. Ela dizia:

Harald cristianizada os dinamarqueses Harald controlada a Dinamarca e a Noruega Harald pensa que notebooks e telefones celulares devem se comunicar sem problemas

Bluetooth vs. Infravermelho

Eletrodomésticos como TVs e VCRs se comunicam utilizando feixes de luz no espectro vermelho. Infravermelho é bastante confiável e não seu seu preço não custa muito na sua construção em dispositivos. Alguns contras:

  • Precisa de uma linha-de-visão, ou seja, o remetente tem que se alinhar com o receptor
  • É um-para-um, ou seja, um dispositivo não pode enviar dados para vários destinatários ao mesmo tempo

No infravermelho as suas vantagens são conseqüências das suas desvantagens:

  • Por ter uma linha-de-visão, interferência é incomum.
  • Por ser um-para-um, a entrega de mensagem é confiável: cada mensagem é enviada ao destinatário, não importa se muitos receptores infravermelhos estiverem na mesma sala.

Bluetooth vs 802.11b

Embora Bluetooth e 802.11b sejam protocolos de comunicação sem fio e operem na banda de 2,4GHz é importante não visualizar o Bluetooth como um substituto para o 802.11, tecnologia LAN sem fio. Eles são projetados para atingirem objetivos diferentes.

O 802.11b protocolo é projetado para conectar dispositivos relativamente grandes com muita força e velocidade, tais como computadores desktops e laptops. Estes dispositivos comunicam-se em até 11Mbit/s em distâncias próximas de 100 metros. Em contrapartida Bluetooth é projetado para conectar pequenos dispositivos como PDAs, telefones celulares e periféricos com velocidade mais lenta (1 Mbit/s) dentro de um curto espaço (10 metros) o que reduz requisitos poderosos.

Bluetooth Features

As principais características do Bluetooth são:

  • Bluetooth é sem fio e automático. Você não precisa ter um cabo par trançado, conectores e conexões e você não precisa fazer nada especial para iniciar comunicações. Dispositivos encontram-se automaticamente mutuamente e começam a se comunicar sem o input do utilizador, onde uma autenticação é exigida.
  • Bluetooth é barato. Analistas de mercado dizem que para incorporar a tecnologia Bluetooth em um PDA, celular, ou outro produto, custa cerca de U$ 20,00 hoje, e relatam que pode cair para tão pouco quanto U$ 5,00 por unidade.
  • A banda ISM que utiliza Bluetooth está regulamentada, mas não licenciada. Os governos têm convergido para um único padrão, portanto é possível utilizar os mesmos dispositivos praticamente de qualquer lugar onde você viajar, e não precisa obter antecipadamente permissão jurídica para começar a utilizar a tecnologia.
  • Bluetooth manipula tanto dados quanto voz. A sua capacidade para lidar com ambos os tipos de transmissões simultaneamente viabiliza tais inovações as a mobile hands-free headset for voice with applications that print to fax, and that synchronize the address books on your PDA, your laptop, and your cell phone.
  • Os sinais são omni-direcionais e podem passar através de paredes e briefcases. A comunicação entre os dispositivos não precisa ser alinha e não precisa ser desobstruída.
  • Bluetooth utiliza frequency hopping. Sua spread spectrum reduz muito o risco de comunicações serem interceptadas, pois com esse mecanismo a cada segundo são realizados 1600 saltos de freqüência.

Aplicações Bluetooth

A tecnologia sem fios Bluetooth pode ser utilizada para as seguintes aplicações:

  • Transferência de arquivos
  • Rede Ad-hoc: Dispositivos podem espontaneamente formar uma comunidade de redes que persiste apenas o tempo que for necessário.
  • Dispositivo de sincronização: Seamless connectivity among PDAs, computers, and mobile phones allows applications to update information on multiple devices automatically when data on any one device changes.
  • Conectar periféricos
  • Car-kits: permite utilizar telefones e outros dispositivos no carro sem tirar as mãos do volante
  • Pagamentos móveis: Seu Bluetooth-habilitado pode se comunicar com um telefone de Bluetooth-habilitado de venda da máquina para comprar uma lata de Diet Pepsi, e cobra em seu telefone.

Topologia de rede Bluetooth

Bluetooth permite dispositivos se organizarem em grupos chamados piconets. Uma piconet consiste de um dispositivo mestre e até sete escravos. Um mestre ou master e um escravo usam comunicação ponto a ponto; se existem vários escravos uma comunicação ponto a multiponto é utilizada. O master é a unidade principal que inicia a comunicação. Um dispositivo em uma piconet pode se comunicar com outro dispositivo em outra piconet conforme ilustrado na Figura 1. Observe que um mestre em uma piconet pode ser um escravo em outra piconet:

Figura 1: Scatternet compreendendo três Piconets

A duração normal de transmissão é de um slot, e um pacote pode durar até cinco slots de comprimento. In order to support full-duplex communications, Bluetooth uses a time-division multiplexing (TDM) scheme, in which a master device always uses an even-numbered slot when it transmits, and a slave uses an odd-numbered slot.

Modos operativos de baixa potência

Bluetooth define provisões para três modos de funcionamento de baixa potência, a fim de garantir a conservação da bateria:

  • Em modo sniff, um escravo escuta em um nível reduzido e não tem um papel ativo na piconet
  • Um dispositivo em modo hold não transmite dados, mas o seu relógio continua a funcionar, e um escravo permanece na sincronização com o mestre. O dispositivo não é um membro ativo da piconet, mas mantém seu endereço ativo. Requisitos de potencia diminuem como um em um dispositivo em modo sniff.
  • Modo park é como o modo hold em que o slave está sincronizado com o master, mas não faz parte do tráfego. Neste modo, porém, o escravo não manter o seu endereço membro activo. Requisitos de potência diminuem ainda mais como um dispositivo em modo hold.

A Pilha de protocolo Bluetooth

A especificação Bluetooth possui cerca de 1500 páginas e contém as informações necessárias para que os dispositivos que suportam esta tecnologia diversificada possam se comunicar uns com os outros em todo o mundo. A especificação é dividida em duas seções: Core Specification (Volume I) e Profile Definitions (Volume II).

Aqui está uma visão de alto nível da arquitetura da pilha de protocolo Bluetooth:

Figura 2: Bluetooth Protocol Stack

As responsabilidades das camadas nesta pilha são as seguintes:

  • A camada radio é a parte física da conexão sem fio. Para evitar transferências com outros dispositivos que se comunicam na banda ISM, a modulação baseia-se em frequency hopping. Bluetooth divide a freqüência de 2,4GHz em 79 canais 1MHz distantes (de 2,402 para 2,480 GHz) e usa esse spread spectrum para pular de um canal para outro em até 1600 vezes por segundo. O tamanho de onda padrão é de 10 cm a 10m e pode ser estendido a 100m aumentando seu poder de transmissão.
  • A camada de baseband é responsável por controlar e enviar os pacotes de dados sobre o link de rádio. Fornece canais de transmissão de dados e voz simultaneamente. Esta camada suporta dois tipos de link: Synchronous Connection - Oriented (SCO) e Asynchronous Connectionless (ACL). Links SCO são caracterizados pela periódica atribuição de um slot de tempo a um dispositivo e é utilizado basicamente na transmissão de voz, que requer transmissões de dados rápidas e consistentes. Um dispositivo que estabeleceu um link SCO possui, em essência, determinados slots de tempo reservados para seu uso. Seus pacotes são tratados como prioritários e serão processados antes de pacotes ACL. Já um dispositivo que opera sobre um link ACL pode enviar pacotes de tamanho variável de 1, 3 ou 5 slots de tempo. Entretanto, este tipo de link não possui reserva de slots de tempo para seus pacotes.
  • O Link Manager Protocol (LMP) utiliza os laços criados pela baseband para estabelecer conexões e gerenciar piconets. Responsabilidades do LMP também são incluir a autenticação e serviços de segurança e controle de qualidade do serviço.
  • O Host Controller Interface (HCI) é a linha divisória entre software e hardware. O L2CAP e as camadas acima dele são atualmente implementadas em software, e os LMP e camadas inferiores estão em hardware. O HCI é controlador de interface para o meio físico que liga estes dois componentes. O HCI não pode ser exigido. O L2CAP pode ser acessado diretamente através da aplicação, ou através de certos protocolos providos para aliviar a carga de trabalho dos programadores aplicação.
  • O Logical Link Control e Adaptation Protocol (L2CAP) recebe os dados da aplicação e adapta para o formato Bluetooth. Qualidade de Serviço (QoS) e parâmetros são trocados, nesta camada.

Estabelecendo uma conexão de rede

Quando um dispositivo não esta conectado em uma piconet, ele esta em modo de espera (standby mode). Neste modo o dispositivo escuta mensagens a cada 1,28 segundos sob 32 hop frequencies. Quando um dispositivo deseja estabelecer uma conexão com outro ele envia 16 páginas de mensagens idênticas sob 16 hop frequencies. Se o slave não responder, o master retransmite as páginas de mensagem sob outros 16 hop frenquencies. Se o master não sabe o endereço do escravo ele deverá preceder a página de mensagem com uma inquiry message, o que exige uma resposta extra da unidade escravo. Quando o escravo responde a página de mensagem o master pode começar a transmitir voz e dados.

Para compreender como dispositivos que possuam Bluetooth habilitado estabelecem conexões de rede, vamos supor que Sally deseja acessar seus emails a partir de seu dispositivo Bluetooth, ou seja, entrando no correio eletrônico da mesma forma que ela entraria em um hotel ou em um shopping. Depois que Sally clicar no ícone de email da aplicação, os seguintes procedimentos são realizados automaticamente:

Inquire: Em um novo ambiente, dispositivo automaticamente inicia uma procura para encontrar um ponto de acesso. Todos os pontos de acesso por perto respondem com seus respectivos endereços, assim o dispositivo poderá escolher um.

Page: Paginação é o processo onde o dispositivo se sincroniza com o ponto de acesso.

Establish a link: O Link Manager Protocol estabelece uma conexão com o ponto de acesso.

Discover services: O LMP utiliza o Service Discovery Protocol (SDP) para saber quais serviços estão disponíveis a partir do ponto de acesso. Aqui, nós assumimos que o serviço que está disponível é o email.

Create an L2CAP Channel: O LMP usa informações obtidas pelo Serviço Discovery Protocol (SDP) para criar um canal L2CAP para o ponto de acesso. O pedido pode utilizar este canal diretamente ou usar um protocolo como RFCOMM (Radio Frequency Communications Protocol) que podem ser publicados durante L2CAP. RFCOMM emula uma linha periódica.

Create an RFCOMM channel: Dependendo das necessidades da aplicação, um canal RFCOMM (ou outro canal) é criado durante o canal L2CAP. Criando um canal RFCOMM com uma aplicação existente permite que as portas seriais trabalhem com Bluetooth, assim, sem qualquer modificação.

Authenticate: Esta é a única etapa que requer interação com o usuário. Se o ponto de acesso requer uma autenticação irá enviar um pedido e o usuário será solicitado a digitar uma senha para acessar o serviço. Por motivos de segurança, o PIN em si não é enviado através da conexão sem fio, mas sim uma chave gerada a partir dele.

Log in: Se os dispositivos estiverem conectados ponto-a-ponto (PPP) sobre RFCOMM, uma porta serial é emulada, e Sally poderá efetuar seu login na sua conta de email.

Send and receive data: O cliente email e o ponto de acesso agora podem usar a rede padrão como protocolos TCP / IP para enviar e receber dados.

Bluetooth Profiles

Os perfis Bluetooth destinam-se a assegurar a interoperabilidade entre dispositivos Bluetooth ativos e aplicações de diferentes fabricantes e vendedores. Um perfil define os papéis e as capacidades de tipos específicos de aplicações. Note bem que os dispositivos Bluetooth não podem interagir a menos que estejam de acordo com um determinado perfil – ter uma pilha mínima de pacotes não é suficiente.

Todos os perfis Bluetooth são definidos no Volume II da especificação Bluetooth. Aqui estão alguns deles:

A Generic Access Profile define procedimentos de ligação, descoberta de dispositivos, e gerenciamento do link. Ele também define os procedimentos relacionados com a utilização de diferentes modelos de segurança e requisitos comuns para formar parâmetros acessíveis no nível da interface do usuário. No mínimo, todos os dispositivos Bluetooth devem suportar este perfil.

O Application Service Discovery Profile e define as características e os procedimentos para uma aplicação de um dispositivo Bluetooth para descobrir serviços registrados em outros dispositivos Bluetooth, e recupera informação relacionada com os serviços.

O Serial Port Profile define os requisitos para dispositivos Bluetooth que precisa para configurar conexões que emulam cabos seriais e usar o protocolo RFCOMM.

A LAN Access Profile define como os dispositivos Bluetooth podem acessar os serviços de uma LAN usando PPP, e mostra como mecanismos PPP podem ser usados para formar uma rede constituída por dispositivos Bluetooth.

O Synchronization Profile define os requisitos para a aplicação de dispositivos Bluetooth, que precisam sincronizar os dados em dois ou mais dispositivos.

Bluetooth Security

A segurança é fornecida em três maneiras: pseudo-random frequency hopping, authentication e encryption. Frequency hops torna difícil para qualquer um eavesdrop. A autenticação permite a um usuário limitar a conectividade com dispositivos especificados. Encryption utiliza chaves secretas para tornar inteligível os dados apenas aos dispositivos autorizados.

Todos os dispositivos Bluetooth devem implementar o Generic Access Profile, que contém todos os protocolos e possíveis dispositivos Bluetooth. Este perfil define um modelo de segurança que inclui três modos de segurança:

Mode 1 é um modo de funcionamento sem segurança. Nenhum procedimento de segurança é iniciadas.

Mode 2 é conhecido como serviço de nível de segurança aplicada. Quando dispositivos operam nesta modalidade, nenhum procedimento de segurança é iniciado antes do canal ser estabelecido. Este modo permite aplicações para ter diferentes tipos de políticasde acesso e executá-las em paralelo.

Mode 3 é conhecido como nível de conexão fortemente protegida. Neste modo, procedimentos de segurança são iniciados antes que a configuração do link esteja concluída.

Produtos Bluetooth no Mercado

Since the inception of Bluetooth technology, companies that have adopted it have been developing products for it. Bluetooth products on the market today range from PC cards available from IBM and Toshiba to a hands-free car kit. Like 802.11b wireless LAN cards, the PC cards slide into a PCMCIA slot on a laptop but, while 802.11b wireless cards connect a computer wirelessly to a LAN, Bluetooth cards connect a device to other Bluetooth-enabled devices. More than 800 qualified Bluetooth-enabled devices and accessories are available at this writing.

Conclusão

Este artigo apresentou os conceitos básicos do Bluetooth, uma tecnologia de freqüência de rádio que utiliza o Industrial - Scientific - Medical (ISM) banda entre 2,4 GHz e 2,485GHz. Você aprendeu sobre a tecnologia do lazer, incluindo as de baixo custo para incorporá-los em dispositivos eletrônicos. A pilha de protocolo Bluetooth foi apresentada e os procedimentos para o estabelecimento de uma conexão entre dispositivos Bluetooth foram descritos. Fique ligado para o segundo artigo desta série, que irá abranger as APIs Java para Bluetooth Wireless Technology.

Este artigo é uma tradução, ou uma tentativa de tradução de um artigo da Sun.
Artigo original: link


Nenhum comentário:

Postar um comentário

Um dos melhores sites de estratégia para jogadores de poker. Além de vários artigos e vídeos   você ainda recebe até $150 para começar a jogar. Quer saber como? Clique no banner.