Sistema de Alarme e Monitoramento Automotivo Com Tecnologia Android

45
ANHANGUERA EDUCACIONAL S.A. Faculdade Anhanguera de Valinhos Curso de Ciência da Computação Gabriel Cedran Santos Rodrigo dos Reis Rocha Weslley Candido Lima Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android Valinhos 2011 Gabriel Cedran Santos Rodrigo dos Reis Rocha Weslley Candido Lima Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android Monografia apresentada, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação, na Faculdade Anhanguera de Valinhos, sob a orientação do prof Esp. Ivair Teixeira. Valinhos 2011 Gabriel Cedran Santos Rodrigo dos Reis Rocha Weslley Candido Lima Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android Trabalho de Conclusão de Curso apresentado como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação da Faculdade Anhanguera de Valinhos.

description

TCC para concluão de curso.

Transcript of Sistema de Alarme e Monitoramento Automotivo Com Tecnologia Android

ANHANGUERA EDUCACIONAL S.A.

Faculdade Anhanguera de Valinhos

Curso de Cincia da Computao

Gabriel Cedran SantosRodrigo dos Reis RochaWeslley Candido Lima

Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android

Valinhos2011Gabriel Cedran SantosRodrigo dos Reis RochaWeslley Candido Lima

Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android

Monografia apresentada, como exigncia parcial para a obteno do grau de Bacharel em Cincia da Computao, na Faculdade Anhanguera de Valinhos, sob a orientao do prof Esp. Ivair Teixeira.

Valinhos2011Gabriel Cedran SantosRodrigo dos Reis RochaWeslley Candido Lima

Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android

Trabalho de Concluso de Curso apresentado como exigncia parcial para a obteno do grau de Bacharel em Cincia da Computao da Faculdade Anhanguera de Valinhos.

Aprovado em dia de ms de ano.

________________________________

Prof. Esp. Ivair TeixeiraFaculdade Anhanguera de ValinhosOrientador

________________________________

Prof. ou Profa. Ttulo (Dr, Ms, Esp) Nome do avaliador(a)Faculdade Anhanguera de ValinhosAvaliador(a)

________________________________

Profa. Ms. Janaine Cristiane de Souza ArantesFaculdade Anhanguera de ValinhosCoordenador(a) do Curso Nome

Valinhos2011RESUMO

SANTOS, Gabriel Cedran, ROCHA, Rodrigo dos Reis, LIMA, Weslley Candido Ttulo: Sistema de Alarme e Monitoramento Automotivo com Tecnologia Android. 2011. 62 f. Trabalho de Concluso curso de Bacharelado em Cincia da Computao Anhanguera Educacional S.A, Faculdade Anhanguerade Valinhos, Valinhos, 2011.

A necessidade de segurana um fator primordial para o bem estar de qualquer indivduo, esteja ele vivendo isoladamente ou de forma coletiva. O avano surpreendente da tecnologia traz significativas e constantes mudanas no modo de vida das pessoas e na sensao de segurana. Ao mesmo tempo em que surgem modernos sistemas para proteger as pessoas e seus bens, so criados avanados mtodos para burlar essa proteo com finalidades ilcitas. Entre os diversos motivos para a quebra dessa proteo est a inteno de apropriao indevida de veculos automotores, uma atividade que cresce de forma diretamente proporcional ao nmero de automveis nas ruas. Este trabalho prope um sistema de alarme automotivo, baseado em tecnologias atuais, para realizar o travamento e localizao de um automvel roubado ou furtado. Alm da funcionalidade de bloqueio, o sistema prev a opo de visualizar as coordenadas atuais do veculo em um mapa, o qual apresentado em qualquer navegador de internet. Por fim, o sistema oferece tambm um mecanismo para travar e destravar as portas por uma mensagem de texto. Para realizar o desenvolvimento, so utilizadas as tcnicas de engenharia de software, anlise de requisitos e estudo de viabilidade. Antes de realizar os testes efetivos com o aparelho, utilizam-se softwares que simulam o celular. Espera-se com este trabalho, desenvolver um sistema eficiente e com custo de implementao e manuteno reduzidos, devido utilizao de tecnologia atual, tanto em hardware como software.

Palavras-chave Android, Microcontrolador PIC, GPS, Bluetooth

LISTA DE FIGURAS

Figura 1 Diagrama da estrutura interna de um microcontrolador. 14Figura 2 Arquitetura Von Neumann e Harvard. 15

Figura 3 PIC16F628A. 15

Figura 4 Pinos e entradas e/ou sadas PIC16F628A. 16

Figura 5 Gerenciamento de uma ligao de um telefone fixo para um mvel. 18

Figura 6 Taxonomia dos Satelites . 19

Figura 7 Altitude mdia dos satlites em relao a superfcie terrestre. 19

Figura 8 Conceito de Trilaterizao. .................................20

Figura 9 Conexo Scartternet. 22

Figura 10 Maquina Virtual Java. 23

Figura 11 Exemplo de HTML e Servelet. 24

Figura 12 Exemplo de HTML e JSP. 25

Figura 13 Iteraes entre o JSP, o Servlet e a camada de modelagem. 26

Figura 14 Aplicativo BHC Movl............................................................... 27

Figura 15 Simulador na IDE Eclipse. 28

Figura 16 Interface entrada de dados. 29

Figura 17 Tela de resultados de uma simulao. 30

Figura 18 Estrutura da Aplicao Java Web Baseada em Framework. 31

Figura 19 Framework Proposto. 32

Figura 20 Mdulo Bluetooth HC-05. 35

Figura 21 Interface do programa SSCOM32E. 35

Figura 22 Matriz de contatos. 36

Figura 23 Primeiro passo da instalao do SDK do Android. 44

Figura 24 Criao do emulador do Android 45

Figura 25 Criao de uma AVD. 46

Figura 26 Iniciao do emulador. 47

Figura 27 Execuo do emulador Android. 47

Figura 28 Emulador Android em execuo. 48

Figura 29 Conexo com o servidor do Google para instalar o ADT Plugin. 49

Figura 30 Instalao do ADT Plugin. 49

LISTA DE TABELAS

Tabela 1 Descrio dos pinos do Microcontrolador PIC 16F628A 16LISTA DE SIGLAS

ADSL Assymmetric Digital Subscriber LineADT Android Development ToolsAPI Application Programming InterfaceAVD Android Virtual DeviceBHC Balano Hdrico ClimatolgicoCPU Central Processor UnitERB Estao de Rdio BaseGEO Geostationary Earth OrbitGPS Global Position SystemGPRS General Packet Radio ServiceHTML Hyper Text Markup LanguageIDE Integrated Development EnvironmentJVM Java Virtual MachineJSP Java Server PagesJME Java Micro EditionLAN Local Area NetworkLED Light-Emitting DiodeLEO Low Earth OrbitMEO Medium Earth OrbitMSC Mobile Switching CenterMVC Model View ControllerOHA Open Handset AlliancePIC Peripheral Interface ControllerPSTN Public Switched Telephone NetworkRAM Random Access MemorySDK Software Developers KitSMS Short Message ServiceULA Unidade Lgica AritmticaUML Unified Modeling LanguageSUMRIO

LISTA DE FIGURAS i

LISTA DE TABELAS ii

LISTA DE SIGLAS iii

Introduo 8

Objetivos da Pesquisa 9Justificativa 10Organizao 10

Capitulo 1 - Reviso de Literatura 11

1.1. Sistema Operacional Android 111.2. Microcontrolador 131.3. Telefonia Mvel Celular 171.4. GPS (Global Positioning System) 191.5. Bluetooth 201.6. Aplicaes Java Web........................................................................... 221.7. Trabalhos Correlatos.......................................................................... 261.7.1. Utilizao da Plataforma Android no desenvolvimento de um aplicativo para o clculo do Balano Hdrico Climatolgico................................................ 261.7.2. Framework Java em Ambiente Distribudo com Posicionamento Global....30

Capitulo 2 - Monografia 34

2.1. Desenvolvimento 342.1.1. Construo do Hardware 342.1.2. Construo do Software 37

Captulo 3 - Anlises e Resultados 44

Captulo 4 - Consideraes Finais 45

Referncias 46

Introduo

