Sie sind auf Seite 1von 30

PONTIFCIA UNIVERSIDADE CATLICA DO PARAN CENTRO DE CINCIAS EXATAS E DE TECNOLOGIA ENGENHARIA ELTRICA - TELECOMUNICAES

DISPOSITIVO DE COMUNICAO CAPAZ DE INTERAGIR COM APLICATIVO CELULAR VIA TECNOLOGIA BLUETOOTH

CURITIBA
JULHO / 2008

ALISON LUIS LANDO JEAN PIERRE JARRIER CONTI PAULO ROBERTO WALENGA JUNIOR

DISPOSITIVO DE COMUNICAO CAPAZ DE INTERAGIR COM APLICATIVO CELULAR VIA TECNOLOGIA BLUETOOTH
Projeto Fsico apresentado disciplina de Projeto Final, referente ao 4 Bimestre, do curso Exatas de e de Engenharia Tecnologia do Eltrica da Telecomunicaes do Centro de Cincias Pontifcia sob a Universidade orientao do: Catlica Paran

Prof. Thomaz M. Navarro Verastegui

Assinatura do Orientador

CURITIBA Julho/ 2008

SUMRIO
1 2 3 INTRODUO ................................................................................................................. 6 TECNOLOGIA BLUETOOTH ........................................................................................... 8 DETALHAMENTO DO PROJETO.................................................................................. 10 3.1 3.2 Mdulo Celular ........................................................................................................ 11 Mdulo UCB (Unidade de Controle Bluetooth) ....................................................... 15 Mdulo Bluetooth - GS-BT2416C1.AT1........................................................... 15 Kit Bluetooth de desenvolvimento - GS-BT2416C1DB.AT1 ............................ 16 Microcontrolador e estrutura do Hardware....................................................... 18 Estrutura do Software para o microcontrolador ............................................... 20

3.2.1 3.2.2 3.2.3 3.2.4 3.3 4 4.1 4.2 5 6 7

Protocolo ................................................................................................................. 21 Hardware da Aplicao ........................................................................................... 25 Software da aplicao ............................................................................................. 26

Aplicao Desenvolvida ................................................................................................. 24

TESTES E RESULTADOS............................................................................................. 28 CONCLUSO E DISCUSSO ....................................................................................... 29 REFERNCIAS BIBLIOGRFICAS ............................................................................... 30

NDICE DE FIGURAS

Figura 1 - Um computador sem fios usando Bluetooth. ........................................................ 8 Figura 2 - Diagrama em blocos do Projeto. ........................................................................... 10 Figura 3 - Diagrama em blocos do mdulo celular. ............................................................... 11 Figura 4 - Diagrama de camadas dos protocolos MIDP e CLDC. ......................................... 12 Figura 5 - Interface para as classes WindowObject e LEDObject......................................... 14 Figura 6 - Fluxo de execuo do aplicativo no celular........................................................... 14 Figura 7 - Mdulo GS-BT2416C1.AT1. ................................................................................. 16 Figura 8 - Kit Bluetooth, GS-BT2416C1DB.AT1.................................................................... 17 Figura 9 - Kit de desenvolvimento para PIC. ......................................................................... 19 Figura 10 - Interligao entre o Kit com o controlador PIC e o Kit/Mdulo Bluetooth. .......... 19 Figura 11 - Placa desenvolvida para utilizao do Mdulo Bluetooth. .................................. 20 Figura 12 - Diagrama de software do controlador. ................................................................ 21 Figura 13 - Protocolo de comandos....................................................................................... 22 Figura 14 - Maquete, exemplo de aplicao.......................................................................... 24 Figura 15 - Diagrama de funcionamento da Aplicao.......................................................... 25 Figura 16 - Diagrama de estados do Software. ..................................................................... 27

RESUMO
O crescimento da telefonia mvel no mundo vem superando as expectativas ano aps ano. Em virtude desse crescimento, os aparelhos celulares apresentam cada vez mais novidades tecnolgicas incorporadas. Uma tecnologia ainda pouco explorada a tecnologia Bluetooth. O Bluetooth uma tecnologia de custo relativamente baixo que proporciona a comunicao sem fio entre dispositivos eletrnicos a pequenas distncias. Esse projeto tem como objetivo apresentar o desenvolvimento de um hardware de menor porte e menor custo capaz de se comunicar com um aplicativo no aparelho celular via Bluetooth, sendo ambos para controle ou aquisio de dados. O projeto foi dividido em dois mdulos principais, mdulo celular e mdulo UCB (Unidade de Controle Bluetooth). Na camada de aplicao do mdulo celular, foi desenvolvido um aplicativo em linguagem Java. O mdulo UCB foi dividido em duas camadas, a camada de comunicao, onde foi feita a interface com a tecnologia Bluetooth e o tratamento das mensagens e a camada de aplicao responsvel por interpretar as mensagens. No incio, o projeto foi desenvolvido utilizando um kit de desenvolvimento que integra um mdulo capaz de se comunicar via Bluetooth com sada serial e USB. Posteriormente ao funcionamento do sistema utilizando o kit, o dispositivo foi embarcado em uma aplicao onde foi utilizado apenas o mdulo. Para validar o funcionamento do dispositivo foi desenvolvida uma aplicao baseada em automao residencial sob uma maquete simulando uma pequena residncia. Foi elaborado um aplicativo capaz de controlar a abertura e fechamento de uma janela e variar a luminosidade dos LEDs presentes dentro e fora da maquete. O sistema resultante atendeu os objetivos iniciais do projeto. Visto que era parte do objetivo alm de desenvolver um dispositivo capaz de trocar informaes via tecnologia Bluetooth, tambm obter domnio das tecnologias e linguagens envolvidas no processo, pode-se afirmar que o projeto atendeu os objetivos propostos.

INTRODUO
No contexto de avano tecnolgico da telefonia mvel, uma tecnologia ainda pouco

