Usando Bluetooth com JAVA – SE/ME (Parte 1)

Publicado: 19/09/2010 em Bluetooth, Java, Programação, Tecnologia

Bluetooth é uma tecnologia sem fio muito usada para conectar dispositivos a curta distância, que ganhou bastante espaço nos últimos anos por estar disponível na maioria dos celulares e notebooks mais recentes.

A linguagem de programação Java, atualmente, também aparece como uma das principais plataformas para o desenvolvimento de aplicações em vários dispositivos, devido as diversas vantagens que a mesma possui.

Java possui uma especificação para uso de Bluetooth, definida pela JSR 82, criada – e finalizada sua segunda versão em 2006, mas esta, por conseguinte, possui um difícil aprendizado. Sendo assim, esta sequencia de posts apresentam  apresentam a estrutura conceitual da tecnologia bluetooth e sua implementação em  java utilizando o Marge Framework com o intuito de facilitar o desenvolvimento de aplicações.

Para permitir a integração entre as tecnologias Bluetooth e Java foi criada – e finalizada sua segunda versão em 2006 – a Java APIs for Bluetooth, conhecida por JSR 82. A JSR 82 atualmente está disponível em diversos dispositivos e define a especificação para comunicação Bluetooth em diversos níveis. Com toda essa facilidade de suporte por parte da linguagem, e com a grande adoção do Bluetooth pelos fabricantes, se faz possível, assim, a criação de diversas aplicações interessantes e/ou de dispositivos que utilizam essa tecnologia para cenários distintos, tais como em casa, no trabalho, no lazer ou qualquer outro ambiente que requeira mobilidade.

Diferentes dispositivos Bluetooth podem oferecer diferentes serviços. Um dispositivo Bluetooth, após ter encontrado um outro dispositivo remoto, poderá fazer uma pesquisa pelo serviços disponíveis nesse dispositivo remoto ou apenas por algum serviço específico. O serviço de pesquisa de dispositivos utiliza o protocolo SDP (Service Discovery Protocol).

Em um contexto SDP, um cliente envia requisições a um servidor que, por sua vez, envia as informações de serviços disponíveis nele. Dispositivos Bluetooth mantém informações sobre seus serviços em um Service Discovery DataBase (SDDB). Um SDDB contém entradas de registros de serviços onde cada um desses registros contém atributos que o descrevem.

Em nossos artigos apresentaremos as implementações de conexão via bluetooth entre um celular e o pc, para isso faremos uma breve introdução das tecnologias Java SE e Java ME.

O Java SE está dividido em três partes:
• Componentes do núcleo ou core: Provê funcionalidades essenciais para escrita de programas, para acesso a banco de dados, segurança, invocações de procedimentos remotos e comunicação.
• Componentes do cliente ou desktop: Provê facilidades para ajudar na construção de aplicações para os usuários. Isso inclui componentes de desenvolvimento como os Java Plug-in, APIs de modelos de componentes como os JavaBeans, interfaces gráficas para os usuários, etc.

Java ME é destinado aos dispositivos com recursos limitados. Esse dispositivos englobam os celulares, PDAs, set-top boxes – conversores usados em televisão digital – e outros aparelhos com essas características. Antes da introdução do Java ME, a maioria destes dipositivos eletrônicos possuía uma natureza estática, por não permitir a instalação de novos softwares, além daqueles que foram inseridos no processo de fabricação. Porém, atualmente, é possível torná-los muito mais dinâmicos.

Apesar dessas grandes vantagens, a tecnologia Java ME ainda possui certas restrições que estão aos poucos sendo sanadas, pois embora fosse desejável ter toda a API Java SE nos dispositivos micro, isso não é nada realístico hoje.

Por exemplo, um celular, com sua tela limitada, não poderia usar todas as APIs de interface gráfica disponíveis na versão do Java para desktop, tão quanto suportar as APIs relativas ao desenvolvimento em Java para servidores, que também envolvem questões muito mais complexas.

Para resolver esse problema e dar uma maior flexibilidade ao Java ME, foram criados os conceitos de configurações, perfis e pacotes adicionais, conforme ilustrado na figura:

Atualmente, o Java ME divide as configurações em dois tipos, ilustrados abaixo configurações mais limitadas, chamadas de CLDC (Connected Limited Device
Configuration), e configurações com mais recursos, a CDC (Connected Device Configuration). A CLDC é um subconjunto da CDC, como mostra a figura:

No próximo post mostrarei a implementação de um programa de comunicação via Bluetooth entre 2 celulares e entre pc e celular.

Dúvidas, críticas e opiniões, deixem nos comentários.

Obrigado!

Anúncios
comentários
  1. Lene disse:

    Muito bom o post! Aguardo pela parte II
    ;*

  2. Daniel Pereira disse:

    Viva,
    Estou a começar a programar em Java.
    Estou a realizar uma desktop aplicação que comunique via Bluetooth com o estetoscópio digital 3200 da 3M Littmann. Preciso de fazer um botão que faça o download do ficheiro gravado pelo estetoscópio.
    Estive a ler o teu artigo e pareceu-me que poderias ajudar-me.
    Já realizei a aplicação toda, falta-me escrever o código relativo ao Bluetooth. Mas estou com um problema relativamente a API Javax.comm que já não existe para Windows. Daí estar bloqueado na parte do código relativo ao Bluetooth. Será que me podes dar umas dicas?
    Estou a realizar a aplicação em Netbeans e com o Java SE.
    Obrigado pela ajuda.
    Abraço.

  3. Achiclet disse:

    Bom post..

    Estou ansioso para a saída do segundo post

    Continuação de bom trabalho

  4. carla disse:

    oi sou aluna de informatica e meu professor do ano passadonão me ensinou nada em java,esse anopreciso fazer uma redesocial entre selulares utilizando java via bluetooth me ajude estou desesperada obg

  5. Alex disse:

    Excelente artigo. Parabéns!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s