A busca por proteo e segurana sempre foi uma necessidade do ser humano, desde os tempos mais antigos at a atualidade. Uma das principais atitudes para garantir essa segurana foi a escolha por viver em comunidades, nas quais todos possuem deveres e direitos perante os outros. Porm, a convivncia em grupo faz surgir outros problemas, entre eles a apropriao indevida de bens alheios. Embora o ato de roubo e furto tenha, para muitos, significados idnticos, de acordo com a lei so crimes totalmente diferentes. Um roubo acontece por intermdio de uma grave ameaa ou violncia ao indivduo, quase sempre a mo armada, enquanto que o furto ocorre sem ao violenta, ou seja, na ausncia da vtima. Entre os principais objetos visados para roubos e furtos da era moderna, os veculos automotores despertam um especial interesse entre os amigos do alheio. De acordo com a Secretaria da Segurana Pblica somente no Estado de So Paulo no segundo trimestre de 2010 foram roubados 17.304 e furtados 24.434 veculos (ESTATSTICA SSP-SP, 2010).H uma infinidade de maneiras, utilizadas pelos proprietrios para preservar a posse de seus veculos, desde cadeados, correntes e travas at sistemas mais avanados que consistem em alarme por ultrassom ou vibrao. Com o avano da tecnologia, novas modalidades de alarme surgem com frequncia, sempre com ainteno de criar o sistema perfeito no cenrio de proteo aos veculos. No entanto, ambos os lados, proprietrio e marginal, tm acesso a essa tecnologia, assim, sempre que surge uma medida preventiva, logo em seguida, aparece a contra medida e, assim, continua o dilema.Uma ocorrncia que, muitas vezes, invalida a maior parte dos sistemas de alarme a ao em que o proprietrio fica como refm dos assaltantes, mesmo por um curto perodo, e, dessa forma, obrigado a desligar o alarme em funo de sua segurana, ou segurana de seus familiares.Um especial interesse ocorre atualmente em adotar os bloqueadores via satlite, denominados rastreadores, que utilizam tecnologia de ltima gerao. Esses bloqueadores consistem em um mdulo eletrnico de alarme instalado no veculo que recebe sinais de satlites. Na ocorrncia do evento um sinal transmitido pela central prestadora de servio para bloquear sua movimentao e disparar avisos sonoros que indicam a ocorrncia do roubo ou furto. Com os rastreadores possvel monitorar completamente o veculo, criar cercas eletrnicas para delimitar a rea de circulao permitida, determinar excesso de velocidade, entre outros. (RT-145, 2010).O servio prestado mediante o pagamento de uma taxa mensal operadora responsvel pelo controle do sistema. Muitas vezes, seu uso torna-se proibitivo, pois cada funcionalidade adicionada resulta em um acrscimo no valor e fica a cargo do proprietrio verificar a viabilidade, aps anlise do custo/benefcio. Um rastreador com as caractersticas citadas tem um custo de aquisio prximo a R$ 900,00, de acordo com o modelo, taxas de R$70,00 a R$ 95,00 mensais.

Objetivos da PesquisaEste trabalho tem como objetivo geral desenvolver um sistema de alarme e monitoramento automotivo, que utilize tecnologias atuais do mercado, com um custo inferior aos sistemas comerciais.O objetivo especfico do trabalho consiste em um sistema de segurana de automveis, que utiliza um celular com GPS (Global Positioning System) e um microcontrolador, ocultos no automvel. Esse sistema possui as seguintes funcionalidades: bloqueio do automvel por meio de uma mensagem SMS, visualizao das coordenadas no Google Maps; consulta da posio atual do veculo sem o disparo do alarme; destravamento e travamento das portas sem a necessidade de chaves.

Justificativa

Este trabalho visa desenvolver uma soluo de baixo custo com caractersticas similares aos sistemas de alarme existentes. Alm disso, promove maior autonomia do proprietrio sobre o produto, sem dependncia de operadoras no controle do sistema. Outro ponto que desperta especial interesse a possibilidade de pesquisar e utilizar na prtica tecnologias atuais, tais como: Programao para o Sistema Operacional Android, comunicao por Bluetooth, aplicao cliente servidor em Java, microprogramao, GPS, entre outras. A viabilidade da construo fsica proporcionada pelo laboratrio de hardware da faculdade, que dispe dos equipamentos necessrios para o desenvolvimento da parte eletrnica e da programao de hardware e software. O desenvolvimento da parte lgica possvel apoiado pela literatura disponibilizada no acervo da biblioteca relacionada com a programao Android, microprogramao e eletrnica.

Organizao

Esta monografia est estruturada em quatro captulos: O primeiro captulo apresenta a reviso daliteratura sobre o tema abordado.O segundo captulo descreve o desenvolvimento da pesquisa. O terceiro captulo descreve as anlises e os resultados alcanados, enfatizando os aspectos importantes considerados durante a pesquisa. Por fim, so apresentadas as concluses obtidas com o trabalho e algumas possibilidades de trabalhos futuros.

Captulo 1 - Reviso de Literatura

Neste captulo, so descritos resumos de artigos e literaturas voltadas para a rea de desenvolvimento de aplicaes para dispositivos mveis, programao para internet, microcontroladores entre outros. O objetivo apresentar uma srie de conceitos tcnicos e tericos necessrios para o entendimento dos tpicos contidos nos captulos futuros, bem como algumas definies e seus significados.

1.1. Sistema Operacional Android

A quantidade de telefones celulares existentes vem aumentando de forma significativa nos ltimos anos. Esse fato aponta esse aparelho como o produto de consumo mais utilizado no mundo. Estudos mostram que existem atualmente mais de trs bilhes de pessoas que possuem um aparelho celular, o que corresponde a metade da populao mundial (LECHETA, 2009). Acredita-se que esse nmero chegue a 5,6 bilhes at o final de 2013 (PEREIRA; SILVA, 2009).Com o avano da tecnologia, o celular deixa de ser apenas um aparelho para receber e fazer ligaes e passa a integrar diversas outras funcionalidades, tais como: GPS, acesso mvel a internet, leitura de e-mails, TV analgica e digital, entre outras. Para acompanhar a evoluo dos celulares e atender as necessidades dos desenvolvedores, que buscam uma alternativa moderna e gil, surge a plataforma de software de telefonia mvel Android. Por trsdessa plataforma esto a gigante Google e um grupo de grandes empresas da telefonia mvel conhecidos como OHA (Open Handset Alliance). Entre as 47 empresas que compem esse grupo, destacam-se: Motorola, LG, Samsung, Sony Ericsson, HTC e Toshiba (LECHETA, 2009).Segundo Pereira e Silva (2009) O Android uma plataforma para tecnologia mvel completa, envolvendo um pacote com programas para celulares, j com um sistema operacional, middleware, aplicativos e interface do usurio. Ele compreende um sistema operacional de cdigo aberto, no qual qualquer aplicativo tem os privilgios que antes somente os softwares criados ou licenciados pelo fabricante tinham. Assim, possibilita total integrao e customizao entre sistemas e celular, de forma a torn-lo livre e interessante como um computador (PEREIRA; SILVA, 2009). Essa plataforma pode ser uma grande oportunidade para os desenvolvedores de aplicativos, pois conforme citado por Rogers (2009):

O Android tem o potencial para remover as barreiras para o sucesso no desenvolvimento e venda de uma nova gerao de softwares aplicativos de telefonia mvel. Assim como as plataformas padronizadas PC e Macintosh criaram mercado para desktop e servidor, o Android, ao oferecer um ambiente para aplicaes de telefonia mvel, criar um mercado para aplicaes mveis e a oportunidade para que os desenvolvedores de softwares aplicativos se beneficiem de seus produtos

A programao para Android relativamente simples, principalmente para quem j conhece a linguagem de programao Java, antes da SUN Microsystems e atualmente pertencente a Oracle. Alm de contar com os recursos da linguagem original, a programao paraAndroid possui uma API (Application Programming Interface) poderosssima, que oferece aos desenvolvedores recursos como Internet, Touch Screen, Acelermetro, GPS, entre outros. Uma IDE (Integrated Development Environment) bem recomendada para o desenvolvimento das aplicaes o Eclipse, um dos mais utilizados para a linguagem Java (LECHETA, 2009).No desenvolvimento de aplicaes Android existem diferenas significativas em relao programao para ambientes desktops e servidores, com novos conceitos que devem ser empregados no projeto e implementao. Entre eles, encontra-se a limitao de recursos apresentada por esses dispositivos. Mesmo incorporando as funcionalidades de um computador porttil, ainda muito limitado em relao velocidade de processamento, quantidade de memria RAM (Random Access Memory) e capacidade de armazenamento de dados.A criao de novas aplicaes facilitada devido reutilizao de dados e elementos de interface fornecidas por outras aplicaes. Esse conceito conhecido por mashups mveis e pode ser citado como exemplo a incorporao de mapa a uma aplicao web com o uso de apenas algumas linhas de Java Script. Por fim o conceito de aplicaes intercambiveis outro diferencial da tecnologia Android. No exemplo citado por Rogers (2009), para enviar um e-mail a codificao no necessita especificar uma aplicao para realizar a tarefa. Basta informar a inteno e o ambiente se encarrega de descobrir qual aplicao pode enviar e-mail, inicia a aplicao e passa a solicitao para que a tarefa seja realizada.Um fator que gera certa dvida a segurana do sistema operacional, pois j que to fcil modificar os componentes, o que impede aexecuo de cdigos maliciosos no celular? O Android executado em um kernel Linux e para cada aplicao instalada criado um usurio para esse programa. Como os diretrios e aplicativos ficam totalmente isolados uns dos outros, deve ser expressamente autorizado pelo usurio qualquer acesso a informaes de outros aplicativos. Por exemplo, para a utilizao do GPS necessrio inserir a permisso android.permission.Access_FineLocation no arquivo de configurao AndroidManifest.xml. Cada aplicao deve ter um arquivo com esse nome que apresenta informaes essenciais do aplicativo para o sistema Android.

1.2. Microcontrolador

Souza (2007) define o microcontrolador como um pequeno componente eletrnico dotado de uma inteligncia programvel, por um conjunto de instrues estruturadas na forma de um programa. Em um nico chip, so encontrados todos os elementos necessrios para fazer o controle de perifricos, tais como: LEDs (Light-Emitting Diode), botes, rels e diversos tipos de sensores, tais como presso, temperatura, entre outros. O microcontrolador possui em sua arquitetura interna memria de programa, memria de dados, portas de entrada/sada paralelas, timers, contadores, comunicao serial, conversores analgico-digital entre outros. O processamento realizado por uma ULA (Unidade Lgica Aritmtica) responsvel por executar todas as operaes lgicas e matemticas de acordo com o programa.O diagrama da figura 1 mostra basicamente como a estrutura interna de um microcontrolador.[pic]Figura 1 Diagrama da estrutura interna de um microcontroladorFonte: (SILVA JUNIOR, 1997).