explorada a Bluetooth. O Bluetooth uma tecnologia de custo relativamente baixo que proporciona a comunicao sem fio entre dispositivos eletrnicos a pequenas distncias (tipicamente 10 metros). Essa tecnologia tem se tornado, ao longo dos anos, sinnimo de transferncia de pequenos arquivos, imagens e msicas. Com o Bluetooth, o usurio pode detectar e conectar o seu aparelho de forma rpida a outros dispositivos que tenham a mesma tecnologia. A tecnologia Bluetooth tambm utilizada para interconectar aplicativos no computador e no celular. Diversos aplicativos podem ser encontrados na rede para simples aplicaes utilizando o binrio celular-computador, como por exemplo, o controle do mouse via aplicativo em celular. Todavia, seu uso fica restrito aos binrios celular-computador e celular-celular. Dentro do contexto proposto nos pargrafos acima, possvel observar que a tecnologia Bluetooth ainda tem muito a ser explorada e ainda uma tecnologia de mercado, pois a maior parte dos aparelhos atualmente no mercado conta com essa funo. O que se apresenta necessrio tornar viveis aplicaes de baixo custo usando Bluetooth. A interao celular-computador no facilita muitas aplicaes, visto que h necessidade do transporte do computador. Um dispositivo capaz de interagir com o aparelho mvel podendo tomar aes de controle a partir do aparelho ou entregar informaes de status para o mesmo torna vivel uma infinidade de aplicaes em diversas reas. Dessa forma, esse projeto visa o desenvolvimento de um hardware de menor porte e menor custo capaz de se comunicar com um aplicativo no aparelho celular via Bluetooth, sendo ambos para controle ou aquisio de dados. Esse dispositivo facilitaria vrias aplicaes que na maior parte das vezes dependem de dispositivos robustos e ainda se tornaria atrativo vista a idia de convergncia de controle proposta acima onde, atravs do prprio aparelho, o usurio poderia controlar diversos dispositivos prximos. Uma das aplicaes possveis para esse projeto em sistemas de controle para domtica. possvel observar uma grande expanso e tendncia de mercado criar e desenvolver novos dispositivos para controlar residncias. O controle de iluminao de ambientes e abrir e fechar portas j se tornou clssico, porm o custo elevado do mesmo ainda torna invivel popularizar seu uso. Normalmente o usurio domstico utiliza um controle para abrir e fechar o porto eletrnico, outro para acionar a iluminao da residncia, outro para o ar-condicionado e isso causa um desconforto. Nesse sentido, essa

aplicao poderia concentrar os controles residenciais todos no prprio aparelho celular. Todavia o interesse vai mais alm onde, alm de realizar um controle com baixo custo, ainda possvel monitorar consumo de dispositivos especficos criando um perfil de consumidor, pois o acesso a informaes de consumo de gua, luz e demais despesas do interesse do cliente e tambm das empresas de abastecimento. Outra possvel rea de aplicao a rea biomdica. Diversos dispositivos como data loggers so desenvolvidos para monitorar a presso arterial, batimentos cardacos ou outras variveis biomecnicas como, por exemplo, a marcha humana. Para realizar essas tarefas, dispositivos com vrios fios e uma unidade central so dispostos na pessoa acarretando um desconforto ao ter que se locomover com esses dispositivos. Nesse conceito o hardware a ser desenvolvido poderia substituir alguns desses elementos, ao passo de a pessoa ter a necessidade de apenas ter um aparelho celular no bolso. Seguindo as possibilidades apresentadas, a aplicao adotada est na rea de domtica e foi o foco central para o desenvolvimento do projeto. O projeto consistiu em acionar um conjunto de LEDs e atuar abrindo e fechando uma janela, usando para isso uma pequena maquete. Isso foi feito atravs de comandos inseridos, apresentados em forma de menu de opes, no aplicativo do aparelho celular, que comunica com o hardware via interface Bluetooth. A descrio que segue, apresentar o detalhamento do projeto com uma abordagem geral de todo o sistema e dos mdulos envolvidos.

TECNOLOGIA BLUETOOTH
Para o desenvolvimento do projeto, foi utilizada a tecnologia Bluetooth, presente em

grande parte dos aparelhos celulares atualmente no mercado. Segundo (MILLER e BISDIKIAN, 2001, p. 3), o termo Bluetooth se refere a uma especificao aberta para uma tecnologia que permita comunicao sem fio de voz e dados de curto alcance em qualquer lugar do mundo. Bluetooth opera na faixa de freqncia de 2,4GHz (ou seja, na banda livre para qualquer tipo de transmisso) e est sujeito a interferncia de vrios outros tipos de dispositivos. Justamente por isso o padro especifica uma comunicao de curto alcance, com baixo consumo de energia e menor susceptibilidade ao rudo e interferncia. Funciona atravs de saltos em freqncia, coordenados pelo master da piconet (micro rede formada por dispositivos Bluetooth conectados, Figura 1). Cada piconet possui um master e um ou mais slaves. O master quem gerencia a comunicao de sua piconet, determinando a seqncia dos saltos em freqncia de cada membro, o instante de tempo em que devem ocorrer, e qual o dispositivo que tem a vez para transmitir (uma vez que o meio comum a todos). O master de uma piconet pode gerenciar at 255 slaves, com a condio de que no mximo 7 destes estejam no modo ativo, devendo todos os outros estar no modo de economia de energia (modo park).

Figura 1 - Um computador sem fios usando Bluetooth.

O endereo ou identificador de um dispositivo Bluetooth possui 48-bits (6 bytes), similar ao endereo MAC das placas de redes dos computadores. Ele expresso na forma de 12 caracteres hexadecimais, com a indicao 0x (representao de hexadecimal)