Hoje em dia grande quantidade dos aparelhos eletrnicos existentes no mercadopossui um microcontrolador, cuja estrutura interna se divide em duas tecnologias. Uma delas a Arquitetura Von Neumann, na qual a estrutura interna de memria de dados e memria de programas utiliza um nico barramento para a comunicao com a CPU (Central Processor Unit). Portanto enquanto a CPU carrega uma instruo da memria de programa essas vias ficam bloqueadas e no podem ser usadas para o acesso a memria de dados. Os microcontroladores da famlia PIC (Peripheral Interface Controller), utilizados nesse projeto, so baseados na arquitetura Harvard que prev vias de comunicao distintas entre a CPU e as memrias de dados e programas. Essa arquitetura possibilita que operaes paralelas sejam realizadas simultaneamente, de forma a aumentar consideravelmente a velocidade de execuo. Essa tcnica, denominada Pipeline, permite que enquanto os dados so lidos e escritos na memria de dados, outra instruo seja previamente carregada da memria de programa para ser decodificada e executada na sequncia (SILVA JUNIOR, 1997). Na figura 2, apresentado um diagrama que exemplifica a diferena entre barramento de conexo de cada arquitetura.[pic]Figura 2 - Arquitetura Von Neumann e Harvard

Na figura 3, mostrado o PIC16F628A, fabricado pela empresa Microchip Inc, um modelo muito utilizado que apresenta tima relao custo/benefcio devido s suas caractersticas e funcionalidades oferecidas.

[pic]Figura 3 PIC16F628A

O PIC16F628A tem como principais caractersticas o baixo custo,a facilidade de programao, uma grande diversidade de perifricos internos, memria de programa da tecnologia Flash e boa velocidade de execuo.Na figura 4, exibido um desenho do microcontrolador PIC16F628A, na qual possvel identificar os pinos e suas sadas e/ou entradas.[pic]Figura 4 Pinos e entradas e/ou sadas PIC16F628A

Devido ao grande nmero de funcionalidades oferecidas, os pinos podem ser utilizados para mais de uma funo, de acordo com uma configurao previamente estabelecida no programa. O detalhamento da descrio dos seus pinos pode ser visualizado na tabela 1 (PEREIRA, 2007).

Tabela 1 Descrio dos pinos do microcontrolador PIC16F628A

|Pino |Funo |Tipo |Descrio ||1 |RA2/AN2/Vref |Entrada / Sada |Porta A bit 2 / Entrada do comparador analgico / Sada da || | | |referncia de tenso. ||2 |RA3/AN3/CMP1 |Entrada / Sada |Porta A bit 3 / Entrada do comparador analgico / Sada comparador 1||3 |RA4/T0CKI/CMP2 |Entrada / Sada |Porta A bit 4 / Entrada de clock externo do Timer 0 / Sada do || | | |comparador 2 ||4 |RA5/MCLR/THV |Entrada |Porta A bit 5 / Reset CPU / Tenso de programao ||5 |VSS|Alimentao |Terra ||6 |RB0/INT |Entrada / Sada |Porta B bit 0 / Entrada de interrupo externa ||7 |RB1/RX/DT |Entrada / Sada |Porta B bit 1 / Recepo USART (modo assncrono) / Dados (modo || | | |sncrono) ||8 |RB2/TX/CK |Entrada / Sada |Porta B bit 2 / Transmisso USART (modo assncrono) / Clock (modo || | | |sncrono) ||9 |RB3/CCP1 |Entrada / Sada |Porta B bit 3 / Entrada/sada do mdulo CPP ||10 |RB4/PGM |Entrada / Sada |Porta B bit 4 / Entrada de programao LVP ||11 |RB5 |Entrada / Sada |Porta B bit 5 ||12 |RB6/T1OSO/T1CKI |Entrada / Sada |Porta B bit 6 / Sada do oscilador TMR1/ Entrada de clock do TMR1 ||13 |RB7/T1OSI |Entrada / Sada |Porta B bit 7 / Entrada do oscilador TMR1 ||14 |VDD |Alimentao |Alimentao positiva ||15 |RA6/OSC2/CLKOUT |Entrada / Sada|Porta A bit 6 / Entrada para cristal oscilador / Sada de clock. ||16 |RA7/OSC1/CLKIN |Entrada / Sada |Porta A bit 7 / Entrada Para cristal oscilador/ Entrada de clock || | | |externo. ||17 |RA0/AN0 |Entrada / Sada |Porta A bit 0 / Entrada do comparador analgico ||18 |RA1/AN1 |Entrada / Sada |Porta A bit 1 / Entrada do comparador analgico |

1.3. Telefonia Mvel Celular

A telefonia celular foi projetada para realizar a comunicao entre dois dispositivos mveis ou entre uma unidade mvel e uma fixa. Um provedor de servios deve ser capaz de rastrear e localizar uma unidade que faz chamada, estabelecer um canal a esta chamada e transferir de uma estao de rdio base para outra. Para ser possvel realizar esse rastreamento, as reas de servios so divididas em pequenas regies, conhecidas como clulas. Cada clula possui uma antena controlada por uma estao de rede, denominada de ERB (Estao Rdio Base), as quais so controladas por uma central conhecida como MSC (Mobile Switching Center). A MSC administra a comunicao entre as estaes de rdio bsicas e a central telefnica (FOROUZAN, 2008). Na Figura 5, ilustrado como a PSTN (Public Switched Telephone Network) e a MSC gerenciam uma ligao de um telefone fixo para um celular.

[pic]Figura 5 Gerenciamento de uma ligao de um telefone fixo para um mvelFonte: FOROUZAN, 2008

O tamanho das clulas no fixo e pode variarde acordo com a populao da regio. reas com populao mais densa necessita de mais clulas, pois a intensidade de maior. Normalmente o raio de cobertura de uma clula varia de 1 a 20 km. Um ponto de extrema importncia que clulas vizinhas no podem utilizar o mesmo conjunto de frequncias para comunicao, a fim de no gerar interferncia para usurio que esto prximos as fronteiras das clulas (FOROUZAN, 2008).Para um telefone celular realizar uma ligao, ele procura um canal de configurao com sinal forte, envia o nmero para a estao base mais prxima e esta retransmite os dados para a MSC. Esta, por sua vez, envia os dados para a central telefnica, que verifica se a parte chamada no est ocupada. Caso a parte chamada esteja disponvel, estabelece uma conexo e retransmite o resultado de volta para a MSC. A partir desse ponto, estabelecida uma conexo e alocado um canal de voz. A estao mvel ajusta sua sintonia para o novo canal automaticamente e a comunicao, ento, iniciada.Para um dispositivo mvel receber uma ligao, a central telefnica envia os dados com o nmero procurado para a MSC que, por sua vez, procura a localizao dessa estao mvel atravs de sinais de consulta para cada clula. Este processo conhecido como paging. Quando a estao mvel encontrada, a MSC envia um sinal de discagem e, assim que a estao de rdio responde, aloca um canal de voz para a ligao.

1.4. GPS

Muito difundido nos dias atuais, o GPS, sistema de posicionamento global um aparelho que mede a localizao de um ponto a partir de satlites que ficam em rbita e transmitem esses dados por sinais de rdio (MCNAMARA, 2004).Os satlites ficam emvolta da terra e so divididos em trs categorias diferentes, de acordo com posies das rbitas, conhecidas como GEO (Geoestationary Earth Orbit), MEO (Medium Earth Orbit) e LEO (Low Earth Orbit). A figura 6 exemplifica essa taxonomia (TANEMBAUM, 2003 e FOROUZAN, 2008).

[pic]Figura 6 Taxonomia dos satlitesFonte: FOROUZAN, 2008

Na figura 7, possvel visualizar a altitude mdia dos satlites em relao superfcie terrestre. Para satlites do tipo GEO, existe apenas uma rbita, a altitude de 35.786 km. Os satlites MEO ento localizados entre 5.000 e 15.000 km de altitude. Os satlites LEO se encontram a uma altitude menor que 2.000 km.

[pic]Figura 7 - Altitude mdia dos satlites em relao a superfcie terrestreFonte: FOROUZAN, 2008

O GPS utiliza os satlites do tipo MEO. Esse sistema formado por 24 satlites em seis rbitas diferentes e so projetados, para que em qualquer momento e posio da terra, quatro satlites estejam sempre visveis.Segundo Forouzan (2008), a localizao por GPS tem como base um princpio chamado trilaterizao, que utiliza informaes espaciais de no mnimo trs satlites. De acordo com o exemplo apresentado pelo autor, se a distncia for conhecida a partir de trs pontos em um plano A, B e C, possvel saber exatamente a localizao. Uma imagem representativa dessa tcnica mostrada na Figura 8.

[pic]Figura 8 - Conceito de trilaterizaoFonte: FOROUZAN, 2008

O mesmo princpio se aplica no posicionamento geogrfico na terra, se for possvel determinar a localizao e distncia desse ponto a partir de trs satlites. Essas posies e distncias dos satlites so calculadas por um receptor GPS, que paraisso, mede o retardo entre os sinais dos satlites (FOROUZAN, 2008).

1.5. Bluetooth

Em 1994, a fabricante sueca Ericsson deu inicio ao desenvolvimento de uma tecnologia chamada Bluetooth. Essa tecnologia consiste em uma conexo de radio contnua de curto alcance, que possibilita fazer chamadas telefnicas de um laptop por intermdio de um aparelho celular. Aps essa data, muitas empresas trabalham para ampliar a quantidade de dispositivos que utilizam essa tecnologia.O Bluetooth utiliza uma camada de rdio, com alcance de 10 metros, que opera na frequncia de 2.4GHz a uma velocidade de transferncia de dados de 720 Kpbs (bits por segundo).Por se tratar de uma banda de baixa potncia que no exige nenhum tipo de licenciamento, a idia inicial era desenvolver uma tecnologia para se livrar dos cabos e permitir uma conexo sem fio a uma curta distncia. No entanto, logo teve seu objetivo expandido, porque atravs do uso de um amplificador, a distncia de 10 metros pode ser aumentada para 100 metros. Com esse objetivo definido, o Bluetooth em pouco tempo comea a ocupar as reas das LAN (Local Area Network) sem fio (STALLINGS, 2005).Uma conexo Bluetooth estabelecida quando vrios dispositivos esto interligados na mesma piconet, ou seja, uma estrutura mestre/escravo que permite um n mestre manter ativo at sete ns. O protocolo consiste, de forma simplificada, na seguinte estrutura: o n designado como mestre cria um canal de frequncia e um temporizador que define quando transmitir, os ns escravos tm que se ajustarem nessa mesma temporizao e canal para que possam enviar e receber dados. Em uma piconet alm dos ns que so mantidos ativos, pode ocorrer at 255 nsestacionados, isto , inativos na mesma rede.Essa estrutura mestre/escravo foi escolhida para baratear a tecnologia, os projetistas calculavam que com menos de US$ 5 seria possvel implementar um chip Bluetooth. Como nem tudo perfeito, toda comunicao s pode ser feita entre um mestre e um escravo. Em lugares que existe mais de uma piconet, possvel conectar uma piconet a outra atravs de um n escravo usado como ponte, essa conexo chamada de scatternet (TANENBAUM,2003).

[pic]Figura 9 - Conexo ScatternetFonte: TANENBAUM, 2003.

1.6. Aplicaes Java Web

Java uma linguagem de programao extremamente poderosa, que pode ser divertida para iniciantes e adequada para programadores experientes que a utilizaram para construir sistemas de informaes complexas e importantes (DEITEL, 2005).Um dos recursos que impulsionaram a popularidade dessa linguagem o fato dela ser multi-plataforma, isto , independente do sistema operacional. Apesar do slogan da empresa desenvolvedora ser Write once, run Anywhere (Escreva uma vez, leia em qualquer lugar), segundo Deitel 2005, apesar de ser mais fcil escrever programas portteis nessa linguagem, diferenas entre compiladores e mquinas virtuais podem complicar um pouco esse ponto.Por ser uma linguagem hbrida, isto , compilada e interpretada, as fases desde o desenvolvimento at a execuo funciona da seguinte forma:Edio Codificao do programa em arquivos com extenso .java.Compilao O compilador da linguagem gera arquivos bytecode com extenso .class.Interpretao Os bytecodes so interpretados pela JVM (Java Virtual Machine).Na figura 10, possvel visualizarcomo a mquina virtual possibilita a linguagem Java ser multi-plataforma.[pic]Figura 10 Mquina Virtual Java

Alm das tradicionais aplicaes que rodam na mquina local do usurio, conhecidas por aplicaes desktop, a linguagem Java se tornou preferida para aplicativos baseados na internet, redes e at mesmo dispositivos mveis. De acordo com a Sun, em 2003, foram distribudos mais de 267 milhes de telefones celulares com suporte a essa tecnologia instalada (DEITEL, 2005).Segundo SIERRA (2008), aplicaes web esto na moda e para o desenvolvedor no necessrio se preocupar com problemas como distribuio, pois ela executada diretamente no navegador. Como a Internet est fortemente difundida e acessvel, uma das melhores maneiras de disponibilizar servios e produtos.Uma das formas de desenvolver sistemas mais elaborados que as pginas estticas HTML (Hyper Text Markup Language), utilizar a tecnologia JSP (Java Server Pages) e Servlet. Os Servlets so classes Java que ficam do lado do servidor processando requisies e respostas da internet. Basicamente, inserido cdigo HTML dentro das classes Java, para que seja possvel apresentar pginas dinmicas em resposta a requisies dos usurios. A construo e manuteno dos cdigos em servlets no so muito amigveis, pois formatar cdigo HTML dentro de variveis Java pode levar a muitos erros de compilao, alm de ter um problema grande para adequar o cdigo a sintaxe da linguagem. Na Figura 11, exibido um exemplo desse problema.[pic]Figura 11 Exemplo de HTML e Servlet

Um exemplo bsico para o problema de formatao do cdigo HTML a sintaxe Java, que o HTML utiliza aspas antes e depoisdos valores para atributos, por exemplo, . Como visto na figura 11 o mtodo println espera um texto entre aspas, da mesma forma que o HTML. Para resolver esse problema, foi criado o JSP, que coloca o Java dentro do HTML invertendo a situao e facilitando o trabalho.Segundo SIERRA (2008), o JSP foi o resultado quando algum apresentou o Java ao HTML. Uma aplicao em JSP, aps ser instalada em um servidor de aplicao convertida em um Servlet. Na figura 12, apresentado um cdigo JSP que faz exatamente a mesma coisa que o cdigo Servlet exibido anteriormente.

[pic]Figura 12 Exemplo de HTML e JSP

Outro problema misturar Java diretamente com HTML, pois esse tipo de implementao deixa junto a camada de apresentao com as regras de negcio, fato que dificulta a manuteno e a reutilizao de cdigo. O padro MVC (Model, View e Controller) prope separar a lgica de negcio da camada de apresentao.Segundo Sierra (2008), View responsvel por apresentar e receber os dados do usurio. Embora no diretamente, ela recebe o estado do controlador, para isso, este coloca os dados do modelo em um local onde a View possa encontr-lo.Controlador recebe os dados de entrada da solicitao do usurio e interpreta o que eles podem significar para o modelo. Ele fora o modelo se atualizar e tambm disponibiliza o novo modelo para View.Modelo Detm a lgica de negcio e o estado do modelo. Conhece as regras para obter e atualizar o estado. Por exemplo, o contedo de um carrinho de compras, como o sistema deve adicionar, alterar ou remover um novo item a ele, quais regras deve seguir a parte do modelo no MVC. Deve ser a nica parte que se comunica com abase de dados.Na figura 13, possvel visualizar as iteraes entre o JSP, o Servlet e a camada de modelagem.[pic]Figura 13 - Iteraes entre o JSP, o Servlet e a camada de modelagemFonte: Sierra, 2008

Com essas especificaes, possvel criar uma aplicao Java web de fcil distribuio, pois simples acess-la a partir de qualquer navegador, alm de proporcionar um sistema de fcil manuteno e robusto.

1.7. Trabalhos Correlatos

Este captulo apresenta os trabalhos correlatos analisados, com o intuito de aprender com as pesquisas realizadas por outros autores.

1.7.1. Utilizao da plataforma Android no desenvolvimento de um aplicativo para o clculo do Balano Hdrico Climatolgico

A monografia foi apresentada por Silva (2009) para a obteno do ttulo de bacharel em Sistemas de Informao na Universidade Estadual do Mato Grosso do Sul.Segundo o autor, o BHC (Balano Hdrico Climatolgico) a contabilizao de gua no solo, ou seja, a quantidade de gua que entra e sai do solo. Essa informao de grande importncia, pois permite aos agricultores saberem a quantidade de gua disponvel no solo e definir se h, ou no, a necessidade de irrigao para determinadas culturas. Portanto, a realizao do clculo do BHC extremamente importante para propriedades rurais, a fim de auxiliar nas tomadas de decises.O Brasil possui um grande nmero de estaes meteorolgicas que fornecem dados para a realizao do clculo do Balano Hdrico Climatolgico, o mesmo no acontece com a oferta de dispositivos dedicados a efetuar esse clculo, os quais so escassos no mercado.Nas reas rurais o acesso internet atravs da tecnologia acabo e ADSL (Assymmetric Digital Subscriber Line) restrito, mas geralmente, possuem sinal de telefonia mvel. Esse fator, aliado ao avano da capacidade de processamento dos celulares, possibilita a criao de softwares que faam a busca e o armazenamento de dados climticos, bem como o clculo estimativo do balano hdrico de determinadas regies. Com o intuito de oferecer aos produtores rurais um aplicativo mvel para o clculo do BHC, o autor desenvolveu o BHCMovl na plataforma Android, cuja interface inicial apresentada a Figura 14.

[pic]Figura 14 Aplicativo BHC MvelFonte: Silva, 2009.

Para o desenvolvimento do aplicativo foi utilizado o framework de desenvolvimento Android, ou seja, uma estrutura que apresenta um conjunto de cdigos, classes, funes e mtodos que auxiliam na programao. Esse framework oferece algumas das principais bibliotecas j conhecidas para o desenvolvimento em Java, bem como outras especficas para o a criao de aplicaes para dispositivos mveis. O ambiente de desenvolvimento utilizado foi a IDE Eclipse com o plugin do Android, dessa forma pode se utilizar o simulador, apresentado na figura 15, que facilita muito o desenvolvimento do cdigo e a realizao de testes.

[pic]Figura 15 Simulador na IDE eclipse.Fonte: Silva, 2009.