preposta a ele. Por exemplo, o endereo 0x0A2F5CD6B3E9. Este identificador est gravado eletronicamente em cada dispositivo, sendo exclusivo daquele dispositivo. Para estabelecer a comunicao entre 2 dispositivos Bluetooth (A e B), h uma seqncia de passos. O dispositivo A executa a operao de inquiry, realizando uma busca de dispositivos Bluetooth no raio de alcance. O dispositivo B, que est na vizinhana de A, pode ou no estar no modo visvel. Caso esteja, ele ser detectado pelo dispositivo A, que tentar iniciar a comunicao. O dispositivo B requisita ento o cdigo de acesso (um cdigo de 9 bytes) que, se informado corretamente pelo dispositivo A, permite a conexo entre eles. Assim, os dois dispositivos passam para o estado conectado, negociando a seqncia dos saltos em freqncia. Alm dessa seqncia de saltos em freqncia, h ainda o uso de vrios canais (conjunto de portadoras), um para cada servio disponibilizado ou acessado na piconet. Essa especificao prevista para vrios tipos de servio cria a necessidade de outro tipo de interao alm de master-slave: a interao server-client. Um dispositivo (server) que implemente um determinado servio deve registr-lo na piconet para que este possa ser acessado pelos (clients). Como exemplo de servio, temos a transferncia de objetos (arquivos) entre dois dispositivos. O server possui arquivos que interessam ao client e habilita o perfil OBEX (object exchange profile), registra esse servio na piconet e, em seguida, os clients podem acess-lo a qualquer momento. A nvel especfico deste projeto, apenas dois dispositivos bluetooth foram utilizados; o dispositivo interno ao aparelho celular e o dispositivo do mdulo UCB. Ambos podero alternar os papis (roles) de master e slave e as funes de client e server, sendo at mesmo clients e servers em vrios servios simultaneamente. O uso da tecnologia Bluetooth se justifica no projeto por ser a interface de comunicao presente atualmente nos aparelhos celulares e por apresentar um baixo consumo de energia (que se adequa s necessidades da bateria dos aparelhos). O mdulo Bluetooth presente nos celulares pode ser acessado pela API de comunicao Bluetooth implementada pelas funes da linguagem Java desenvolvidas para a plataforma J2ME (Java 2 Micro Edition especialmente desenvolvida para dispositivos com pouca capacidade de processamento e memria), fato pelo qual esta foi a linguagem de programao utilizada.

DETALHAMENTO DO PROJETO
O projeto foi dividido em dois mdulos principais, mdulo celular e mdulo UCB

(Unidade de Controle Bluetooth). O diagrama em bloco, apresentado na Figura 2, mostra uma viso geral do projeto. Cada mdulo foi dividido em duas camadas, uma de aplicao e outra de comunicao. A camada de aplicao ficou responsvel por acessar a camada de comunicao para a transmisso dos dados e por controlar um ou mais hardwares conforme a aplicao necessite.

Figura 2 - Diagrama em blocos do Projeto.

Na camada de aplicao do mdulo celular, foi desenvolvido um aplicativo em linguagem Java. Este aplicativo faz interface com o usurio e a ligao com a camada de comunicao. Na camada de comunicao do mdulo celular foi utilizada a prpria interface do aparelho celular, ou seja, o recurso Bluetooth presente na prpria placa do aparelho celular. A camada de comunicao foi responsvel por acessar o hardware Bluetooth utilizando API Java prpria para aplicaes em celulares que possibilitam o acessar do hardware Bluetooth do aparelho. Assim como o mdulo celular, o mdulo UCB foi dividido em duas camadas, a camada de comunicao, onde foi realizada a interface com a tecnologia Bluetooth e o recebimento das mensagens, e a camada de aplicao que foi responsvel por interpretar as mensagens e executar o comando desejado atravs de um micro controlador.

10

Na camada de comunicao do mdulo UCB, foi utilizado um kit de desenvolvimento, o GS-BT2416C1DB.AT1 fabricado pela STMicroelectronics. O kit possui interface Bluetooth e pode ser acessado via comandos AT por uma interface serial. Na camada de aplicao do mdulo UCB, foi utilizado um microcontrolador PIC16F887A fabricado pela Microchip, que acessou o kit pela interface serial, e com os comandos AT ativou a interface Bluetooth do prprio kit, possibilitando a transmisso de dados. Nos pargrafos abaixo ser detalhada a caracterstica de desenvolvimento de cada componente do sistema.

3.1 Mdulo Celular O mdulo celular, apresentado no diagrama da Figura 3, responsvel pela interface entre o usurio e o canal de acesso Bluetooth. Atravs de um aplicativo o usurio poder interagir com o hardware e sua aplicao.

Figura 3 - Diagrama em blocos do mdulo celular.

Para o desenvolvimento do aplicativo foi utilizada a plataforma Java J2ME (J2ME a plataforma Java direcionada a pequenos dispositivos) em conjunto com a ferramenta Netbeans. O Netbeans um ambiente de desenvolvimento integrado (IDE) gratuito e de cdigo aberto para desenvolvedores de software. O Netbeans contm uma plataforma exclusiva para aplicaes em dispositivos mveis o que facilita a construo de alguns recursos. A verso utilizada da ferramenta NetBeans foi a 6.0.1 (Build 200801291616) em conjunto com o Java 1.6.0_02; Java HotSpot(TM) Client VM 1.6.0_02-b06 rodando em sistema operacional Windows XP. Atualmente existem inmeros tipos de dispositivos que rodam J2ME, os principais so celulares e PDA (Assistente Pessoal Digital, pequeno dispositivo dotado de grande capacidade computacional). O J2ME tem como alvo dois grupos de produtos distintos:

11

Um deles referente a dispositivos pessoais, mveis e conectados informao, telefones celulares e PDAs so os melhores exemplos. Outros so os dispositivos compartilhados, fixo e conectados informao, exemplos tpicos so: TVs, telefones com Internet e sistema de navegao de carros. Embora todos esses dispositivos tenham muitas coisas em comum, eles tambm