O aplicativo disponibiliza as funcionalidades de: Administrao, Atualizao e Clculo.A administrao apresenta as opes para as configuraes dos dispositivos tais como: cadastro, excluso e alterao dos diversos tipos de solos e culturas, bem como a criao do banco de dados.Na funcionalidade de atualizao realizada a coleta dos dados necessrios para os clculos do BHC, porexemplo: temperatura mdia diria, umidade relativa do ar, velocidade do vento a dois metros, radiao lquida e precipitao. Estes so os dados de entradas para a realizao dos clculos, alm do tipo de solo e cultura que j esto cadastradas no banco de dados. Os dados de chuva de uma estao podem ser obtidos atravs da Internet, como pode ser visualizado na Figura 16 (esquerda), ou inseridos manualmente, conforme Figura 16 (direita).[pic]Figura 16 - Interface de entrada de dados.Fonte: Silva, 2009.

Na atualizao pela Internet o aplicativo acessa a rede por meio da rede de telefonia mvel, obtm informaes disponibilizadas nas estaes meteorolgicas, grava-as em um banco de dados e executa os clculos do BHC dirio. Os dados de chuva so transferidos por intermdio de uma chamada pgina passando os parmetros necessrios consulta. A importao dos dados realizada por intermdio da API XML/DOM que realizada uma consulta na pgina especificada no seguinte formato: http://www.cpao.embrapa.br/clima/android/index2.php?ini={DataInicial}& fim={DataFinal}.Para o armazenamento dos dados utiliza-se o gerenciador de banco de dados de cdigo aberto SQLite. Esse, j est embutido no Android e disponibiliza os mtodos necessrios para o gerenciamento e utilizao dos dados necessrios. Esse gerenciador compacto e foi desenvolvido, a fim de ocupar o mnimo de memria possvel, porm, com grande quantidade de recursos.Por fim a funcionalidade de clculo do BCH utiliza os parmetros de entrada para apresentar a informao atualizada sobre a quantidade de gua disponvel no solo. Para iniciar, o usurio informa o tipo de cultura, o perodo e o tipo de solo. Aps executar osclculos, os resultados so apresentados de forma grfica e numrica, com o detalhamento do ltimo dia, porm, esse dia pode ser alterado pelos botes anterior e prximo. Os elementos apresentados so: quantidade de gua disponvel, umidade do solo, bem como a deficincia e o excedente hdrico. A tela de resultado de uma simulao do programa pode ser observada na Figura 17.

[pic]Figura 17 - Tela do resultado de uma Simulao.Fonte: Silva, 2009.

As consideraes finais do autor indicam que o aplicativo permite ao proprietrio uma melhor administrao da propriedade rural. A abordagem com a utilizao da plataforma Android permite uma significativa melhora em relao a mobilidade, pois se beneficia com a conectividade dos aparelhos celulares.

1.7.2. Framework Java em Ambiente Distribudo com Posicionamento Global

De acordo com o artigo cientfico de Vitorelli (2008), os seres humanos esto cada vez mais buscando alternativas para auxiliar na soluo de problemas cotidianos. Uma dessas alternativas e uma tecnologia conhecida como GPS que de acordo com Lopes (2008), pode ajudar as pessoas em geral a se locomoverem por determinadas regies desconhecidas.O objetivo do autor nesse trabalho desenvolver um framework, ou seja, um recurso computacional que facilita o desenvolvimento de uma aplicao. Na Figura 18, mostrada uma estrutura de um framework para web. Com isso, possvel integrar e compartilhar processos e servios na busca de solues para resolver problema tais como: posicionamento de rotas, direcionamento de chamado, compartilhamento de tarefa online dentre outros.[pic]Figura 18 - Estrutura de aplicao Java Web baseada em framework.A metodologia empregada no artigo inicia-se com o embasamento terico que possibilita o uso de ferramentas case Argo UML (Unified Modeling Language). Alm disso, realizou a codificao de uma soluo baseada em ferramenta Open-Source da tecnologia Java, a partir de IDE. Por ltimo, seguiu o framework que utilizado em uma aplicao teste.O desenvolvimento nesse artigo est subdividido em: conceitos sobre tecnologia wireless, GPS, arquitetura do framework e aplicao do mesmo. Segundo MICHAELIS (1989), wireless relaciona-se a um sistema de comunicao que no faz uso de fio para transmitir sinais, que pode ser utilizado tanto para redes wi-fi ou redes bluetooth.Observa-se no tpico de desenvolvimento, a utilizao das tcnicas que possibilitaram a integrao do framework ao GPS. As ferramentas usadas para a implementao do framework foram baseadas na tecnologia open-source da IDE NetBeans 6.0.1, MySQL 5.0 e para gravao dos dados utilizou-se o Framework Hibernate, que permite a portabilidade para diversos bancos de dados. Ao desenvolver o Framework, foi proposta uma diviso nas seguintes camadas: camada de Negcio e de Interface, esta ltima dividida em duas sub-camadas: GPS e Mobile, conforme a figura 19.[pic]Figura 19 - Framework proposto.

Interface GPS: o objetivo o encapsulamento da utilizao do GPS.Interface Mobile: est relacionado com a biblioteca e as funes da linguagem Java. Por exemplo, realizar a diviso de um texto, persistir e recuperar dados no dispositivo mobile.Camada de Negcio: a aplicao que necessitar dos dados enviados pelo dispositivo mobile. Em outras palavras, segue uma regra de negcio que informa o caminhoque deve percorrer, em tempo real ou no.No artigo de Vitorelli (2008), realizou-se o teste do framework com a utilizao de um celular smartphone Nokia E65, um mdulo GPS com conexo por bluetooth, um ponto de acesso wireless e um computador para hospedar o Web Service. A partir do manual do celular, possibilitou a comunicao entre smartphone com o GPS por bluetooth e ao smartphone com o servidor por wireless. Na camada GPS, enfrentou problemas de interferncia. Segundo Nokia (2006), o modulo GPS pode ter interferncia seno estiver em cu aberto onde a antena GPS pode se sintonizar. A partir das recomendaes do manual, foram solucionados os problemas e a aplicao se comunicou com o satlite.O autor conclui que o mercado para geobusiness promissor pois surgem novas aplicaes e tecnologias devido a popularizao e reduo dos custos dos dispositivos GPS, principalmente, incorporados aos smartphones.

Captulo 2 - Monografia

2.1. Desenvolvimento

Para facilitar o desenvolvimento do aplicativo, o sistema foi dividido em duas partes: Construo do hardware e elaborao do software, as quais so realizadas separadamente e, ao final, so integradas em um nico projeto.

2.1.1. Construo do hardware

O controle fsico do veiculo realizado pelo microcontrolador PIC, porm os comandos so provenientes do celular. A maior dificuldade do projeto consiste em realizar a comunicao entre esses dois dispositivos. Para isso utiliza-se o modulo HC-05 que contm interfaces de comunicao Bluetooth e Serial. Desta forma, esse dispositivo trabalha como intermedirio na troca de informaes entre o PIC e o aparelho celular. Na Figura 20, podeser visualizado este componente.

[pic]Figura 20 Mdulo Bluetooth HC-05

O primeiro passo aprender como funciona o modulobluetooth, para isso utilizase o manual fornecido pelo fabricante que lista os diversos comandos suportados.Para que o mdulo HC-05 funcione corretamente so necessrias algumas configuraes prvias, tais como: modo mestre ou escravo, segurana, velocidade de comunicao, entre outros. Para efetuar essa configurao pode ser utilizado o software SSCOM32E, para transmitir ao mdulo, via porta serial, uma sequncia de instrues conhecida como comandos AT. Na Figura 21, ilustrada a interface desse programa.

[pic]Figura 21 Interface do programa SSCOM32E

Aps uma anlise do circuito eltrico apresentado no manual torna-se possvel identificar os pinos de conexo e suas funcionalidades, como descrito a seguir:Pino 1 Sada de comunicao serialPino 2 Entrada de comunicao serialPino 12 Alimentao positiva com 3,3 VoltsPino 13,21 e 22 Alimentao negativaPino 31 LED indicador de statusPino 32 LED indicador de pareamentoPino 34 Configurao de modo de funcionamento.Para facilitar a conexo fsica so soldados fios nesses pinos e realizada a montagem na matriz de contatos, dessa forma, possvel verificar na prtica o funcionamento de diversos comandos suportados pelo dispositivo. Essa montagem pode ser observada na Figura 22.

[pic]Figura 22 Matriz de Contatos

Ao receber os comandos, o mdulo HC-05 responde com um OK, para indicar que o comando foi aceito sem erros, ou a palavra ERROR(0) com cdigo de erro, para indicar quehouve falha. Durante a configurao, vrios comandos so enviados, cada um com uma funo especfica. O primeiro o comando AT para verificar se o mdulo est funcionando corretamente.Depois de fazer a verificao de funcionamento do mdulo, necessrio configur-lo para trabalhar no modo escravo ou mestre. No modo escravo, o dispositivo aguarda um pedido de conexo e, no modo mestre, o mdulo procura por dispositivos para se conectar. O comando usado para verificar o modo de trabalho do HC-05 AT+ROLE? e para escolher o modo em que o mesmo vai trabalhar o AT+ROLE, no qual pode ser 0 (escravo) e 1(mestre).Uma funcionalidade importante a opo de provocar um RESET no mdulo e restaur-lo ao estado original, caso alguma configurao faa com que o mdulo deixe de trabalhar. Isso permite maior liberdade nos testes, pois possvel voltar a configurao original do mdulo a qualquer momento.De acordo com os testes, os passos iniciais para testar o funcionamento como mestre so:1 Conectar o pino 34 ao positivo da alimentao para que o dispositivo entre no modo AT e aceite os comandos pela serial.2 Ligar a alimentao do mdulo interface de comunicao serial a um computador com um programa para comunicao serial, por exemplo, o SSCOM32E, configurado na velocidade de 38400 bps, oito bits de dados, um StopBit, sem paridade.3 Envia-se o comando AT+ROLE=1\r\n, caso tudo ocorra normalmente o mdulo responde com OK.4 Desligar o mdulo, conectar o pino 34 ao negativo e ligar novamente o mdulo.A partir desse momento, o mdulo inicia a procura por dispositivos escravos para se conectar.Com o dispositivotestado, necessrio mudar o seu modo de conexo, pois no projeto, o celular que se conectar ao mdulo, ento, este deve estar configurado como escravo e para isso, basta seguir os mesmos passos, mudando apenas o comando enviado no passo trs para:AT+ROLE=0\r\nNo mdulo escravo, muito importante configurar uma senha, para garantir que apenas dispositivos conhecidos, conseguiro conectar-se a ele. Para inserir essa funcionalidade, basta enviar o seguinte comando: AT+PSWD=. No qual o a senha de quatro nmeros a ser gravada. partir desse momento o mdulo ficar visvel a outros dispositivos Bluetooth, a espera de uma conexo.O prximo passo a elaborao do esquema eltrico da placa que contm o microcontrolador, pois ele ser responsvel por interpretar os dados recebidos pela porta serial e executar a ao no veculo, como por exemplo, acionar a sirene e desligar a ignio. Essa placa substituiu a matriz de contatos.Para poder efetuar o desenvolvimento do esquema eltrico, foi utilizado o software CircuitMaker 2000, e o resultado obtido pode ser visto na figura 23.[pic]Figura 23 Esquema eltrico

No esquema eltrico pode ser visualizado o Microcontrolador PIC16F628A (A) responsvel pelo processamento lgico. O mdulo Bluetooth HC-05 (B) que serve como intermedirio na comunicao entre o celular e o microcontrolador. Os rels (C) para acionamento de cargas externas de potncia, j que as sadas do PIC apresentam apenas um sinal eltrico de baixa corrente. O regulador de tenso (D) para 3,3 volts, pois o PIC trabalha com tenses de 2 a 5 volts, mas o mdulo HC-05 somente com 3,3 volts.Aps o esquema eltricoestar totalmente concludo, possvel a elaborao de um circuito impresso para a montagem fsica do mdulo eletrnico.O circuito impresso a placa onde sero fixados os componentes eletrnicos de forma a conectar corretamente os terminais de todos os componentes. Para isso utiliza-se uma placa de fenolite que revestida em um de seus lados por uma fina camada de cobre.O desenvolvimento do desenho realizado com o uso do software gratuito expressPCB, a fim de proporcionar um acabamento mais compacto e bem distribudo, conforme mostra a figura 24. Aps isso o desenho impresso em uma folha de papel de baixa porosidade denominada glossy paper com a utilizao de uma impressora a laser.[pic]Figura 24 Circuito ImpressoPara transferir a desenho do papel para a placa de fenolite usa-se um processo muito parecido com a tcnica de transfer para camisetas. Neste processo o papel com a imagem do circuito colocado em contato com face de cobre placa de fenolite e pressionando o ferro de passar roupas em alta temperatura sobre esse papel por aproximadamente cinco minutos. Isso proporciona a aderncia da tinta da impressora ao cobre da placa, mas com o papel junto. Para retirada deste papel a placa mergulhada em gua por cerca de duas horas para o papel derreter e poder ser retirado com os dedos sob gua corrente. Falta agora a corroso do cobre que no est protegido pelo desenho, isso realizado com um banho em uma soluo de percloreto de ferro por cerca de 30 .Aps passar pelo processo de corroso, realizada a perfurao dos pontos de passagem dos terminais de cada componente eletrnico na placa, e realizado o processo de solda. O resultado do mduloeletrnico totalmente construdo com todos os componentes soldados na placa pode ser visto na figura 25.

[pic]Figura 25 Prottipo finalizado

Com o mdulo eletrnico construdo e a troca de informaes entre o mdulo bluetooth e microcontrolador funcionando, o prximo passo foi desenvolver o cdigo Assembly para tratar a informao recebida e executar as aes no veculo. Esse cdigo executado dentro do PIC de acordo com as informaes que so transmitidas pelo celular.Para desenvolver e testar o cdigo em modo depurao foi utilizada a IDE MPLab e as rotinas desenvolvidas, que envolvem aes no carro foram:1- Desligar ignio2- Acionar sirene3- Travar portas4- Destravar portas5- Piscar faris para localizar o veculo estacionado

2.1.2.Elaborao do Software

Para realizar todas as tarefas necessrias, como rastrear o veculo, receber os comandos por SMS, interpret-los, enviar comandos para o microcontrolador, confirmar o desligamento, entre outros, foi necessrio descobrir dentro da API Android o que poderia ser usado e entender como utiliz-la.Como a principal dificuldade do projeto fazer a comunicao Bluetooth com o microcontrolador, esse foi o ponto escolhido para inicializar o desenvolvimento do software nessa etapa.Basicamente, tudo o que necessrio para realizar comunicao via Bluetooth, encontra-se nas classes BluetoothAdapter, BluetoothDevice e BluetoothSocket.A classe BluetoothAdapter representa o dispositivo Bluetooth local do aparelho celular e entre suas principais funes esto: verificar se o dispositivo est ativo, iniciar busca por outros dispositivos everificar se ele ainda est buscando. Na figura 26 possvel ver um exemplo de cdigo desta funo.[pic]Figura 26 Obter, verificar se est ativo e buscar outros dispositivos.

Para obter os dispositivos encontrados, necessrio utilizar uma classe chamada BroadcastReceiver, que trabalha junto com a BluetoothAdapter. Quando o adapter inicia a busca, toda vez que um dispositivo encontrado, o sistema envia uma chamada broadcast para as aplicaes do celular que possuem o receiver configurado.No caso desse projeto, ele obtm o dispositivo remoto encontrado e coloca em uma lista Java (ArrayList). Todo dispositivo encontrado, representado pela classe BluetoothDevice, que possui entre as principais funes, os mtodos para obter o nome e preparar uma conexo a ele.Quando se encerra a busca por novos dispositivos, o sistema trata a lista de devices encontrados e verifica se algum deles o mdulo HC-05. Se for encontrado, prepara a conexo.Ao preparar uma conexo, obtido uma instncia da classe BluetoothSocket, que faz a conexo realmente. A partir desse momento, possvel enviar dados ao dispositivo utilizando a classe OutputStream, nativa do Java. Essa classe provida pelo socket.Na figura 27, possvel ver o tratamento e como feito a conexo.[pic]Figura 27 - Conexo com o dispositivo remoto.

Aps concludos todos esses passos, falta apenas enviar dados e certificar que estavam chegando corretamente ao microcontrolador. Para isso, foi ligada a sada do mdulo Bluetooth diretamente na porta serial de um computador. Com o programa SSCOM32E era possvel exibir o que estava sendo recebido pelo mdulo e transmitido pela sua portaserial de sada.Depois de todos os testes realizados, foi trocada a entrada serial do computador, pela entrada serial do PIC. Na figura 28, possvel verificar como enviar dados pelo Android com a classe OutputStream. Um ponto de extrema importncia, que os dados enviados so ASCII.

[pic]Figura 28 - Envio de dados ao dispositivo remoto

Os testes dessa etapa foram todos realizados com a utilizao de uma interface simples no celular, que possua um campo que era preenchido, o valor que seria enviado e um boto que disparava a ao.Com a conexo e troca de dados realizados e testados, o prximo passo realizado foi o de obteno das coordenadas GPS. Para esse etapa, basicamente foram utilizadas uma classe e uma interface da API Android, que chamam-se LocationManager e LocationListener, respectivamente.Para obter as coordenadas toda vez que ela muda, necessrio criar uma implementao da interface listener e registrar uma requisio de atualizao de coordenadas. Com isso, Android comea a buscar atualizaes de coordenadas.Para realizar o rastreamento possvel utilizar duas opes, uma que notifica quando a coordenadas mudam e outra por tempo. As duas opes so configurveis pelo desenvolvedor. No caso da opo de ser notificado toda vez que as coordenadas mudam, ele define a distncia mnima e no caso por tempo, define que a cada X milissegundos quer receber as coordenadas. No caso desse projeto, esto sendo utilizadas ambas as opes para maior segurana.Na figura 29 possvel ver a implementao da interface e como faz para registrar requisies de atualizao.

[pic]Figura 29 - Obter coordenadas GPS

Os testesiniciais para verificar se as coordenadas esto sendo geradas de forma, foi a mesma estratgia do passo anterior, com a diferena de que a caixa de texto no era mais necessria. Neste caso, foi utilizado uma interface com apenas um boto, que ao ser clicado, comeava todo procedimento de rastreamento.Ao recuperar as coordenadas, o aplicativo mostrava na tela do celular os nmeros referentes a longitude, e para verificar que ele estava mostrando corretamente, era necessrio apenas inserir esses dados no Google maps para ver o resultado.Com a garantia que o sistema estava rastreando corretamente, ainda faltava substituir para o celular enviar as coordenadas a um servidor ao invs de exibir na tela do celular.O terceiro ponto considerado mais importante na construo do software, foi a interpretao de mensagens SMS, pois dessa forma que se envia ordens para o microcontrolador realizar as aes necessrias.Para que um aplicativo seja notificado pelo sistema operacional toda vez que uma nova mensagem SMS chega ao aparelho necessrio criar uma classe que estende a classe BroadcastReceiver e sobrescrever o mtodo onReceive.Alguns tratamentos para filtrar apenas mensagens SMS, e obter o corpo da mensagem e quem a enviou, foram realizados. Um exemplo desse cdigo pode ser visto na figura 30.