diferem na forma, funo e caractersticas. Para isso, existe o conceito de configurao. A especificao de uma configurao mnima em termos de hardware e bibliotecas padro para o dispositivo, que a Connected, Limited Device Configuration (CLDC), prevista para a primeira categoria de produtos, e a Connected Device Configuration (CDC), para a segunda categoria de dispositivos. Como possvel observar na Figura 4, existe uma camada chamada MIDP acima do CLDC. O MIDP est presente na maior parte dos novos celulares. Dispositivos MIDP alcanam nveis de desempenho e de conectividade melhores que os antigos e dessa forma facilitam aplicaes que necessitem interface com o usurio. O MIDP a definio de uma arquitetura e APIs (Interface de Programao de Aplicativos - conjunto de rotinas e padres estabelecidos por um software para utilizao de suas funcionalidades por programas aplicativos) associadas, necessrias para prover um ambiente de desenvolvimento aberto para MIDs (mobile information devices). O MIDP foi feito para rodar em cima do CLDC.

Figura 4 - Diagrama de camadas dos protocolos MIDP e CLDC.

A aplicao foi desenvolvida para dispositivos que suportem linguagem JAVA, o perfil MIDP 2.0, bibliotecas CLDC 1.1, JSR-82 e que tenham disponvel tecnologia Bluetooth incorporada. Todos os aparelhos que dispem de tecnologia Bluetooth integrada j apresentam disponvel suporte a JAVA e as bibliotecas necessrias para a execuo do aplicativo. Para o desenvolvimento do projeto foi utilizado um celular do fabricante Nokia, modelo 6265 Black. Para transferir o aplicativo desenvolvido para o celular foi utilizado o

12

software Nokia PC Sute fornecido pelo prprio fabricante. Os arquivos referentes ao aplicativo foram enviados ao celular via cabo com conexo USB. Cada aparelho tem sua forma de conexo para troca de arquivos com um computador pessoal. Na maior parte das vezes o fabricante disponibiliza algum software e conexo fsica para integrar os elementos e tornar possvel transferncia. Outros meios de comunicao podem ser usados para a transferncia do arquivo. Para o celular so transferidos dois arquivos, um com extenso .jar e outro .jad. Em alguns aparelhos apenas a ao de rodar um desses dois arquivos j executa. Mas na maioria existe a necessidade de instalar o aplicativo no celular primeiro e depois rod-lo. Para o desenvolvimento da aplicao foi necessrio desenvolver classes Java especficas para a soluo em questo. A metodologia definida foi criar uma classe responsvel pela comunicao Bluetooth e criar outras classes referentes a cada objeto relacionado. Dessa forma, foi criada uma classe chamada COMMLayer responsvel pelo tratamento da conexo Bluetooth. Uma classe LEDObject e outra WindowObject so responsveis pelos objetos a serem controlados nesse sistema. Na Classe COMMLayer foram implementados os mtodos: connect, disconnect, send e receive. O mtodo connect realiza a conexo entre o celular e o hardware Bluetooth. Uma propriedade j inserida no mtodo faz com que seja capaz de buscar exclusivamente o hardware do sistema excluindo outros dispositivos Bluetooth prximos. O mtodo disconnect permite desconectar a conexo feita pelo mtodo connect. Aps chamar o mtodo connect o dispositivo cria uma conexo serial no canal Bluetooth e permite, usando os mtodos send e receive, enviar e receber dados. As demais classes, LEDObject e WindowObject, implementam mtodos semelhantes, referentes a solicitao de status e alterao de status. No caso do LED, o status a intensidade de luminosidade em que o mesmo se encontra. Em se tratando da classe WindowObject, o status seria se a mesma se encontra aberta ou fechada, tarefa realizada pelo mtodo GetStatus. A Figura 5 mostra as interfaces referentes s classes WindowObject e LEDObject chamando seus respectivos mtodos.

13

Figura 5 - Interface para a classe WindowObject e LEDObject.

A classe principal do programa foi chamada de HomeControl. Atravs do Netbeans possvel construir uma interface interativa com o usurio usando recurso de paletas de construo de interface como: formulrio, caixa de texto, tela de splash, tela de imagens, dentre outras. Dessa forma, esse recurso foi utilizado onde, a partir da classe principal, as demais classes eram chamadas construindo o fluxo de execuo do software. O fluxo final do software pode ser observado na Figura 6.

Figura 6 - Fluxo de execuo do aplicativo no celular.

14

Atravs do recurso da construo em fluxo foi possvel desenvolver a seqncia de execuo do aplicativo. O item (1) na Figura 6 um recurso para a apresentao de imagens. Para utilizar esse recurso foram desenvolvidas imagens de abertura do software, assim como, execuo de erro dentre outras que sero apresentadas mais frente. Aps uma breve tela de abertura proposto ao usurio, atravs do item (2), escolher conectar ou sair do aplicativo. A opo conectar inicia uma conexo Bluetooth e conecta o celular com o kit. Caso o comando de conectar seja pressionado o aplicativo chama o item (3) que se refere a uma tela de espera, onde apresentada uma janela com o status aguardando conexo. Caso a conexo seja realizada uma tela de sucesso ativada; caso contrrio, um alerta de erro apresentado e o software solicita a conexo novamente. O item (4) o menu de escolha de ambientes. Para essa aplicao foram inseridos os seguintes ambientes: Sala, Quarto e Externa. O item Quarto foi colocado apenas para contextualizar um cenrio em um ambiente maior. Os itens utilizados foram: sala, onde temos o controle da intensidade de iluminao e controle de abre / fecha janela, e o item externo, onde possvel controlar a intensidade da iluminao externa.