[pic]Figura 30 BroadcastReceiver para ler mensagens SMSAlm de implementar essa classe, tambm necessrio realizar uma configurao no arquivo AndroidManifest.xml. Neste arquivo, encontram-se todas as configuraes necessrias para a aplicao. Nesse caso, registrando que a aplicao deve ser notificada quando uma mensagem chegar.Juntamente com a leitura das mensagens SMS, foi necessrio criar um protocolo para saber como seria interpretado a senha e a opo de menu. Para isso, foi definido que a mensagem conteria o primeiro caractere como a opo de menu e os subsequentes como a senha. Portanto, a mensagem deve ter no mnimo dois caracteres. Foi definido tambm os nmeros do menu que seriam utilizados. As opes ser visto a seguir:

1. - Ativar o Alarme2. Ativar o Localizador3. - Travar as Portas5. - Obter Posio Atual6. - Cancelar Localizador7. - Destravar Portas9. - Desativar o Alarme

Portanto, supondo que a senha seja SENHA DO ALARME e o usurio deseja ativar o alarme, ele deveria enviar um SMS com a seguinte mensagem 1SENHA DO ALARME.Para realizar os testes desse passo, bastava enviar mensagens ao celular, e verificar que ele estava ativando a opo correta do microcontrolador e/ou estava realizando as buscas do GPS e exibindo as coordenadas na tela.Logo em seguida, desenvolvido o mecanismo de envio de mensagem de confirmao. Esse mecanismo consiste em enviar uma mensagem para o mesmo celular que requisitou ao dizendo se foi possvel executar com sucesso ou no.As mensagens de confirmao so enviadas apenas quando o celular tenta se comunicar com o microcontrolador, pois, estas so as aes mais crticas, como ativar ou desativar o alarme, travar ou destravar a porta e ativar o localizador.Basicamente, toda vez que chega uma ao pedindo uma das opes citadas anteriormente, o sistema tenta se comunicar com o microcontrolador, qualquer falha que acontea, uma mensagem de erro enviada. Se tudo ocorrer semproblemas, enviada uma mensagem de sucesso.Para enviar mensagens automticas, a API do Android disponibiliza uma classe chamada SmsManager, que possui o mtodo sendTextMessage. Esse mtodo recebe entre os principais parmetros, o corpo da mensagem e o nmero que ser enviado.Aps o sistema que rodar dentro do celular Android estar quase pronto, faltou apenas enviar as coordenadas GPS para o servidor, portanto necessitou-se o desenvolvimento deste.A aplicao deve ser capaz de receber as coordenas e armazen-las em um banco de dados, alm de exibi-las no Google maps quando o usurio acessar o site e digitar seu ID e senha. Por se tratar de uma aplicao web simples, que utiliza banco de dados e Java, foi decidido usar o container web Tomcat, desenvolvido pela Apache Software Foundation.Para o recebimento e armazenamento das coordenadas enviadas, foi utilizado Servlet simples, que quando recebe uma requisio HTTP comum, obtm as coordenadas, o ID do automvel, a senha e armazena-os em um banco de dados MySQL.O MER (modelo entidade relacionamento) deste projeto extremamente simples, pois necessrio apenas identificar o automvel que enviou as coordenadas e armazen-las. Por isso, o sistema possui apenas duas tabelas, uma que guarda o automvel e uma que guarda o histrico das coordenadas. Na figura 31 possvel ver o MER do sistema.[pic]Figura 31 Modelo Entidade relacionamento

Para facilitar a exibio das ultimas coordenadas GPS recebidas pelo servidor web no Google maps, foi utilizado o framework JSF (Java Server Faces). Esse framework facilita a elaborao e construo de paginas Java web alm de proporcionar facilidade na construode aplicaes no modelo MVC.O resultado obtido, da tela inicial, em que o usurio digita seu ID e senha e em seguida obtm a ltima localizao enviada do automvel mostrada no Google Maps pode ser visto nas figuras 32.

[pic]Figura 32 Tela de Login e Google Maps

Para fechar o desenvolvimento do software, basta alterar para enviar as coordenadas ao servidor web em vez de exibir na tela do celular. Como o servidor est esperando uma requisio HTTP comum com parmetros, basta implementar uma chamada simples.A maior dificuldade nesse momento foi descobrir como realizar essa chamada sem possuir um browser e de maneira automatizada de dentro de uma aplicao mobile.As classes utilizadas para resolver esse problema foram as nativas da prpria API Java, URL e HttpURLConnection.Em conjunto, essas classes conseguem realizar uma requisio HTTP passando parmetros, sem a necessidade de um browser. A figura 33 mostra como realizar uma requisio.

[pic]Figura 33 Requisio HTTP

Aps o aplicativo que roda no celular e o servidor web estarem prontos, desenvolvido uma interface configurvel para o celular, que servir para definir vrios dados que o sistema necessita e mud-los sempre que necessrio. Esses dados so: Servidor Representa o endereo do servidor que o aplicativo dever utilizar para enviar as coordenadas GPS. ID Carro Servidor Cadastrado no sistema. Senha Carro Servidor Cadastrado no sistema. Nome PIC Qual nome est configurado o Bluetooth do microcontrolador para o celular encontr-lo e conectar-se. Senha Alarme (SMS) Utilizada para verificar se o SMSrecebido deve ser interpretado ou no.Aps todo o software e o hardware estarem prontos e testados individualmente foram realizados os testes finais, com todo o sistema funcionando.Os testes simulam situaes reais, nas quais so enviados os comandos com opo a ser testada e verifica se o resultado obtido o esperado. Entre os vrios testes realizados, podem-se destacar situaes de sucesso, como ativar e desativar o alarme, ativar desativar o localizador, obter posio atual do automvel e travar e destravar as portas. Um teste de extrema importncia o do sistema de rastreamento, com a movimentao pelas ruas prximas a faculdade para verificar que as coordenadas estavam sendo enviadas para o servidor.Tambm so realizados testes de falha, como por exemplo, desligar o microcontrolador e enviar os comandos para ativar ou desativar o alarme ou travar e destravar as portas. Nesse caso, no possvel realizar as aes, portanto, enviado uma mensagem de erro para o celular que solicitou a ao. Outro teste de falha o envio de uma opo de menu invlida e uma opo existente mas com a senha incorreta.No acesso ao servidor, so realizados testes de sucesso, que consistem em digitar um ID e senha corretos, bem como tentativa de acesso com esses dados invlidos ou a dados de um automvel sem autorizao.Todos os testes geraram resultados satisfatrio o que comprovou o funcionamento de acordo com os requisitos.

Captulo 3 Anlises e ResultadosCom o hardware e o software finalizados, os objetivos definidos no inicio do projeto foram alcanados de forma totalmente satisfatria. Com isso, possvel criar um sistema com tecnologia avanada que pode ser instalado em qualquer automvel eutilizar todas as funes propostas sem erros.O alarme um sistema dividido em trs grandes partes: um dispositivo fsico conectado ao sistema eltrico do veculo que utiliza microcontrolador e bluetooth; um software instalado no celular Android que fica escondido no automvel e que tem as funes de receber os comandos e obter a posio instantnea e uma aplicao instalada em um servidor java web que serve de interface para a localizao do veculo por meio do Google Maps.Outro ponto de extrema importncia, que esse trabalho pode servir de referencia para trabalhos futuros, pois se trata de um projeto desenvolvido com a tecnologia Android, que relativamente nova no mercado, com poucas referncias ou trabalhos completos publicados. Da mesma forma um ponto de grande dificuldade foi o entendimento, configurao e utilizao do mdulo de comunicao bluetooth devido a falta de exemplos prticos de utilizao e um manual extremamente confuso.Para desenvolver todo o conjunto e possuir um alarme funcional, at a finalizao dessa monografia, foi gasto algo em torno de R$ 46,30. Nesta tabela no foi includo o aparelho celular, pois trata-se de um produto que est em reduo constante no valor. No trabalho foi utilizado um Celular da marca Motorola Milestone, porm foi testado tambm em um aparelho ZTE x850 com valor de 250,00. A tabela de preo de todo material utilizado na construo do mdulo de alarme pode ser visto na tabela 2.

Tabela 2 Custo final do projeto.|Componente |Valor Unitrio |Valor Total ||PIC 16F628A|R$ 7,60 |R$ 7,60 ||Cristal Oscilador 12.Mhz |R$0,90 |R$0,90 ||Mdulo Bluetooth HC-05 |R$ 20,00 |R$20,00 ||Regulador tenso |R$1,40 |R$1,40 ||Transistores |R$0,15 |R$0,60 ||Resistores |R$0,02 |R$0,20 ||Led |R$ 0,15 |R$ 1,05 ||Capacitor 100nF |R$0,35 |R$1,75 ||Diodo 1N4148 |R$0,05 |R$0,20 ||Reles |R$1,20 |R$4,80 ||Bornes |R$1,30 |R$5,20 ||Soquetes 18 pinos |R$1,30 |R$2,60 ||Custo total |R$46,30|

Captulo 4 Consideraes Finais