3.2 Mdulo UCB (Unidade de controle bluetooth) Segundo o que determinava o projeto, a comunicao entre o dispositivo de controle e o celular foi realizada atravs da tecnologia Bluetooth. Como esta tecnologia j est presente no hardware do aparelho celular, para que a integrao com o mdulo UCB pudesse ser realizada, foram utilizados o kit Bluetooth de desenvolvimento GSBT2416C1DB.AT1 e o mdulo Bluetooth GS-BT2416C1.AT1, ambos da ST Microeletronics (www.st.com). 3.2.1 Mdulo Bluetooth - GS-BT2416C1.AT1 Este mdulo, apresentado na Figura 7, conta com um controlador de ncleo ARM7TDMI (www.arm.com) e circuito de rdio para tecnologia Bluetooth Classe 1. Possui interfaces para comunicao UART (Universal Asynchronous Receiver/Transmitter), USB 1.1 (Universal Serial Bus), SPI (Serial Peripheral Interface), PCM (Pulse Code Modulation), I2C (Inter-Integrated Circuit) e 11 pinos de entrada de sada para propsitos gerais. Atinge taxa de transmisso de dados de at 721kbps e possui suporte integrado em software para comandos AT. A principio no permitida a alterao do software deste controlador ou a

15

criao de um especifico para um projeto, uma vez que o fabricante no disponibiliza as ferramentas necessrias para criao e gravao do novo software para aquisio de mdulos em escala reduzida.

Figura 7 - Mdulo GS-BT2416C1.AT1.

Como o GS-BT2416C1.AT1 um mdulo genrico para a utilizao da tecnologia Bluetooth, a forma de utiliz-lo foi inseri-lo em um circuito que atendesse s necessidades especificas do projeto, tornando possvel, desta maneira, aproveitar apenas as caractersticas desejadas das que o mdulo disponibiliza, como por exemplo, a interface serial, deixando todas as outras facilidades desabilitadas. As configuraes dos servios da tecnologia Bluetooth do mdulo so feitas atravs de comandos AT via interface serial. Estas configuraes dependem exclusivamente da verso do software inserido no controlador, ou seja, a verso para este mdulo no suporta transferncia de arquivos e sim somente comunicao serial. As facilidades permitidas pela prpria seqncia de comandos AT dependem da verso do software presente no mdulo, ou seja, somente a verso 1.2.1.8 possibilita a criao de macros para que as configuraes permaneam gravadas no controlador, e a cada reinicio do sistema os comandos sejam configurados sem o envio pela comunicao serial. J a verso 1.2.1.2 no possibilita a criao de macros, sendo assim necessrio que, a cada reincio do sistema, todo o processo de configurao inicial deva ser repetido e enviado via interface serial. 3.2.2 Kit Bluetooth de desenvolvimento - GS-BT2416C1DB.AT1 Esse kit, GS-BT2416C1DB.AT1, apresentado na Figura 8, conta com o mdulo Bluetooth GS-BT2416C1.AT1 e suas interfaces preparadas para utilizao. Como o prprio nome diz uma placa demo desenvolvida para ser utilizada em aplicaes genricas a fim de disponibilizar as principais funcionalidades do mdulo. Possui o circuito para a antena em

16

microstrip, sada para comunicao USB e Serial, Pinos de Entrada e Sada, boto para reset. H ainda uma chave manual, H, que comuta entre os modos Comando e Dados. O modo Comando utilizado quando se deseja configurar o rdio Bluetooth, via comandos AT, e permite que seja criada uma macro de auto-configurao que executada a cada vez que o kit reiniciado. Como a comunicao sempre iniciada pelo aparelho celular, este ocupa o papel de cliente de um servio Bluetooth. Assim, o kit deve exercer a funo de servidor do servio de porta serial sendo, portanto configurado via porta serial (baud rate: 9600bps, sem paridade, 1 stop bit, sem controle de fluxo) atravs da seguinte macro de comandos AT:
AT+BTMACROSTART // inicia a gravao da macro AT+BTCMODE=1 // habilita o modo de conexo AT+BTPMODE=1 // habilita o modo de pareamento AT+BTDMODE=0 // desabilita o modo de descoberta AT+BTSECMODE=0 // modo de segurana desabilitado AT+BTENCMODE=0 // modo de criptografia desabilitado (idem ao anterior) AT+BTPINCODE="0000" // cdigo PIN = "0000" AT+BTNAME="SPP Server" // nome dado ao dispositivo AT+BTCLASS=050506 // classe do dispositivo AT+BTREGPORT="SPP port" // nome do servio oferecido pelo dispositivo (SPP - serial port profile, com nome escolhido de "SPP port") AT+BTMACROSTOP // finaliza a macro

Figura 8 - Kit Bluetooth, GS-BT2416C1DB.AT1.

Uma vez feita essa configurao, pode-se deixar permanentemente a chave no modo Dados. Assim, o modo Comando apenas foi utilizado para a gravao dessa macro, desde a qual o modo Dados foi ativado e assim permanece. O modo Dados serve para fazer

17

a transmisso/recepo de dados, emulando uma porta serial entre o micro controlador e o aparelho celular. Essa porta serial definida pelo SPP (serial port profile perfil de porta serial), presente desde a primeira verso da especificao Bluetooth. Para que essa porta seja aberta basta que se crie uma conexo com uma URL do seguinte formato: btspp://AABBCCDDEEFF, onde btspp indica que se est utilizando o perfil spp do protocolo Bluetooth e AABBCCDDEEFF so os 6 bytes que caracterizam o identificador de um dispositivo Bluetooth (semelhante ao endereo MAC das placas de rede de computadores). Desse modo, o perfil ssp o responsvel pela camada de enlace e, por conseguinte, da correo de eventuais erros no percurso entre transmisso e recepo. Com a garantia de que os dados so transmitidos transparentemente sem erros, pode-se admitir que toda a informao que parte do aparelho celular recebida intacta pelo micro controlador, assim como a informao que parte deste para aquele. 3.2.3 Microcontrolador e estrutura do Hardware O micro controlador utilizado para o desenvolvimento do projeto foi o PIC16F877A fabricado pela Microchip (www.microchip.com). As principais caractersticas que este controlador possui so: uma interface Serial, duas sadas de PWM (pulse width modulation modulao por largura de pulso), trs portas de entrada e sada de 8 bits, trs temporizadores, sendo um de 16bits e dois de 8 bits, freqncia de clock de at 20 MHz e alimentao de 5V. A programao pode ser feita em linguagem C ou assembly na prpria IDE da fabricante, o MPLAB. Este permite que seja inserido um plug-in CCS (www.ccsinfo.com) possibilitando a programao em linguagem C. O gravador do firmware (software embarcado), gerado pelo compilador, fabricado pela prpria CCS, o ICD-U40 possui uma interface muito pratica para gravao e verificao dos estados do controlador. A placa com o micro controlador utilizado, PIC16F877A, apresentada na Figura 9 foi elaborada nos laboratrios de Engenharia Eltrica da Pontifcia Universidade Catlica do Paran (www.pucpr.br). J possui as interfaces preparadas para serem utilizadas, como: pinos de entrada e sada, porta serial, cristal de 4MHz, entrada para programao e alimentao.

18

Figura 9 - Kit de desenvolvimento para PIC.

Como ambos foram adquiridos, o kit (GS-BT2416C1DB.AT1) e o mdulo (GSBT2416C1.AT1), tornou-se possvel a utilizao dos dois dispositivos. O kit foi utilizado para trabalhar a criao do software e hardware da aplicao at que a placa do mdulo fosse desenvolvida e testada. Com a utilizao do kit a ligao com a placa do controlador ficou apenas via cabo serial, conforme apresentado na Figura 10. E toda a configurao via comandos AT foi realizada somente uma vez utilizando macros, j que a verso do software deste kit aceita esta facilidade. Com isso, a chave que comuta entre Dados e Comando permanece sempre na opo Dados, possibilitando que o celular inicie a conexo e transmita as informaes.

Figura 10 - Interligao entre o Kit com o controlador PIC e o Kit/Mdulo Bluetooth.

J para a utilizao do mdulo, BT2416C1.AT1, foi desenvolvida uma placa, apresentada na Figura 11, cujo circuito atende s necessidades do projeto e possibilita a utilizao com outros dispositivos de forma semelhante ao kit, mas possibilitando a insero

19

em uma placa com controladores diferentes. Neste caso a placa com o mdulo foi ligada via interface serial com a placa do controlador PIC de forma semelhante ao esquema apresentado na Figura 10.

Figura 11 - Placa desenvolvida para utilizao do Mdulo Bluetooth.

O desenvolvimento da placa para utilizao do mdulo foi feito seguindo um esquemtico disponvel no datasheet do kit Bluetooth, mas com alteraes necessrias para a utilizao no projeto, como conectores das interfaces de entrada e sada, USB e circuito da antena. A antena utilizada foi uma antena chip RUFA de 2,4GHz SMD e impedncia de 50 fabricada pela Antenova (www.antenova.com). 3.2.4 Estrutura do Software para o microcontrolador O software desenvolvido para o microcontrolador PIC16F877A segue o diagrama apresentado na Figura 12 e utiliza a interrupo da comunicao serial do controlador para receber os dados e executar a ao programada. Dentro desta interrupo foi criado o cdigo que identifica o conjunto de instrues, conforme protocolo descrito no Item 3.3. Para a utilizao com o kit no foi necessrio enviar os comando AT para configurao, uma vez que todo o processo de comandos foi gravado em macro e o prprio kit repete esses comandos quando iniciado, j disponibilizando uma interface de dados.

20

Figura 12 - Diagrama de software do controlador.

O software desenvolvido para o mdulo tambm reconhecido na interrupo serial do microcontrolador. A nica diferena que, quando o controlador iniciado, envia a seqncia de comandos para configurar o mdulo Bluetooth. Esse processo repetido toda a vez que o mdulo reinicia. Quando o mdulo ligado ou reiniciado, ele envia uma mensagem +READY, informando que est pronto para receber comandos. Com isso, o software do microcontrolador identifica esta mensagem e envia a seqncia de comandos para configurar o mdulo Bluetooth, tornando assim possvel a alterao da chave para modo Dados.

3.3 Protocolo O protocolo de comunicao para o envio de comandos entre o celular e o mdulo que controla os dispositivos foi desenvolvido de forma simples, pois a tecnologia Bluetooth possui uma caracterstica configurvel que permite a criao de uma comunicao serial entre dois dispositivos de forma transparente. Com isso, tanto o programa criado no celular como o desenvolvido para o microcontrolador trabalham como se estivessem se comunicando via interface serial RS-232, permitindo que os pacotes de bytes com as mensagens fossem criados com menor tamanho possvel, ou seja, sem bytes para identificar cabealho ou correo de erro, somente valores que o controlador poderia reconhecer para decidir as aes que lhe fosse requisitado.

21

Conforme apresentado na Figura 13, os pacotes so compostos por 8 bytes que identificam o tipo do comando, dispositivo a ser acionado e valores a serem atribudos. Todos os pacotes enviados do celular para o controlador possuem os dois primeiros bytes com os caracteres C e :, que servem para confirmar que esta sendo enviado um comando e no um valor qualquer via interface serial. No terceiro byte, o caractere E indica que um comando de envio est sendo encaminhado ao controlador para que possa ser acionado um dispositivo. O caractere R indica que o comando para retornar o estado do dispositivo desejado. Os bytes 3 e 4 identificam o dispositivo que deve ser acionado, exemplo, L e 1 indicam que o LED1 receber o valor desejado ou no caso do retorno do estado, L e 1 representam que o dispositivo requisitado para a visualizao do estado o LED1. Os ltimos 3 bytes dos pacotes de envio de comando so os valores que devem ser incrementados nas variveis referente ao dispositivo desejado, ex. 1, 2 e 4 indica que o valor a ser atribudo ao LED o valor 124 (o maior valor permitido). J no caso do pacote de retorno do estado dos dispositivos, o controlador envia para o celular um inteiro de tamanho 4 bytes, correspondente ao estado do dispositivo requisitado. Por exemplo, 0x0000007C retorna o valor decimal 124 (12*1 + 7*16 = 12 + 112 = 124) para o aparelho celular.