Esse projeto realiza todas as funes propostas sem erros, mas, as tecnologias utilizadas possuem falhas, estre as quais pode-se destacar:1- Telefonia mvel indisponvel: quando a rede mvel est indisponvel seja por qual motivo for, como por exemplo, um sistema que bloqueia os sinais GSM ao redor ou por falha na rede, no possvel realizar aes no alarme.2- Sinal de satlite indisponvel: quando o automvel est em um local fechado, como tneis, o celular obtm uma localizao aproximada, pois utiliza uma triangulao com as torres de telefonia.Vale ressaltar que os sistemas comerciais atuais enfrentam os mesmos problemas, independente de seu custo ou tecnologia utilizada. Desde o inicio, o objetivo sempre foi utilizar a tecnologia em questo e no resolver suas falha por meio de um sistema de alarmes infalvel e perfeito.Como trabalho futuro pode ser sugerido o disparo de avisos quando algum tenta agir sobre o veiculo e o proprietrio no est presente. Atualmente o sistema funciona apenas quando acionado pelo usurio.Outra opo eliminar a parte web com uma simplificao significativa do sistema, neste caso seria somente uma troca de mensagens SMS na qual o usurio envia o comando para o bloqueio e recebe uma mensagem com a confirmao e as coordenadas atuais.

Referncias

PEREIRA, Lcio Camilo Oliva; SILVA, Michel Loureno da. Android para Desenvolvedores. Rio de Janeiro: Brasport, 2009.

ROGERS, Rick. et al. Desenvolvimento de Aplicaes Android. So Paulo: Novatec Editora, 2009.

ESTATSTICA SSP-SP. Comunicado Lei 9.155/95 Resoluo161/01 2 TRIMESTRE DE 2010. Disponvel em: . Acesso em: 17 set. 2010.

PEREIRA, Fbio. Microcontroladores PIC: tcnicas avanadas. 6.ed. So Paulo: rica, 2007.

SILVA JUNIOR, Vidal Pereira da. Microcontroladores PIC: Teoria e Prtica So Paulo: Autor - Editor independente, 1997.

RT-145. Rastreador GSM com Alarme. Disponvel em: . Acesso em: 25 set. 2010.

SOUZA, David Jos de. Desbravando o PIC - Ampliado e Atualizado para PIC 16F628A. 11.ed. So Paulo: rica, 2007.

FOROUZAN, Behrouz A. Comunicao de dados e redes de computadores. 4. ed. So Paulo: McGRaw-Hill, 2008.

MCNAMARA, Joel. GPS for Dummies. 2. Ed. Hoboken, NJ: Wiley Publishing Inc., 2004.

DEITEL, Harvey M., DEITEL, Paul J. Java como programar. 6. ed. So Paulo: Pearson, 2005.

SIERRA, Kathy, BATES, Bert, BASHAM, Bryan. Use a Cabea Servlet & JSP. 2. Ed. Rio de Janeiro: Alta Books, 2008.

STALLINGS, William. Redes e Sistemas de Comunicao de Dados: teoria e aplicaes corporativas. 5. ed. Rio de Janeiro: Elsevier, 2005.

TANENBAUM, Andrew S. Redes de Computadores. 11. ed. Rio de Janeiro: Elsevier, 2003.

LECHETA, Ricardo R. Google Android. 1. ed. So Paulo: Novatec Editora, 2009.

SILVA, Luciano dipo Pereira da; Utilizao da Plataforma Android no desenvolvimento de um aplicativo para o cculo do Balano Hdrico Climatolgico, Projeto Final de Curso, Universidade Estadual do Mato Grosso do Sul, 2009.

VITORELLI, Alexandre; Framework Java em Ambiente Distribudo com Posicionamento Global, Iniciao Cientfica Discente, Anhanguera Educacional S.A., 2008.

NOKIA: Nokia Wireless GPS Module (LD-3W), User Guide, USA, 2006.

Apndices

ApndiceA Configurao do Ambiente Android

Para enviar os comandos para o Mdulo Bluetooth utilizado um celular com sistema operacional Android. Antes da programao necessrio efetuar a configurao de um ambiente de desenvolvimento para essa tecnologia. Os passos para essa configurao so descritos abaixo:Para comear a configurao necessrio fazer o download do SDK (Software Developers Kit) em http://dl.google.com/android/android-sdk_r11-windows.zip descompactar o arquivo preferivelvente em c: e abrir o executvel SDK Manager.exe e clicar em Install, conforme Figura 23.[pic]Figura 34 - Primeiro passo da instalao do SDK do Android

Para criar um emulador clique em Virtual Devices e em seguida, em New. Esse passo pode ser visto na Figura 24.

[pic]Figura 35 - Criao do emulador do AndroidAdicionar um nome qualquer para o emulador, selecionar a verso do Android que ir rodar e clicar em Create AVD (Android Virtual Device), conforme Figura 25.[pic]Figura 36 - Criao de uma AVD

Para testar o emulador criado, basta selecion-lo, clicar em Start conforme pode ser visto na figura 26.[pic]Figura 37 Iniciao do emulador

Em seguida em Launch, conforme Figura 27.

[pic]Figura 38 Execuo do emulador Android

Se todos os passos detalhados acima ocorrer sem erros, o emulador ir surgir na tela, conforme Figura 28.[pic]Figura 39 - Emulador Android em execuo

A IDE utilizada para programar o Eclipse e para fazer o download acesse http://www.eclipse.org/downloads/packages/eclipse-classic-362/heliossr2A IDE Eclipse no necessrio instalar, preciso apenasdescompact-la em qualquer lugar do computador. Sugesto de local em C:\eclipse.Para desenvolver para Android dentro do Eclipse, necessrio instalar o ADT (Android Development Tools) plugin. Para isso, basta dentro do Eclipse acessar Help > Install New Software, em seguida clicar em Add. No campo Name digitar ADT plugin e no Location https://dl-ssl.google.com/android/eclipse/ (acesso em 13/05/2011), conforme a Figura 29.[pic]Figura 40 - Conexo com o servidor do Google para instalar o ADT Plugin

Em seguida, selecionar em Work with o ADT Plugin adicionado no passo anterior, clicar no check box da opo Developer Tools, clicar em next e terminar a instalao, conforme a Figura 30.

[pic]Figura 41 Instalao do ADT Plugin-----------------------privateBluetoothAdaptermBluetoothAdapter;...// Obtm dispositivo Bluetooth defaultmBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();// Verifica se o dispositivo est ativadoif (mBluetoothAdapter.isEnabled()) {// Se estiver ativado, inicia busca por outros dispositivosmBluetoothAdapter.startDiscovery();// Aguarda at terminarem as buscaswhile (mBluetoothAdapter.isDiscovering()) {try {synchronized (this) {this.wait(1000);}} catch (InterruptedException e) {e.printStackTrace();}}}

private final ListlstDevices;privateBluetoothDevicealarmeDevice;privateBluetoothSocketbtSocket = null;private OutputStream outStream = null;// Percorre toda lista de devices encontradosfor (BluetoothDevice device : lstDevices) {// Verifica se algum deles o microcontrolador (pelo nome)if (settings.getString("picName", "").equals(device.getName())) {alarmeDevice = device;break;} else {alarmeDevice = null;}}// Verifica se encontrou o dispositivoif (alarmeDevice != null) {BluetoothSocket tmp = null;try {// Prepara a conexoMethod m =alarmeDevice.getClass().getMethod("createRfcommSocket", new Class[] {int.class});// Obtminstncia do BluetoothSockettmp = (BluetoothSocket) m.invoke(alarmeDevice, 1);} catch (Exception e) {e.printStackTrace();}btSocket = tmp;try {// Tenta conectar-se ao dispositivobtSocket.connect();outStream = btSocket.getOutputStream();} catch (Exception e) {e.printStackTrace();}}

privateOutputStreamoutStream = null;try {outStream.write(codigo);} catch (IOException e) {e.printStackTrace();}

privateLocationManagerlocationManager;// Obtminstncia do LocationManagerlocationManager = (LocationManager) service.getSystemService(Context.LOCATION_SERVICE);// Registra requisio de atualizao de localidadelocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 0, gpsLocationListener,Looper.getMainLooper());// Cria um LocationListenerprivate final LocationListenergpsLocationListener = new LocationListener() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {switch (status) {caseLocationProvider.AVAILABLE:break;caseLocationProvider.OUT_OF_SERVICE:break;caseLocationProvider.TEMPORARILY_UNAVAILABLE:break;}}

// Toda vez que a localizao muda, esse mtodo chamado@Overridepublic void onLocationChanged(Location location) {// Mostra as coordenadas obtidas natela do celularToast.makeText(this,String.valueOf(location.getLatitude())+String.valueOf(location.getLongitude()),Toast.LENGTH_LONG);}};

public class SmsReceptor extends BroadcastReceiver {

static final String ACTION = "android.provider.Telephony.SMS_RECEIVED";

@Overridepublic void onReceive(Context context, Intent intent) {// Verifica se a ao recebida de um SMS recebidoif(intent.getAction().equals(ACTION)) {Bundle bundle= intent.getExtras();if(bundle != null ){Object [] pdus=(Object[]) bundle.get("pdus");// Obtm a mensagem SMSSmsMessage message = SmsMessage.createFromPdu((byte[]) pdus[0]);// Verifica se no e-mailif (!message.isEmail()) {// Verifica se mensagem recebi possui pelo menos 2 caracteresif(message.getMessageBody().length() >=2 ) {Intent intentAlarme = new Intent("ALARME_ANDROID");intentAlarme.putExtra("Message", message.getMessageBody());intentAlarme.putExtra("Cellphone", message.getOriginatingAddress());// Dispara servio de tratamento de mensagenscontext.startService(intentAlarme);}}}}}}

try {URL url = new URL(urlString);HttpURLConnection connection =(HttpURLConnection) url.openConnection();connection.setRequestProperty("Request-Method", "GET");connection.setDoInput(true);connection.setDoOutput(false);connection.connect();connection.getResponseMessage();connection.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}