Figura 13 - Protocolo de comandos.

Quando o usurio deseja executar uma ao e aciona no menu do celular a opo equivalente, uma mensagem no formato (a), da Figura 13, enviada ao controlador. Essa mensagem contm as informaes que definem que o celular est enviando um comando para alterar os valores referentes a um dispositivo, o nome do dispositivo e o valor desejado. Com isso o controlador atribui este valor recebido nas variveis referentes ao dispositivo e executa a ao desejada. Quando o usurio envia um comando para identificar o estado dos dispositivos, a mensagem no formato (b) enviada ao controlador, que identifica qual

22

dispositivo deve ser visualizado e retorna o valor da varivel referente ao dispositivo na forma da mensagem (c).

23

APLICAO DESENVOLVIDA
Para validar o funcionamento do dispositivo foi desenvolvida uma aplicao baseada

em automao residencial sob uma maquete, apresentada na Figura 14. Simulando o ambiente de uma sala de estar com uma janela e uma persiana, incluindo iluminao interna e externa. A aplicao consiste em abrir e fechar uma janela e variar a luminosidade dos LEDs presentes dentro e fora da maquete. Representando assim uma condio real de aplicao, onde um usurio tenha a possibilidade de abrir ou fechar a janela de sua sala, ou verificar o estado da mesma, quando desejar, controlando atravs de seu aparelho celular, fornecendo assim uma opo necessidade de levantar e se dirigir at a janela desejada e realizar o trabalho manualmente. As outras opes tambm seguem o mesmo princpio, para o acionamento dos LEDs, o usurio aciona as opes de variar a intensidade de luminosidade ou verifica o estado sem a necessidade de se dirigir ao interruptor.

Figura 14 - Maquete, exemplo de aplicao.

Ao iniciar, o aplicativo solicita realizar uma conexo Bluetooth com o kit interiormente instalado na maquete. O usurio tem a opo de sair do aplicativo ou conectar a ele. Uma vez conectado, ele permanece at que o aparelho esteja fora do alcance do kit ou at que o usurio selecione a opo desconectar. Aps realizar a conexo o usurio tem controle total sobre os estados dos elementos controlados e o poder de interagir com os dispositivos a serem controlados.

24

4.1 Hardware da Aplicao O hardware desenvolvido para a aplicao segue a estrutura apresentada na Figura 15. Como citado anteriormente, o mdulo conectado placa do controlador via comunicao serial. Todos os drivers de controle dos dispositivos (LEDs, MOTOR) foram ligados diretamente na placa do controlador em suas interfaces de entrada e sada.

Figura 15 - Diagrama de funcionamento da Aplicao.

Como observado anteriormente na descrio do kit Bluetooth, existe uma chave H para comutar entre a opo de comandos e a opo de dados. Esta chave foi inserida na placa do mdulo Bluetooth para poder realizar a comutao entre a opo de Dados e Comando. Com base nas informaes disponveis no datasheet do mdulo foi observado que o pino GPIO1 comuta para 1 lgico quando uma conexo criada entre o mdulo e o celular. E o pino GPIO3 deveria estar em 1 lgico para que seja comutado de comando para dados. Com isso, uma ligao entre os dois pinos do mdulo possibilita que o mdulo inicie na opo de Comando e assim que uma conexo for criada, aciona o pino PGIO1 para nvel lgico 1, conseqentemente o pino GPIO3 passa para nvel Lgico 1 comutando de Comandos para Dados e permitindo a transmisso de dados. Cada placa contendo 8 LEDs de alto brilho utilizada para representar a iluminao do ambiente e controlada por um dos PWM do controlador. Existem duas placas com

25

LEDs: uma representando a iluminao interna do ambiente e a outra representando a iluminao externa do ambiente. A sada de cada controlador ligada a um transistor BC548, que atua como driver e aciona os LEDs evitando que uma sobre carga de corrente possa queimar a sada do microcontrolador. Para o acionamento da janela, foi utilizado um motor de passo com 8 fios controlado por um driver com circuito lgico digital possibilitando que apenas dois pinos do port do controlador sejam utilizados para o controle. Um pino fornece o clock responsvel por gerar o passo do motor e controlar a velocidade, e o outro pino comanda o sentido do giro do motor. O acionamento do motor foi feito atravs de circuito lgico AND, que possibilitou o bloqueio do clock para desativ-lo. Para identificar se a janela estava aberta ou fechada foram utilizados dois sensores de fim de curso, de modo que quando a Janela fosse aberta o sensor de Janela Aberta conectado a um dos pinos do controlador atribui a uma varivel do software o valor lgico 1. De forma semelhante, quando a Janela fosse fechada o sensor de fim de curso referente a Janela Fechada alteraria a varivel do software para estado lgico 0.

4.2 Software da aplicao O software foi desenvolvido conforme o fluxograma apresentado na Figura 16. Para o controle da intensidade dos LED foram utilizados os dois canais de PWM presentes no microcontrolador com freqncia de 500Hz, configuradas no Timer2, permitindo que a variao da intensidade dos LEDs esteja entre 0 e 124. Para o controle do movimento da janela, foi configurado o Timer1 para gerar interrupo com freqncia de 500Hz. Com isso, a cada interrupo deste timer gerada uma inverso no valor de sada em um dos pinos do port D do controlador criando assim um clock com freqncia de 250Hz. Este clock foi utilizado para o circuito de comando dos motores, que determina o passo do motor e sua velocidade. Cada motor possui um pino do port D do controlador para habilitar ou desabilitar o clock no motor desejado atravs lgica digital AND. Um outro pino no port D configura a direo do motor, direita ou esquerda.

26

Figura 16 - Diagrama de estados do software.

A comunicao serial executada atravs de interrupo, ou seja, quando um byte recebido o controlador interrompe o loop infinito e passa a tratar a interrupo. Terminado o tratamento desta interrupo, o controlador volta ao loop infinito, aguardando que outro byte seja recebido. Cada byte recebido inserido em um vetor e, posteriormente, comparado com os valores necessrios para executar a ao desejada. Para que um comando seja reconhecido, o controlador deve receber, via interface serial, dois bytes iniciais: C e :, que identificam um envio do celular de um pacote com instrues. O fluxo do programa corre como um pseudo-paralelismo entre trs processos, ou seja, o timer1 iniciado e continua gerando um clock sem interrupes, o PWM, embora seja carregado inicialmente com valor zero, tambm permanece gerando sinais em seus canais indefinidamente. Por fim, o loop infinito fica continuamente monitorando os valores dos sensores das janelas e aguardando uma interrupo da comunicao serial.

27

TESTES E RESULTADOS
O principal teste para validar a comunicao entre o mdulo ou kit Bluetooth com a

placa do microcontrolador foi conectar os dois dispositivos via comunicao serial, enviar os comandos de configurao do servio e comutar a chave para Dados, com isso permitindo transferncia de dados via comunicao serial transparente atravs da tecnologia Bluetooth. Um LED na placa do controlador foi acionado quando um determinado byte foi recebido via comunicao serial, validando assim a conexo entre os dois dispositivos. A distncia para comunicao dos dispositivos Bluetooth atingiu aproximadamente 10 metros, precisamente a distncia especificada pelo padro Bluetooth. Os testes de funcionamento da aplicao foram realizados atravs do envio dos comandos no celular e a verificao do acionamento dos dispositivos referentes pela parte do mdulo UCB. Quando o aparelho celular enviou o comando para abrir a janela, o motor passou a girar at acionar o sensor de fim de curso e desligar o motor. Em seguida, o celular solicitou o recebimento do status do motor, e o mdulo UCB retornou a informao referente a Janela Aberta. Com isso o celular apresentou na tela o status da Janela. De forma semelhante testes foram realizados para as demais funcionalidades da aplicao, todos foram realizados corretamente. Por questes de segurana de comunicao, foi desabilitada, no mdulo e no kit, a opo de serem descobertos. Assim, somente os dispositivos que conhecem o endereo deles que podem se conectar, sendo que qualquer dispositivo que realize a operao inquiry simplesmente no os encontrar. Como conhecemos de antemo os endereos do mdulo e do kit, isso foi perfeitamente possvel de ser utilizado. Um dos problemas enfrentados no desenvolvimento do software do microcontrolador foi quando acionados os dois PWM ao mesmo tempo com valores iguais, ocorria interferncia no Timer1, que controlava o passo do motor, deixando-o completamente desgovernado. A soluo encontrada para este problema foi identificar em software se o valor solicitado para um dos PWM igual ao outro, e, em caso positivo, acrescentar 1 varivel e carregar o PWM com esse novo valor, evitando assim que o motor fique desgovernado.

28

CONCLUSO E DISCUSSO
O sistema resultante atendeu os objetivos iniciais do projeto. Visto que era parte do

objetivo, alm de desenvolver um dispositivo capaz de trocar informaes via tecnologia Bluetooth, tambm obter domnio das tecnologias e linguagens envolvidas no processo, pode-se afirmar que o projeto atendeu os objetivos propostos. Faz parte de um plano futuro estender essa aplicao agregando uma topologia de rede mesh, atravs da qual o sistema poder controlar ambientes remotos a distncia e conhecer outros dispositivos presentes na residncia. Esse tipo de soluo poder ser aplicada em outros ambientes ou para outras solues, no apenas em domtica. A soluo mencionada como projeto futuro semelhante a uma rede zigbee trabalhando full-mesh, todavia se apresenta como um diferencial, pois, zigbee ainda no uma tecnologia presente em dispositivos mveis. Uma srie de outras possibilidades ainda poder ser aplicada a essa soluo. Vrios dispositivos podero ser controlados no interior da residncia com avanos nessa aplicao. Todavia, esse mesmo sistema abre um novo segmento de aplicaes em diversas outras reas como a de sade. Monitorar pacientes com algum tipo de necessidade especial possvel utilizando esse sistema. Basta apenas que, o paciente porte um telefone celular.

29

REFERNCIAS BIBLIOGRFICAS

HORSTMANN, Cay S.; CORNELL, Gary. Core Java 2. So Paulo: Makron Books, 2001. WIKIPDIA, (2007). Bluetooth Conceito e especificaes da Tecnologia Bluetooth: http://pt.wikipedia.org/wiki/Bluetooth. [10 setembro 2007]. MEIOBIT, (2007). Tendncia do mercado em aplicao de Mobile Wallet. http://www.meiobit.com/celulares/oi_lanca_servico_de_pagamento_via_celular.[01 outubro 2007]. MILLER, Brent A.; BISDIKIAN, Chatschik. Bluetooth revealed: the insider's guide to an open specification for global wireless communications. Upper Saddle River: Prentice Hall PTR, 2001. MUCHOW, John W. Core J2ME : Tecnologia & MIDP. So Paulo: Pearson Educao, 2004. TELECO, (2007). Telecomunicaes Cenrio atual. http://www.teleco.com.br. [30 setembro 2007]. STMicroelectronics, http://www.st.com [outubro de 2007].

30

Das könnte Ihnen auch gefallen