Você está na página 1de 79

PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL FACULDADE DE ENGENHARIA - FENG

Bruno Souza de Oliveira Ccero Pitombo Leonardo Nunes Alegre

SISTEMA DE MONITORAO VEICULAR VIA GPRS

Porto Alegre 2008

Bruno Souza de Oliveira Ccero Pitombo Leonardo Nunes Alegre

SISTEMA DE MONITORAO VEICULAR VIA GPRS

Monografia apresentada como um dos prrequisitos para concluso do curso de Engenharia de Computao na Pontifcia Universidade Catlica do Rio Grande do Sul.

Orientador: Professor Eduardo Augusto Bezerra

Porto Alegre 2008

Bruno Souza de Oliveira Ccero Pitombo Leonardo Nunes Alegre

SISTEMA DE MONITORAO VEICULAR VIA GPRS

Monografia apresentada como um dos prrequisitos para concluso do curso de Engenharia de Computao na Pontifcia Universidade Catlica do Rio Grande do Sul.

Aprovada em____de______________de 2008.

Banca Examinadora:

______________________________________ Dr. Eduardo Augusto Bezerra (orientador) PUCRS

______________________________________ Dr. Csar Augusto Missio Marcon - PUCRS

______________________________________ Esp. Edgar Bortolini - PUCRS

Dedicamos essa monografia aos nossos pais, namoradas e amigos que sempre nos apoiaram durante a nossa graduao.

AGRADECIMENTOS

Aos nossos pais pelo suporte, dedicao e incentivo para o nosso crescimento pessoal e profissional. Aline Goulart Kruel, pelo auxlio na formatao do texto com as normas da ABNT. Ao nosso orientador Eduardo Augusto Bezerra pela sabedoria e apoio dispensado para a realizao desse trabalho. Ao professor Jlio Csar Marques de Lima pela ajuda nos assuntos referentes placa desenvolvida na disciplina de Laboratrio de Processadores. Ao Willian Carlos de Souza da Azego Technology Services (Br) Ltda pelo auxlio na resoluo de dvidas referentes programao do mdulo. Ao Euclides Wortmann Pitombo pelo suporte na aquisio das peas necessrias ao projeto.

RESUMO

Este projeto tem o objetivo de propor um sistema de monitorao veicular via GPRS. Inicialmente sero apresentadas pesquisas sobre as tecnologias envolvidas, logo aps sero especificados os requisitos de software e hardware necessrios para o funcionamento e sero demonstrados o planejamento e a estruturao dos sistemas desenvolvidos. E, finalizando, ser apresentado um caso de simulao para esse tipo de telemetria. A motivao para esse projeto vem da crescente utilizao de redes de telefonia celular para diversos tipos de aplicaes que necessitam de mobilidade e, tambm, da necessidade de criar mecanismos que auxiliem no gerenciamento do trnsito de veculos. Palavras-chave: Rastreamento. GPRS. Velocidade. Localizao. GPS. Veculo.

ABSTRACT

This project objectives to consider a vehicle monitoring system using GPRS. Initially it will be presented research on the involved technologies, soon after it will be specify the requirements of necessary software and the hardware for the functioning and it will be demonstrate the planning and the structuration of the developed systems. And, finally, will be presented a simulation case for this type of telemetry. The motivation for this project comes from the increasing use of cellular networks for different types of applications that require mobility and the necessity to create mechanisms to manage the traffic of vehicles. Keywords: Tracking. GPRS. Speed. Localization. GPS. Vehicle.

LISTA DE FIGURAS

Figura 1: Componentes do Sistema de Monitorao Veicular .................................................18 Figura 2: Sistema de Telefonia Celular ....................................................................................19 Figura 3: Mdulo XT65............................................................................................................29 Figura 4: Camadas da Arquitetura J2ME .................................................................................31 Figura 5: Hardware da Disciplina de Laboratrio de Processadores........................................35 Figura 6: Diagrama de Blocos do Microcontrolador MSC1211 ..............................................36 Figura 7: Esquemtico do Microcontrolador MSC1211 ..........................................................36 Figura 8: Terminal V2.5 ...........................................................................................................37 Figura 9: Esquemtico do Conector KRE e o Drive de Potncia.............................................39 Figura 10: Diagrama de Blocos da Memria EEPROM ..........................................................40 Figura 11: Esquemtico do Smart Card ...................................................................................40 Figura 12: Esquemtico do Teclado .........................................................................................41 Figura 13: Esquemtico da Serial.............................................................................................42 Figura 14: Arquitetura Geral do Sistema..................................................................................43 Figura 15: Arquitetura Detalhada do Sistema ..........................................................................44 Figura 16: Diagrama de Atividades do Sistema .......................................................................46 Figura 17: Diagrama de Classe do Subsistema Veicular..........................................................47 Figura 18: Classe SMS do Subsistema Veicular ......................................................................48 Figura 19: Classe Serial do Subsistema Veicular.....................................................................49 Figura 20: Classe ConectaInternet do Subsistema Veicular.....................................................51 Figura 21: Classe Monitoramento_Veicular do Subsistema Veicular .....................................53 Figura 22: Modelagem de Dados das Aplicaes Web ............................................................55 Figura 23: Diagrama de Classe do Sistema Web......................................................................56 Figura 24: Classe Banco do Sistema Web ................................................................................57 Figura 25: Classe Pgina do Sistema Web................................................................................58 Figura 26: Classe Relatrio do Sistema Web............................................................................60 Figura 27: Diagrama de Caso de Uso da Aplicao Cliente ....................................................63 Figura 28: Diagrama de Caso de Uso da Aplicao Gerencial ................................................64 Figura 29: Simulao do Projeto do Mdulo ...........................................................................66 Figura 30: Simulao de Todo o Projeto ..................................................................................67 Figura 31: Interface de Interao com o Cliente ......................................................................67

Figura 32: Tela Inicial para Cliente Logado.............................................................................68 Figura 33: Tela de Informaes de Veculo .............................................................................69 Figura 34: ltima Localizao do Veculo...............................................................................70 Figura 35: Histrico do Veculo ...............................................................................................71 Figura 36: Rota de Histrico Armazenado ...............................................................................72 Figura 37: Interface de Interao com o Administrador da Ferramenta...................................73

LISTA DE SIGLAS

API CDMA CLDC CNH FTP GPRS GPS GSM HTML HTTP IP J2EE J2ME J2SE JSP LCD PERL PHP RAM RS232 SIM SMS SQL TDMA TCP UML USB URL XML

Application Programming Interface Code Division Multiple Access Connected Limited Device Configuration Carteira Nacional de Habilitao File Transfer Protocol General Packet Radio Service Global Positioning System Global System for Mobile Communications Hypertext Markup Language Hypertext Transfer Protocol Internet Protocol Java 2 Enterprise Edition Java 2 Micro Edition Java 2 Standard Edition Java Server Pages Liquid Crystal Display Practical Extraction and Report Language Personal Home Page Random Access Memory Recomended Standard 232 Subscriber Identification Module Short Message Service Structured Query Language Time Division Multiple Access Transmission Control Protocol Unified Modeling Language Universal Serial Bus Uniform Resource Locator EXtensible Markup Language

10

SUMRIO

1 INTRODUO ...................................................................................................................12 1.1 Caso de Aplicao.............................................................................................................13 1.2 Objetivo Geral ..................................................................................................................13 1.3 Objetivos Especficos........................................................................................................14 1.4 Organizao do Texto ......................................................................................................15 2 SISTEMAS INTELIGENTES DE TRANSPORTE.........................................................16 2.1 Vantagens e Aplicaes ....................................................................................................16 2.2 Componentes.....................................................................................................................17 3 REDES DE TELEFONIA CELULAR ..............................................................................19 3.1 Funcionamento da Telefonia Celular .............................................................................19 3.2 As Geraes da Telefonia Celular e seus Sistemas ........................................................20 3.2.1 Primeira Gerao .............................................................................................................20 3.2.2 Segunda Gerao .............................................................................................................21 3.2.3 Segunda Gerao e Meia .................................................................................................22 3.2.4 Terceira Gerao..............................................................................................................23 4 ESTRATGIAS E TECNOLOGIAS EMPREGADAS...................................................25 4.1 Engenharia de software ...................................................................................................25 4.2 Desenvolvimento Web ......................................................................................................26 4.2.1 PHP..................................................................................................................................26 4.2.2 Zend .................................................................................................................................26 4.2.3 Apache Server..................................................................................................................27 4.2.4 Ferramenta de Banco de Dados .......................................................................................28 4.3 Mdulo XT65 ....................................................................................................................28 4.3.1 Viso Geral ......................................................................................................................29 4.3.2 Java ..................................................................................................................................30 4.3.2.1 Plataforma J2ME .........................................................................................................30 4.3.2.2 NetBeans.......................................................................................................................32 4.3.3 Ferramenta de simulao Wireless Toolkit 2.5.2 for CLDC...........................................33 4.3.4 GPS..................................................................................................................................33 4.4 Interfaces e Perifricos.....................................................................................................34 4.4.1 Plataforma MSC1211 ......................................................................................................35

11

4.4.1.1 Terminal .......................................................................................................................37 4.4.1.2 Assembly .......................................................................................................................38 4.4.2 Motor DC.........................................................................................................................38 4.4.3 Smart Card.......................................................................................................................39 4.4.4 Teclado ............................................................................................................................40 4.4.5 Porta Serial ......................................................................................................................42 5 DESENVOLVIMENTO DO SISTEMA............................................................................42 5.1 Aplicao embarcada no Mdulo GPRS/GPS ...............................................................47 5.2 Aplicaes Web .................................................................................................................54 5.3 Aplicao Cliente ..............................................................................................................63 5.4 Aplicao Gerencial..........................................................................................................64 5.5 Desenvolvimento do software existente na placa ...........................................................64 6 SISTEMA IMPLEMENTADO E RESULTADOS OBTIDOS .......................................66 7 CONSIDERAES FINAIS..............................................................................................74 REFERNCIAS .....................................................................................................................76

12

1 INTRODUO

H muito tempo o homem depende da comunicao para se organizar, realizar tarefas e estabelecer relacionamentos. Com o passar dos anos essa dependncia no somente aumentou como tambm houve a necessidade de aprimorar a transmisso das informaes. Esse aperfeioamento veio atravs do desenvolvimento e evoluo de vrias tecnologias. Isso foi necessrio porque a obteno de uma informao em um curto espao de tempo e em qualquer lugar pode fazer a diferena na sociedade competitiva que vivemos. Uma rea tecnolgica que est em constante atualizao e que envolve inmeras aplicaes a rede de telefonia celular. Essa rede possui as seguintes geraes [WIK 08] [FOR 06]: primeira gerao (1G) que analgica e de banda estreita com os sistemas Nordic Mobile Telephony (NMT) e Advanced Mobile Phone System (AMPS); segunda gerao (2G) que digital e de banda estreita, utilizando GSM, CDMA e TDMA; segunda gerao e meia (2,5G) que uma evoluo da 2G com melhor capacidade na transmisso de dados, a qual emprega as tecnologias General Packet Radio Service (GPRS), Enhanced Data rates for GSM Evolution (EDGE), High-Speed Circuit-Switched Data (HSCSD) e 1x (single-carrier) Radio Transmission Technology (1xRTT); terceira gerao (3G) que digital e de banda larga com Universal Mobile Telecommunications System (UMTS) e cdma2000. A 2,5G trouxe grandes mudanas na Internet mvel, pois a velocidade muito superior e porque adota uma tecnologia de pacotes e no mais a comutao de circuitos utilizada pelas geraes anteriores permitindo assim que o acesso Internet seja realizado com custos menores [SIQ 05]. O GPRS, uma das tecnologias da 2,5G, possibilita uma conexo instantnea sendo que a informao rapidamente enviada ou recebida segundo a necessidade de utilizao. Nessa tecnologia o meio de transmisso est sempre disponvel para o usurio, desse modo fala-se que o indivduo est permanentemente conectado. No entanto o valor cobrado no pelo tempo de conexo rede e, sim, pela quantidade de pacotes de dados transmitidos [CAR 08]. O mdulo XT65 da Siemens agrega as tecnologias GPRS e GPS, assim desenvolve solues de telemetria veicular atravs da linguagem Java. Com esse equipamento possvel receber e enviar informaes para o veculo equipado, sabendo, por exemplo, a sua coordenada e velocidade em tempo real. A monitorao veicular um mercado que vem crescendo bastante no Brasil, com um pouco mais de trs anos de existncia, registra uma taxa de crescimento que varia de 25% a

13

30% ao ano. Um dos motivos desse crescimento se deve ao fato do rastreamento e telemetria de veculos usarem a comunicao de dados de alta velocidade disponvel na telefonia celular [REV 08]. Um importante incentivo para a realizao desse estudo se deve s vantagens apresentadas pela tecnologia GPRS, tais como: alta velocidade na transmisso de dados, conexo rpida e permanente, reduo de custos e tambm a possibilidade de obter um melhor entendimento da linguagem de programao Java, a qual ser utilizada no desenvolvimento da aplicao de envio de telemetria [CAR 08].

1.1 Caso de Aplicao

No Brasil, a fiscalizao das leis de trnsito, como para o excesso de velocidade (causador principal de acidentes nas estradas), pouco rigorosa. Falta mo-de-obra e equipamentos para fiscalizar os condutores de veculo. Um sistema de monitorao de veculos permite verificar essa e outras imprudncias, alm de auxiliar no combate a roubos e furtos, e tambm no planejamento e gerenciamento do trnsito. Nos veculos equipados com mdulos que apresentam tecnologia GPRS/GPS existe a possibilidade de saber a sua localizao e velocidade (pelo GPS). O condutor receber uma mensagem, via GPRS, sempre que exceder o limite de velocidade, informando o limite da via, sendo comunicado da infrao e multado. No presente caso de aplicao, as informaes de documentao veicular e do condutor sero simuladas, enviando-as para um servidor onde sero analisadas e, em caso de irregularidade, o veculo no ser ligado e o motorista ser notificado via SMS.

1.2 Objetivo Geral

O objetivo geral desse trabalho ser simular um sistema de monitorao de automveis. Obter informaes de localizao, velocidade, documentao veicular e do motorista. A partir desses dados, informar o condutor em caso de irregularidades e efetuar as devidas providncias.

14

1.3 Objetivos Especficos

Para atingir o objetivo principal os seguintes passos devero ser realizados: Pesquisar o Datasheet do mdulo XT65 e demais documentos para a correta utilizao dos recursos oferecidos pelo Java. Aprender a programao Java, pois o mdulo XT65 permite a utilizao dessa plataforma e entende-se como sendo uma forma mais acessvel e rpida de program-lo. Adquirir conhecimento sobre a plataforma NetBeans IDE 6.0, para o desenvolvimento da aplicao embarcada no mdulo. Tomar conhecimento da tecnologia de comunicao GPRS para o envio de informaes via telemetria. Interpretar as coordenadas vindas do GPS (protocolo NMEA), esse um ponto fundamental no projeto de maneira que atravs da localizao do veculo que ser estruturado esse trabalho. Interpretar os sinais de velocidade, documentao do motorista e chassi do veculo provenientes do sistema microprocessado, porque essas informaes sero inseridas numa base de dados existente em uma plataforma Web de onde os usurios podero consultar esses dados. Pesquisar sobre a ferramenta Wireless Toolkit 2.5.2 for CLDC, pois servir para simular a aplicao do mdulo. Configurar um servidor Web com o objetivo de sustentar a aplicao Web que ser desenvolvida. Aprender a linguagem de programao PHP, devido a sua utilizao no desenvolvimento das aplicaes Web. Tomar conhecimento da ferramenta DBDesigner, que ser utilizada para construo da modelagem do banco de dados para a aplicao Web. Aprender sobre desenvolvimento de Banco de Dados com o PostgreSQL, pois o sistema utilizar essa ferramenta para o armazenamento de dados oriundos do veculo. Pesquisar sobre a linguagem PLPGSQL, que a linguagem procedural do PostgreSQL, com ela podemos criar funes, views, etc. Realizar testes e analisar os resultados obtidos.

15

Na realizao desse trabalho ser utilizada a linguagem de programao Java para interpretar os sinais do sistema microprocessado no veculo (velocidade, localizao, documentos do condutor e do veculo) e a tecnologia GPRS para telemetria dessas monitoraes.

1.4 Organizao do Texto

Essa monografia tem o objetivo de desenvolver um caso de aplicao de monitorao veicular via GPRS. Para tanto foi estruturada da seguinte forma: O captulo dois apresenta uma viso geral sobre sistemas inteligentes de transporte, descrevendo suas vantagens, funcionalidades e principais componentes. No captulo trs apresentado o funcionamento da telefonia celular com suas geraes e seus sistemas. No captulo quatro so enfocadas as principais caractersticas das estratgias e tecnologias empregadas na realizao do projeto. O captulo cinco aborda a maneira como o sistema foi desenvolvido. E no captulo seis consta o sistema implementado e os resultados obtidos.

16

2 SISTEMAS INTELIGENTES DE TRANSPORTE

Para adicionar rea de transporte segurana, confiana e convenincia foram desenvolvidos os sistemas para inteligncia no transporte (SIT) que pretende combinar a tecnologia da informao, comunicao e rastreamento com o uso da internet [GAD 07].

2.1 Vantagens e Aplicaes

As empresas de transportes obtm diversos benefcios com a monitorao de suas frotas, alguns deles so: comunicao com os veculos em tempo real; acompanhamento da durao de viagens; informaes sobre as condies de trfego, evitando desperdcio de tempo; e, ainda, permitindo um melhor planejamento de rotas [FIG 05]. Essa busca por viagens mais rpidas possibilita indiretamente uma menor agresso ao meio ambiente, de maneira que ocorre uma reduo no consumo de combustvel, diminuindo a emisso de gs carbnico [FIG 05]. Outra vantagem percebida a segurana. Existem sistemas de monitorao que bloqueiam os veculos e acionam seus alarmes, inibindo roubos. Alm disso, h preocupao com a segurana do condutor, uma vez que alguns veculos possuem sistemas integrados que o auxiliam na preveno de acidentes como, por exemplo, assistente de mudana de faixa de rodagem e sistema de deteco de fadiga e erro do condutor [FIG 05]. O SIT tambm apresenta grande utilidade para um gerenciamento de trnsito, pois com esse sistema possvel verificar se os condutores esto respeitando as sinalizaes e os limites de velocidade e, assim, aplicar punies aos infratores. Dessa maneira, o trfego de veculos em diversas regies poderia melhorar consideravelmente. Alm disso, com o sistema inteligente de transportes possvel documentar o histrico das posies de um veculo atravs de relatrios, enviar para o veculo comandos (travamento ou abertura de portas, bloqueio de combustvel, etc.), ou ainda, enviar mensagens para o motorista.

17

2.2 Componentes

Uma das tecnologias utilizadas pela SIT a monitorao de veculos, cujos componentes principais so [FIG 05]: a) Sistema de posicionamento [KAP 96] serve para informar a localizao de um objeto. Quando houver a necessidade de alta preciso, utiliza-se um receptor GPS via satlite. b) Meio de comunicao [FOR 06] a maneira como os dados sero transmitidos do veculo monitorado para a central de monitorao. Pode ser: via rdio com cobertura restrita a regies especficas e com custo mais baixo (air-time livre); via satlite atravs do modelo orbital, esse meio possui air-time mais caro e na teoria apresenta cobertura em qualquer rea; via rede de telefonia celular com cobertura nas principais rodovias e em regies urbanas, apresentando uma boa relao custo-benefcio. Atualmente, devido a esse fato, o uso do GPRS um dos meios mais recomendados. c) Sistema informatizado de monitorao e gerenciamento o software utilizado. Em geral, esse tipo de software permite acompanhar os veculos monitorados em mapas que, dependendo do nvel de preciso, mostram detalhadamente bairros e ruas e recebem atualizaes referentes ao posicionamento do carro monitorado em intervalos peridicos de tempo. Alguns sistemas disponibilizam as localizaes dos veculos via Web e montam percursos baseados em distncias reais, respeitando mos de direo [FIG 05]. Para o desenvolvimento de um sistema de monitorao importante considerar: as plataformas (Windows, Linux, etc.) que iro suport-lo; a arquitetura (cliente-servidor) que ser utilizada e a base de dados para a gerao de relatrios como de paradas indevidas, limite de velocidade excedido, rotao do motor, etc. Outro fator a ser considerado se refere atualizao de mapas, que dever ser feita com freqncia, devido s constantes mudanas de mos de direo, de nomes de ruas e de abertura de novas ruas, etc. A figura a seguir representa os componentes utilizados no sistema de monitorao veicular:

18

Figura 1: Componentes do Sistema de Monitorao Veicular

19

3 REDES DE TELEFONIA CELULAR

3.1 Funcionamento da Telefonia Celular

A telefonia celular dividida em reas de coberturas as quais so atendidas por um transmissor de baixa potncia cujo nome Estao Rdio-Base (ERBs). Esse transmissor se destina a atender a procura dos usurios que pertencem a uma determinada rea de cobertura. O usurio dever utilizar uma freqncia livre (canal disponvel) para se conectar ERB; a liberao dos canais se d por ordem de chegada dos usurios, que sero atendidos conforme a disponibilidade das freqncias na Estao Rdio Base [CAM 05]. Quando o usurio se conecta a uma ERB, recebe duas faixas de freqncias diferentes, assim pode ouvir e falar ao mesmo tempo. As freqncias utilizadas para a transmisso do telefone Estao Rdio Base (Up Link) vo de 824 849 MHz, e as freqncias usadas para a transmisso da ERB ao telefone (Down Link) vo de 869 894 MHz [CAM 05]. Todas as Estaes Rdio Base esto conectadas em uma Central de Comutao e Controle (CCC), a qual mantm conexo rede pblica de telefonia. A CCC realiza o controle e a interligao das ERBs, a monitorao de Handoff (quando ocorre a mudana de uma ERB para outra durante o deslocamento do usurio) e o redirecionamento de chamada via Roaming (quando ocorre o deslocamento do usurio da rea de cobertura de um terminal de controle para outro) [CAM 05]. A figura a seguir mostra o sistema de telefonia celular:

Fonte: http://www.vivo.com.br/portal/Vivo_cartilha/images/01.jpg

Figura 2: Sistema de Telefonia Celular

20

Na seqncia do texto sero tratadas as geraes de telefonia celular e seus respectivos sistemas.

3.2 As Geraes da Telefonia Celular e seus Sistemas

3.2.1 Primeira Gerao

Essa gerao foi desenvolvida no incio dos anos 80, nela estabeleceu-se a estrutura e as funes bsicas da telefonia celular como, por exemplo, roaming e handoff entre clulas [INS 08]. Com a primeira gerao, que possua sistemas analgicos, era possvel apenas transmitir voz no mesmo pas. Para isso era usado acesso mltiplo por diviso de freqncia (FDMA) [INS 08]. Nessa gerao foram utilizados dois sistemas [INS 08]: a) NMT Esse sistema foi a primeira rede da telefonia mvel do mundo, utilizado por pases escandinavos, alguns pases europeus, partes da Rssia, Oriente Mdio e sia. Primeiramente utilizou-se o NMT na banda de 450 MHz, com a necessidade de uma maior capacidade passou-se a utilizar a banda de 900 MHz. b) AMPS Foi desenvolvido pelo Bell Labs nos Estados Unidos em 1979 entrando em operao nesse mesmo pas em 1983 e se tornou o sistema analgico dominante a nvel mundial, sendo usado na Amrica Latina, Austrlia, Nova Zelndia, algumas partes da Rssia e sia Pacfico. Esse sistema utiliza a freqncia de 800 MHz reservada nos Estados Unidos para telefonia mvel. No AMPS aloca-se um canal de voz que permanece dedicado durante toda a durao de uma chamada. Depois de ser o padro dominante dos sistemas celulares no Brasil, o AMPS utilizado hoje essencialmente para roaming. No final de 2002 ainda havia em operao 800 mil terminais celulares AMPS no Brasil.

21

3.2.2 Segunda Gerao

A segunda gerao surgiu no final dos anos 80, sendo substitudos os sistemas analgicos pelos digitais. O sistema digital trouxe a possibilidade de ter um melhor aproveitamento do espectro de freqncias, de fazer o roaming entre operadoras diferentes, de melhorar a qualidade do servio e adicionar servios de dados, como mensagens de texto e multimdia [JUN 04]. Na segunda gerao foram usados os seguintes sistemas [JUN 04]: a) GSM O GSM um dos lderes dos sistemas celulares digitais. Esse sistema digitaliza e comprime os dados e, logo aps, envia e estabelece um canal com dois outros fluxos de dados de usurios, cada um no seu prprio slot de tempo. O carto SIM o componente nico e essencial dos telefones GSM. So utilizadas trs bandas de freqncias dependendo do pas: o GSM 900 (que transmite na banda de freqncia de 900 MHz) a principal rede digital da Europa, sendo utilizado tambm na regio da sia-Pacfico; o GSM 1800 (que transmite na banda de freqncia de 1800 MHz) utilizado na Europa e na sia, porm o mais utilizado o GSM 900 e o GSM 1900 (que transmite na banda de freqncia de 1900 MHz) o sistema GSM utilizado principalmente nas Amricas e no Canad. b) CDMA Nesse sistema o transporte das informaes ocorre por meio de ondas de rdio. O CDMA simplifica o planejamento, isso porque todas as mquinas transmitem e recebem na mesma freqncia; utiliza as freqncias disponveis de forma muito eficiente e, ainda, usa um exclusivo sistema de cdigos que permite receber o sinal desejado mesmo em condies adversas. No sistema analgico cada telefone utiliza um par de freqncias de rdio (canal), sendo um para transmitir informaes e outro para receb-las. Cada usurio usa um canal, os quais possuem uma freqncia especfica e no se juntam com os outros. No CDMA, todos os usurios transmitem e recebem informaes usando o mesmo canal, ao mesmo tempo.

22

c) TDMA O sistema TDMA divide radio freqncia em slots de tempo e aloca os slots para mltiplas chamadas. Desse modo, uma nica freqncia suporta mltiplos canais de dados simultaneamente. A tecnologia compartilha um canal de comunicao entre vrios usurios.

3.2.3 Segunda Gerao e Meia

A 2,5 gerao utiliza a tecnologia de pacotes, sendo que a cobrana feita por bits transmitidos e no mais pelo tempo de conexo. Isso permite que o acesso a Internet seja feito com custos muito mais acessveis, alm de possuir uma velocidade muito maior. Com essa gerao surgem aplicaes comerciais potenciais para Internet, transmisso de imagens e arquivos, vdeo e efeitos de cores [JUN 04]. Segue os sistemas utilizados pela segunda gerao e meia[JUN 04]: a) GPRS Esse sistema permite o envio e recepo de informaes atravs de uma rede telefnica mvel. O GPRS facilita conexes instantneas, uma vez que a informao pode ser enviada ou recebida imediatamente segundo a necessidade do usurio. No preciso conexes dial-up atravs de modems. A informao dividida em pacotes relacionados entre si antes de ser transmitida e remontada no destinatrio, com essa comutao de pacotes os recursos de rdio sero utilizados apenas quando os usurios estiverem enviando ou recebendo dados. Desse modo, o canal no utilizado para um usurio por um determinado perodo de tempo, e, sim, compartilhado entre vrios usurios. Para usar GPRS, os usurios precisam de: um telefone mvel ou terminal; uma assinatura em uma rede de telefonia mvel; uma habilitao ao uso do GPRS (acesso automtico ao GPRS permitido por algumas operadoras, sendo que outras podero requerer uma opo especfica de adeso); conhecimento das configuraes de hardware e software para enviar e receber informaes atravs do GPRS; um destino para enviar ou um local de onde receber informaes atravs do GPRS.

23

b) EDGE O EDGE surgiu primeiramente na Amrica do Norte no incio dos anos 2000. Esse sistema utiliza as bandas 850, 900, 1800 e 1900 MHz. Com o EDGE possvel transmitir dados em alta-velocidade e servios como streaming de vdeos, rdios ao vivo e transferncia de arquivos. c) HSCSD Esse sistema permite que mltiplos canais de trfego (mltiplos slots) sejam alocados ao mesmo tempo para um usurio. O HSCSD oferece diferentes servios com variadas taxas de dados em uma nica estrutura de camada fsica do sistema. Dessa maneira, aumenta a capacidade de trfego de um canal. d) 1xRTT No 1xRTT existe diferenas na chamada de voz, sendo que esse sistema tem maior capacidade e um handoff melhorado. O 1xRTT transmite voz e dados ao mesmo tempo pela rede, assim atende mais usurios.

3.2.4 Terceira Gerao

A terceira gerao possibilita ter no celular internet banda larga, vdeo e multimdia de alta resoluo, jogos online, downloads mais rpidos, servios bancrios e at TV. No Brasil essa tecnologia j iniciou no primeiro semestre de 2008, utilizando as faixas de freqncias de rdio 1,9 GHz e 2,1 GHz que permitem transmisso de voz e dados em alta velocidade [RIB 08]. Os principais sistemas so [RIB 08]: a) UMTS Esse sistema baseado em IP (Protocolo de Internet) e opera na faixa de 1900 MHz, atinge taxas de transmisso de at 2 Mbps, a velocidades mdias de 220 a 320 kbps. O UMTS possibilita servios de alto consumo de banda, como videoconferncia, transmisso de TV e streaming de udio e vdeo.

24

b) cdma2000 O CDMA2000 atinge taxas de transmisso superiores a 304 kbps, funciona na freqncia de 1,25 MGHz e permite total conexo sem fio.

25

4 ESTRATGIAS E TECNOLOGIAS EMPREGADAS

Nesse captulo sero apresentadas as estratgias e as tecnologias utilizadas para a implementao do projeto.

4.1 Engenharia de software [SOM 07]

Atualmente a maioria dos pases so dependentes de sistemas complexos fundamentados em computadores, de maneira que a manufatura, a distribuio industrial, os sistemas financeiros, os produtos eletro-eletrnicos, entre outros, encontram-se automatizados. Com a crescente demanda por sistemas informatizados os prazos no eram cumpridos na entrega de projetos, os softwares desenvolvidos no apresentavam confiabilidade e a cada eventual manuteno, muito esforo e tempo passou a ser dispendido gerando desperdcio de recursos. Para acompanhar a complexidade dos grandes sistemas de software foi preciso utilizar novas tcnicas e mtodos, sendo que esses procedimentos pertencem a engenharia de software. A partir do desenvolvimento dessa engenharia ocorreu uma grande melhoria na criao de novos sistemas. Dessa forma tarefas referentes ao desenvolvimento de software tornaram-se de fcil compreenso, mtodos eficazes de especificao, projeto e implementao foram criados e novas ferramentas foram utilizadas para facilitar a produo de sistemas de grande porte. Uma das tcnicas utilizadas foi a programao orientada objetos, que auxilia na estruturao do cdigo desenvolvido, proporcionando caractersticas de modularidade, ou seja, o programa dividido em mdulos que transmitem somente os dados necessrios para o correto funcionamento do software. Isso proporciona uma maior facilidade na manuteno e na identificao de erros. A engenharia de software busca a criao de sistemas com as seguintes caractersticas: facilidade na manuteno de novas solicitaes do cliente, confiabilidade, eficincia na utilizao de recursos computacionais, usabilidade.

26

Baseado nas facilidades descritas, optou-se por desenvolver os sistemas presentes no projeto utilizando tcnicas de engenharia de software.

4.2 Desenvolvimento Web

4.2.1 PHP [DAV 08] [SIC 07]

O PHP surgiu no ano de 1994 com o nome de Personal Home Page, seu criador o construiu com o intuito de rastrear as pessoas que fossem visitar seu currculo on-line. Era uma linguagem muito simples que possua um parser que reconhecia algumas macros e fornecia algumas utilidades comuns em home pages. Atualmente o PHP significa "PHP: Hypertext Preprocessor", sendo uma importante linguagem de programao mantida por um grupo de programadores. Essa linguagem aceita uma grande quantidade de banco de dados, alm de apresentar inmeras funes, tais como: processamento de dados em HTML; manipulao de datas, horas e strings; manipulao de arquivo; upload de arquivos para servidor HTTP; controle de acesso; correio eletrnico; criao de grficos; interao com XML; interao com base de dados. Por ser um projeto de cdigo livre, possvel escrever mdulos para aumentar suas funes, criando novas APIs.

4.2.2 Zend [LIS 08]

A Zend, fundada em 1999, a empresa responsvel pelo desenvolvimento e manuteno de produtos e servios da linguagem PHP. Em 2006, lanaram o Zend Framework, que uma estrutura com diferentes componentes desenvolvidos em PHP5, assim possvel fornecer alta qualidade para o desenvolvimento de aplicaes Web e Web services. Framework um conjunto de classes com objetivo de reutilizao de um design que dispe de um guia para uma soluo de arquitetura em um domnio especfico de software.

27

O Zend Framework segue o padro MVC - Model View Controller que um padro de arquitetura de aplicaes com o objetivo de separar a lgica da aplicao (Model), da interface do Usurio (View) e do fluxo da aplicao (Controller). Dessa forma torna possvel que a mesma lgica de negcios possa ser acessada e visualizada por vrias interfaces.

4.2.3 Apache Server

O servidor Apache foi escolhido por ser um dos melhores servidores Web disponveis gratuitamente, e para sua programao foi selecionada a linguagem Web PHP que, alm de ser gratuita, possui as seguintes caractersticas: interpretada, velocidade e robustez, orientada a objetos, portabilidade independncia de plataforma, tipagem fraca e sintaxe similar a Linguagem C/C++ e o PERL [MEL 07]. A correta escolha de um servidor Web pode fazer a diferena em um sistema que rodar na internet. O servidor Web Apache um dos mais utilizados em todo mundo. Isso por possuir desempenho robusto, formas de personalizao de mdulos, mobilidade (vrias plataformas podem execut-lo), ampla documentao para pesquisa e custo nulo [THE 08]. A escolha por esse servidor para disponibilizar o sistema no presente projeto foi primeiramente devido ao fato de ser gratuito, e tambm por suas diversas funcionalidades como ser composto de mdulos, que favorecem na sua estabilidade. Sistemas como Unix, Linux, Solaris, FreeBSD e vrios outros suportam Apache. Para sua utilizao com o sistema operacional Windows se faz necessria a compilao de seu cdigo-fonte. Para utilizar o Apache 2.0, de acordo com os desenvolvedores, necessrio ter uma configurao mnima com um processador Pentium (ou similar), 64 MB de RAM ou mais e espao em disco de no mnimo 80 MB. Atualmente, bastante comum executar o Apache em mquinas virtuais [HOL 01].

28

4.2.4 Ferramenta de Banco de Dados

A partir da necessidade do armazenamento de informaes nesse projeto para posteriores consultas, alteraes e incluses, optou-se pela ferramenta de banco de dados PostGreSql. Essa ferramenta foi escolhida como banco de dados por ser livre, ter compatibilidade com a linguagem PHP, possuir base de dados de tamanho ilimitado, permitir cpias de segurana sem desconectar os usurios e poder utilizar gatilhos para a captao instantnea de um valor de interesse [PAR 07]. De maneira que os outros bancos de dados (Access, MySql, Oracle, etc.) ou no so gratuitos ou no oferecem os recursos necessrios ao presente trabalho. O PostGreSql um pioneiro sistema de gerenciamento de banco de dados relacional (SGBDOR). Possui cdigo-fonte aberto. Disponibiliza integridade referencial dos dados, transaes concorrentes (importante para a monitorao de diversos veculos ao mesmo tempo) e suporta comandos em SQL (tecnologia familiar aos integrantes do presente projeto) [PAR 07]. A maioria dos sistemas operacionais como, por exemplo, Windows, Linux, Unix, etc., suportam PostGreSql. Outra vantagem est no fato de conter interfaces para linguagens de programao como Java, C/C++, PHP, etc. So necessrios no mnimo 15MB de espao em disco para o folder de instalao mais 65 MB para a rvore de fontes no processo de compilao. Tambm necessrio prever o espao em disco necessrio para o armazenamento dos dados [DOC 08].

4.3 Mdulo XT65

A seguir sero descritas algumas caractersticas do mdulo XT65 da Siemens.

29

4.3.1 Viso Geral

O mdulo XT65 que utiliza a tecnologia Quad-band, a qual opera em diversas freqncias do mundo (850/900/1800/1900 MHz), responsvel por examinar e enviar as informaes coletadas via GSM/GPRS, viabilizando a monitorao remota. Alm disso, possui suporte para SIM Card, interface serial RS232 e USB, antena, GPS e design de fcil instalao [SIE 08]. Esse mdulo baseado em Java, mais especificamente a edio J2ME, que a tecnologia para dispositivos mveis com limitaes na manipulao de dados e de memria, possuindo APIs bem simples e leves para economizar espao, memria e processamento. O trabalho em um ambiente de software conveniente e protegido como o Java, torna possvel a utilizao de recursos de comunicao e diminui o nmero de componentes externos na aplicao alvo, de maneira que reduz custos e agiliza a colocao do produto no mercado [DAV 97].

Figura 3: Mdulo XT65

30

4.3.2 Java

Java uma linguagem de programao orientada a objetos que contm um emulador para execuo chamado de mquina virtual. Essa linguagem rpida e estvel [DAV 97]. Em 1991, Java comeou a ser criada e tinha o nome de Green Project, mas foi em 1994 com o surgimento da internet que Java apareceu como uma linguagem para construir aplicativos [FIO 05]. Java uma das linguagens mais utilizadas atualmente, servindo para vrios tipos de aplicaes: Web, desktop, servidores, mainframes, jogos, aplicaes mveis, chips de identificao, etc [FIO 05]. Java possui como caractersticas: orientao a objeto baseado no modelo de Smalltalk e Simula67; portabilidade independncia de plataforma write once run anywhere; recursos de rede apresenta extensa biblioteca de rotinas que facilitam a cooperao com protocolos TCP / IP, como HTTP e FTP; segurana um programa em Java pode ser executado via rede, porm apresenta restries de execuo [DAV 97]. Java traduzido para a linguagem de mquina como outras linguagens compiladas e interpretado para uma representao intermediria, chamada de bytecodes (formato compreendido pelas mquinas virtuais Java) [DAV 97]. Os bytecodes so interpretados pelas mquinas virtuais Java (JVMs) para a maioria dos sistemas operacionais (Windows, Solaris, Linux, Macintosh). Essas mquinas virtuais geram um ambiente multiplataforma, ou seja, se for construdo um sistema operacional novo, cria-se uma mquina virtual Java que traduza os bytecodes para cdigo nativo [DAV 97].

4.3.2.1 Plataforma J2ME

Em 1999, a linguagem de programao Java foi dividida em trs plataformas: J2ME, J2SE E J2EE [SUN 08]. Atravs da J2SE permitido o desenvolvimento de aplicaes desktop, cliente/servidor. A J2EE uma plataforma mais completa que o J2SE e permite o desenvolver aplicaes em ambientes descentralizados.

31

A J2ME a plataforma utilizada para dispositivos mveis com limitaes de memria ou processamento, so exemplos: celulares, palm tops, pocket pcs, smartphones, javacards. Apresenta APIs simples e leves para economizar espao, memria e processamento. Essa linguagem de programao ostenta um grupo de comandos previamente definidos que, depois de escritos e compilados, podem ser executados para gerar resultados especficos das aplicaes [SUN 08]. A arquitetura J2ME dividida em trs camadas inseridas no sistema operacional do dispositivo (Host Operating System) [SUN 08]: a) a camada perfil (profile) responsvel por definir um conjunto de APIs que se aplicam a um determinado dispositivo mvel. b) a camada de configurao (Configuration) classificada de acordo com a capacidade de cada dispositivo, sendo dividida em duas: a configurao Connected Limited Device Configuration (CLDC) para dispositivos mveis com capacidades limitadas de memria e processamento, como celulares e a Connected Device Configuration (CDC) para dispositivos com maior capacidade de processamento e memria, como palm tops, pocket pcs. c) a camada do interpretador representada pela mquina virtual Java (Java Virtual Machine). A figura abaixo representa o sistema operacional do dispositivo e as trs camadas da J2ME:

Fonte: SUN (2005)

Figura 4: Camadas da Arquitetura J2ME

32

4.3.2.2 NetBeans

O NetBeans um ambiente de programao Java que compete com vrios outros ambientes. Definimos como IDE (Interface Development Environment) as ferramentas que nos ajudam a escrever software de forma mais eficiente. Esse aplicativo trata-se de um projeto open source da Sun Microsystems [GON 06]. Pela compatibilidade com Java, facilidade de utilizao e instalao, e, tambm, por ser gratuito e possuir cdigo aberto, o NetBeans IDE 6.0 foi um dos aplicativos escolhidos para programao nesse projeto. Alm disso, a ferramenta apresenta mais facilidade de uso e disponibiliza funcionalidades em ambiente grfico melhor que a segunda opo analisada que seria o aplicativo Eclipse [GON 06]. O NetBeans possui diversas funcionalidades que facilitam o trabalho dos desenvolvedores como: editor de telas Swing (API ou conjunto de classes utilizados para implementar interfaces grficas em um programa); suporte total para Java Enterprise Edition e tambm para desenvolvimento e consumo de WebServices; plugins para UML; desenvolvimento remote em equipes; profiling (ferramenta que obtm informaes a respeito do comportamento de uma aplicao em tempo de execuo); suporte para Micro Edition; interface de fcil utilizao com CVS; Debuging(depurao) detalhado de componentes e aplicativos como JSPs e EJBs; funcionalidades para refactoring de cdigo [NET 08]. A plataforma NetBeans reproduz uma composio de servios de infraestrutura familiares a qualquer aplicativo desktop. Essa plataforma disponibiliza gesto de configuraes, gerenciamento de posio de janelas e de manipulao de menus, entre outras funes. Softwares em que se utilizar Swing em seu desenvolvimento podem ser escritos na plataforma NetBeans [NET 08]. Diversas IDEs para diferentes linguagens foram desenvolvidos utilizando a plataforma NetBeans. Entretanto, a ferramenta mais utilizada o NetBeans IDE que disponibilizado pela plataforma NetBeans mais uma coleo de plugins que suportam Java como: debuging, cdigo colorido, etc [GON 06]. Resumindo, correto dizer que a plataforma NetBeans um conjunto de servios bsicos para aplicativos desktops, enquanto que o NetBeans IDE seria a plataforma NetBeans mais um conjunto de plugins utilizados no desenvolvimento Java. Atravs do NetBeans IDE possvel desenvolver aplicaes para celulares. Essa ferramenta disponibiliza as condies necessrias para criar interfaces grficas, aplicaes

33

para internet e celulares atravs da linguagem de programao Java. O NetBeans IDE foi escolhido para a programao no envio e recebimento de informaes via rede celular atravs do mdulo XT65 da Siemens e do servidor que estar em uma central de monitorao [NET 08].

4.3.3 Ferramenta de simulao Wireless Toolkit 2.5.2 for CLDC [SUN 08b]

A ferramenta Wireless Toolkit 2.5.2 for CLDC da Sun Java (conhecido anteriormente como J2ME Wireless Toolkit) um conjunto de ferramentas para criar aplicaes de Java, as quais funcionam nos dispositivos que suportam a tecnologia Java para a indstria de redes sem fio e a arquitetura de servio mvel (Mobile Service Architecture). Consiste em ferramentas de configurao e em um emulador de dispositivos.

4.3.4 GPS [KAP 96]

O GPS, criado na dcada de 60 pelo Departamento de Defesa do EUA, um sistema de navegao com base em satlites artificiais que emitem sinais de rdio com informao sobre uma posio tridimensional, velocidade e tempo. Esse sistema possui dois servios: o SPS (Standard Positioning Service), que gratuito e usado pelo pblico em geral e o PPS (Precise Positioning Service) que codificado e usado, inicialmente, pelo Departamento de Defesa. O GPS funciona porque h 24 satlites que orbitam a terra a 20.200 km, duas vezes por dia, emitindo simultaneamente sinais de rdio codificados. Um sinal emitido por cada satlite, contendo: cdigo de preciso (P); cdigo geral (CA) e informao de status. Os satlites enviam os sinais de rdio ao mesmo tempo, desse modo permite que o receptor avalie o intervalo de tempo entre emisso e recepo. O GPS apresenta uma hora-padro, a qual passada para o receptor do usurio. Isso possibilita que todos os receptores GPS localizados em qualquer lugar do mundo mostrem a mesma hora, minuto e segundo. Essa hora-padro muito precisa, uma vez que cada satlite tem um relgio atmico (atmico por usar as oscilaes de um tomo como "metrnomo").

34

A localizao dos satlites deve ser reconhecida pelo receptor, para que isso ocorra um almanaque, ou seja, uma lista de posies transmitida de cada satlite para os receptores. Na terra existem controles que rastreiam os satlites mantendo seus almanaques apurados. Para facilitar a utilizao dos recursos do GPS, em nvel de software, umas das alternativas disponveis o uso de APIs, cuja definio : conjunto de rotinas e padres determinados por um software para o uso de suas funes por programas aplicativos. No desenvolvimento do projeto ser utilizada a JSR 179 (API para J2ME), sendo selecionada porque fornece uma localizao dinmica, de modo que a busca por essa posio pode ser via GPS ou Cell ID (fundamentado em ERBs de telefonia celular).

4.4 Interfaces e Perifricos

Visando utilizar os conhecimentos adquiridos na disciplina de Laboratrio de Processadores do Curso de Engenharia de Computao, o projeto do hardware buscou prover uma aplicao que contemplasse os assuntos estudados ao longo da disciplina. Atravs da placa desenvolvida, possvel, por exemplo, controlar o automodelo e interagir com o mdulo da Siemens de acordo com as necessidades do projeto. A figura abaixo ilustra o hardware desenvolvido, onde foi utilizado para o projeto, o microcontrolador, os drives de potncia, a entrada serial, os conectores KRE, o teclado e o smart card.

35

Figura 5: Hardware da Disciplina de Laboratrio de Processadores

4.4.1 Plataforma MSC1211

O microcontrolador um computador num chip que contm processamento, memria, e todas as funes de acesso direto a perifricos, enquanto os microprocessadores so utilizados em unidades de processamento central num sistema completo que necessita de vrios outros componentes para executar suas funes mnimas [TEX 08]. Para esse projeto, foi utilizado o microcontrolador MSC1211, da Texas Instruments, cujo diagrama de blocos est representado na figura abaixo [ORT 07]:

36

Figura 6: Diagrama de Blocos do Microcontrolador MSC1211

O esquemtico na figura sete representa a forma como foram conectados os pinos do Microcontrolador:

Figura 7: Esquemtico do Microcontrolador MSC1211

37

4.4.1.1 Terminal [PAG 08]

O software Terminal de verso 2.5 desenvolvido em Delphi pelo Engenheiro Eletrnico Jlio Csar de Marques Lima, professor da Pontifcia Universidade Catlica do Rio Grande do Sul encontra-se disponvel para download e foi utilizado no projeto para editar o programa desenvolvido em Assembly e realizar a programao do microcontrolador MSC12111 contido Hardware. O software transforma os mnemnicos do assembly em cdigo hexadecimal legvel (linguagem de mquina) para o processador MSC1211 da Texas e para isso so utilizados os arquivos MOD51 e ASM51. O MOD51 um arquivo sem extenso onde constam todos os correspondentes endereos de memria mapeados na memria interna RAM do microcontrolador. O ASM51 utilizado pelo microcontrolador como montador de assembly para hexadecimal, a figura a seguir ilustra o software no momento do download:

Figura 8: Terminal V2.5

38

4.4.1.2 Assembly [PAG 08]

Diferentemente de linguagens de alto nvel, no assembly ocorre uma montagem do cdigo programado em vez da compilao do cdigo. Assembly a linguagem de montagem, que a entrada de um montador. muito prxima da linguagem de mquina, embora possam existir instrues assembly que no so mapeadas diretamente em uma instruo da arquitetura alvo, mas sim em um conjunto, esse o caso de pseudo instrues. a linguagem de mais baixo nvel usada pelos programadores.

4.4.2 Motor DC

Conhecidos por seu controle exato de velocidade e por seu ajuste de qualidade superior, os motores dc (corrente contnua) so usados em aplicaes que exigem preciso nesses quesitos. Com os drives de potncia da placa conectados aos conectores KRE possvel acionar o motor dc do automodelo radiocontrolado. Os dispositivos de hardware foram conectados da seguinte maneira: dois fios para alimentao vindos de uma fonte foram conectados s entradas 1 e 6 do conector KRE6 e outras duas conexes so feitas partindo dos fios do motor DC do veculo para as entradas 2 e 3 do mesmo KRE para utilizarmos um dos drives de potncia existentes na placa, de onde acionaremos os pinos M1 e M2 que esto ligados ao pinos P1.0 e P1.1 do microcontrolador.

39

A figura 9 mostra o conector KRE e o drive de potncia mencionados acima.

Figura 9: Esquemtico do Conector KRE e o Drive de Potncia

4.4.3 Smart Card [HOL 08]

O smart card um carto parecido com um carto de crdito e. Nesse projeto, tem como funo armazenar as informaes do condutor do veculo (nmero da carteira de motorista). Para isso o smart card adquirido utiliza uma memria CMOS EEPROM da Holtek identificada como HT24LC02. uma memria no voltil que permite leitura e gravao. Seus 2048 bits de memria so organizados em 256 palavras, de 8 bits. O dispositivo otimizado para uso industrial e em muitas aplicaes comerciais, onde baixa potncia e baixa tenso de operao so essenciais. A figura 10 mostra o respectivo diagrama de blocos:

40

Figura 10: Diagrama de Blocos da Memria EEPROM

O protocolo de comunicao o I2C, onde o SCL utilizado para a borda de clock e o SDA como pino bidirecional de dados. A figura 11 ilustra o seu esquemtico na placa desenvolvida.

Figura 11: Esquemtico do Smart Card

4.4.4 Teclado

A placa desenvolvida durante o curso dispe de um teclado com cinco botes, sendo que uma das teclas (SW1) utilizada para reiniciar o microcontrolador. As outras quatro teclas foram programadas da seguinte maneira: Tecla SW2: Ao ser pressionado, a placa recebe do smart card o nmero da carteira nacional de habilitao (CNH) do usurio e verifica sua veracidade, depois envia para o

41

mdulo pela serial junto com o RENAVAM (Registro Nacional de Veculos Automotores) fictcio que est gravado na memria da placa. Se os dados estiverem vlidos, a placa seta um registrador que permite o usurio dar velocidade ao modelo de veculo controlado por controle remoto. Se o cadastro do usurio no estiver vlido, exibida uma mensagem no LCD da placa. Aps a validao da CNH e RENAVAM, a tecla, se pressionada, passa a ter a funo de desligar a placa, avisando o mdulo. As teclas SW3, SW4 e SW5 ativam a velocidade fictcia de 40, 60 e 80 km/h respectivamente no modelo de veculo. Se o registrador controlado pela tecla SW2 estiver com o valor nulo, as demais teclas, ao serem pressionadas, acionam a funo que exibe no LCD da placa uma mensagem de solicitao do smart card. Como podemos ver na figura abaixo, o teclado funciona como ativo baixo, ou seja, os sinais KB0, KB1, KB2 e KB3 esto sempre em 1 (recebendo corrente) e quando uma tecla pressionada passa para 0. Os sinais esto ligados aos pinos P2.0, P2.1, P2.2 e P2.3 do microcontrolador.

Figura 12: Esquemtico do Teclado

42

4.4.5 Porta Serial

A comunicao entre o Hardware desenvolvido e o mdulo da Siemens realizada atravs da porta serial RS232. Atravs dessa porta o Hardware envia para o mdulo o usurio do smart card, o chassi do modelo de veculo, que no projeto fictcio, e a velocidade em que o modelo de veculo se encontra, recebendo informaes do tipo localizao, velocidade permitida e a validao do usurio do mdulo. A figura a seguir ilustra o esquemtico da porta serial.

Figura 13: Esquemtico da Serial

43

5 DESENVOLVIMENTO DO SISTEMA

O Projeto visa monitorao do veculo atravs da tecnologia GSM/GPRS, para isso usado o mdulo XT65 da Siemens que utiliza a linguagem de programao Java, o servidor Apache com programao PHP e o banco de dados PostgreSQL. Na Figura 14 apresenta um esboo geral do sistema.

GPS Operadora

Empresa de Monitorao Veicular

Veculo sendo monitorado

Figura 14: Arquitetura Geral do Sistema

Os dados sero coletados do veculo, enviados atravs de rede GSM oferecida por uma operadora de telecomunicaes e tratados em um site (empresa de monitorao veicular) que possui a infra-estrutura necessria para o recebimento dessas informaes. Esses dados sero tratados e reenviados para sua origem utilizando rede celular.

44

A Figura 15 apresenta um esboo mais detalhado do funcionamento do sistema.

Figura 15: Arquitetura Detalhada do Sistema

Primeiramente para elaborao da aplicao descrita no presente projeto foi realizado o levantamento dos requisitos necessrios para o desenvolvimento do sistema. Estudando os temas citados anteriormente podendo assim definir os meios necessrios para o desenvolvimento prtico do trabalho Um sistema do veculo estar ligado via serial RS232 a um mdulo XT65 da Siemens, ressaltando que para comunicao do veculo com o mdulo dever ser utilizado um adaptador ODB (protocolo on board device) para buscar a leitura atravs de codificao prpria de cada veculo. Alertando que essa comunicao no foi desenvolvida nesse projeto, apenas foi elaborada uma simulao do processo. Atravs da comunicao citada no pargrafo acima ser realizada a leitura das informaes de acordo com a codificao prpria do veculo e enviar as informaes interpretadas para um servidor Web, onde est configurado um servidor de pginas com Apache Server e um de banco de dados com PostgreSQL. Quando o motorista inserir o carto smart card e acionar atravs de um boto o funcionamento de seu veculo, antes do veculo ser ativado, o mdulo enviar para o servidor as seguintes informaes: nmero da carteira de habilitao e o nmero do chassi de seu veculo. Esses dados sero validados seguindo a seguinte ordem: 1. Verificao da data de vencimento da carteira de motorista. 2. Verificao do pagamento do IPVA.

45

Caso um desses itens apresente alguma irregularidade o carro no ser ativado e o condutor ser notificado atravs de uma mensagem enviada para seu celular. No caso de estar tudo correto o automvel ser ligado e, a partir desse momento, o sistema veicular verificar por polling a porta serial, pois o mdulo GPRS/GPS enviar, para o servidor, de 10 em 10 segundos, a localizao do objeto (latitude, longitude, altitude, curso) e sua respectiva velocidade. Dessa maneira, no momento que chegam os dados na central de monitorao, alm dos dados serem armazenados realizado uma conferncia entre o limite da via e a velocidade atual do condutor e reenviado uma mensagem ao veculo monitorado informando a velocidade mxima permitida na via em que est situado e se ocorreu excesso de velocidade. Ao receber essas informaes o mdulo simplesmente as envia atravs de comunicao serial para sistema veicular que, por sua vez, mostrar esses dados em uma tela LCD do automvel.

46

Figura 16: Diagrama de Atividades do Sistema

47

A figura 16 propicia uma viso bem detalhada do fluxo dos processos e de como sero tratados medida que se apresentam do incio para o final do projeto. Aps essa viso alto nvel do projeto ser apresentado separadamente o desenvolvimento desse projeto que se divide em trs partes: Aplicao embarcada no mdulo GRPS/GPS; Aplicao Web destinada ao cliente e Aplicao Web para Administradores.

5.1 Aplicao embarcada no Mdulo GPRS/GPS

Para implementao dessa aplicao foi utilizado ferramentas como NetBeans IDE 6.0, para gerao e compilao de cdigos Java e tambm para montagem dos diagramas referentes ao sistema, alm do Wireless ToolKit 2.5.2 for CLDC , utilizado para simulao do projeto. Para melhor visualizao e entendimento da soluo o diagrama de classes a seguir representa a aplicao embarcada a ser executada no processador do mdulo presente no automvel.

Figura 17: Diagrama de Classe do Subsistema Veicular

48

A figura acima retrata de forma precisa a estrutura do cdigo implementado como soluo de aplicao para o mdulo. Abaixo sero explicadas passo a passo as estruturas de cada classe. a) Classe SMS Essa entidade responsvel pelo envio e recebimento de mensagens, logo, quando existe alguma irregularidade ou infrao do condutor, atravs dessa classe que ser enviado a mensagem para o celular do motorista.

Figura 18: Classe SMS do Subsistema Veicular

Atributos ATcmd Objeto do tipo ATCommand. Tem objetivo de instanciar a classe ATCommand para que se possam utilizar funes necessrias para o envio de mensagens para celular. Operaes sendSM( number : String, text : String, sc : String) Funo na qual enviada uma mensagem de texto para o celular do cliente retornando verdadeiro caso a mensagem tenha sido enviada e falso caso contrrio, como se pode ver, a operao possui 3 parmetros: a. number: Nmero do telefone de destino. b. text: Contedo da mensagem. c. sc: Central de servios utilizada para o envio da mensagem.

49

sendAT( cmd : String, response : String) Operao reponsvel pelo envio de comandos AT para o mdulo. a. cmd: Comando a ser passado para o mdulo. b. response: Resposta esperada. sendAT( cmd : String ) Funo tem a finalidade de enviar comandos AT, porm sempre espera uma resposta positiva. a. cmd: Comando a ser passado para o mdulo.

b) Classe Serial Classe responsvel pela comunicao do mdulo com o veculo envia e recebe dados via porta Serial.

Figura 19: Classe Serial do Subsistema Veicular

Atributos commConn Objeto do tipo CommConnection. esse atributo que receber a conexo via serial, assim podem-se utilizar funes necessrias para a leitura e escrita atravs da porta. inStream Objeto do tipo ImputStream. Instancia um objeto que tem a finalidade de leitura. outStream Objeto do tipo OutputStream. Instancia um objeto que tem finalidade de escrita.

50

strmDataType Atributo do tipo DataOutputStream. Tambm apresenta a finalidade de escrita na serial, porm composto de funes com capacidade de escrever uma String na serial. strCarteiraMotorista Atributo do tipo StringBuffer. Onde ser armazenado o nmero da carteira de motorista do condutor. strChassiVeiculo Atributo do tipo StringBuffer. Onde ser armazenado o nmero do chassi do veculo.

Operaes Serial ( ) Construtor da classe, responsvel por abrir a conexo serial para leitura e escrita. le_serial ( ) Operao responsvel pela leitura de dados na porta serial, porm apenas l um caractere inteiro e retorna o dado lido. le_n_carteira_motorista ( ) Funo que tem a finalidade de realizar a leitura do nmero da carteira de motorista do condutor. le_chassi_veiculo ( ) Funo que tem a finalidade de realizar a leitura do nmero do chassi do veculo. escreve_serial ( strVel_Max : String, infracao : int) Operao escreve, na serial, velocidade mxima que o condutor pode atingir na via em que est situado no momento e se cometeu infrao por ultrapassar o limite de velocidade. a. strVel_Max: Velocidade mxima permitida. b. infracao: Informa para o sistema veicular se o condutor cometeu infrao por ultrapassar o limite de velocidade permitido. escreve_resultado_serial ( iResult : int ) Funo que avisa o sistema veicular que est tudo correto com a documentao do condutor, desta forma, o automvel pode ser ativado. o iResult: Informa 0 no caso da documentao do cliente estar invlida e 1 caso contrrio.

51

c) Classe ConectaInternet atravs dessa classe que realizado a comunicao com o servidor Web. Na figura abaixo sua estrutura visualizada detalhadamente.

Figura 20: Classe ConectaInternet do Subsistema Veicular

Atributos HttpConn Objeto do tipo HttpConnection. Esse objeto receber a conexo via HTTP, assim podendo-se utilizar funes necessrias para o envio e recepo dos dados. is Objeto do tipo ImputStream. Instancia um objeto que tem a finalidade de leitura. url Atributo do tipo String. Onde ser armazenado o endereo HTTP da pgina onde a aplicao se conectar. HttpDados Atributo do tipo Inteiro. Est varivel recebe os dados retornados do Servidor Web. infracao Atributo do tipo Inteiro. Recebe a informao se o condutor cometeu alguma irregularidade, conforme explicado anteriormente. strVel_Max Atributo do tipo StringBuffer. Onde ser armazenada a velocidade mxima permitida. strMotorista Atributo do tipo StringBuffer. Guarda a informao do nome do condutor. strCelular Atributo do tipo StringBuffer. Armazena o nmero do celular do motorista.

52

As variveis strMotorista e strCelular so setadas antes do veculo ser ligado, no momento em que o sistema valida sua documentao. Operaes ConectaInternet ( MonitoramentoVeicular : midlet ) Construtor da classe, recebe um objeto da classe principal. Valida_Cliente ( strCarteiraMotorista : String, strChassiVeiculo : String) Funo responsvel pela verificao da documentao do cliente. executada antes do veculo ser ligado. No momento que o cliente aperta o boto para acionar seu carro feita uma validao de seus dados e o veculo somente ativado se tudo estiver correto, conforme explicado anteriormente. a. strCarteiraMotorista: Nmero da carteira de motorista . b. strChassiVeiculo: Nmero chassi veculo. Envia_Dados ( strCarteiraMotorista : String, strChassiVeiculo : String, latitude : double, longitude : double, altitude : double, curso : float, velocidade : float, status : int ) Funo de suma importncia nessa soluo, pois atravs dela que os dados coletados pelo GPS so enviados, via rede de telefonia celular, para o servidor Web.

53

d) Classe Monitoramento_Veicular Classe principal do sistema tem como misso controlar a aplicao utilizando as classes assistentes. nessa entidade que est includa grande parte da lgica referente soluo da aplicao embarcada no mdulo.

Figura 21: Classe Monitoramento_Veicular do Subsistema Veicular

Atributos strCarteiraMotorisa Varivel do tipo String. Armazena o nmero da carteira de motorista do condutor. strChassiVeiculo Varivel do tipo String. Armazena o nmero do chassi do veculo. myCriteria Objeto do tipo Criteria. Objeto utilizado para seleo do provedor de localizao. lp Objeto do tipo LocationProvider. o ponto inicial, representa o objeto de recuperao da posio do mdulo GPS. l Objeto do tipo Location. Est varivel representa o conjunto de localizao bsica de uma posio. lat Atributo do tipo Double. Representa a informao de latitude referente a posio do objeto.

54

lon Atributo do tipo Double. Representa a informao de longitude referente a posio do objeto. alt Atributo do tipo Double. Representa a informao de altitude referente a posio do objeto. cur Atributo do tipo Float. Representa a informao de curso referente a posio do objeto. vel Atributo do tipo Float. Representa a informao de velocidade referente a posio do objeto. tm Objeto do tipo Timer. Varivel para controle de tempo. tt Objeto do tipo TimerTask. Atributo reponsvel pelo controle de execuo do cdigo. status Varivel do tipo inteiro. Armazena informao de carro est ligado.

Operaes startApp( ) Funo principal da aplicao, ao ligar o mdulo essa operao ser executada. pauseApp( ) Considerado um mtodo abstrato da aplicao, utilizado para avisar o sistema que est sendo processado quando este est prestes de ser pausado. destroyApp( ) Considerado um mtodo abstrato da aplicao, indica quando a aplicao est prestes de ser terminada.

5.2 Aplicaes Web

Nesta seo sero explicadas de forma detalhada como foram implementadas as aplicaes tanto para o cliente, quanto para o administrador da ferramenta. Nesta fase do projeto foram utilizadas ferramentas como: Zend Studo Client 5.0.0, para elaborao do cdigo fonte; DBDesigner 4, para modelagem dos dados; PostgreSQL, para criao do banco de dados e o Macromedia Fireworks, para montagem da interface e melhor disposio dos

55

dados; assim facilitando a navegao do usurio no sistema. No item abaixo ser explicado o desenvolvimento do banco de dados. Foi elaborado um nico banco de dados para sustentar as aplicaes, pois ambas interagem com as mesmas informaes. A figura abaixo apresenta a modelagem de dados da soluo.

Figura 22: Modelagem de Dados das Aplicaes Web

As ferramentas utilizam a mesma estrutura de classes, pois so classes genricas. No entanto cada qual apresenta suas funcionalidades, utilizando as funes necessrias para contemplar seus objetivos. A figura abaixo mostra as classes comentadas acima.

56

Figura 23: Diagrama de Classe do Sistema Web

A figura acima apresenta trs classes genricas criadas para elaborao dos cdigos das pginas Web, com essas entidades tem-se uma maior facilidade de se programar, pois oferecem vrios recursos necessrios para construo da ferramenta, abaixo segue a descrio detalhada dessas classes. a) Classe Banco Essa entidade apresenta funes que envolvem comunicao com a base de dados. Assim, para inserir, alterar, consultar ou excluir algum item do banco de dados essa classe deve ser instanciada na pgina que a operao ser executada, ao instanciar a classe, o arquivo

57

conectado ao banco diretamente, pois a conexo com a base de dados est no construtor na classe.

Figura 24: Classe Banco do Sistema Web

Atributos $db Varivel do tipo resource. Objeto de conexo com o banco de dados.

Operaes construct ( ) Construtor da classe, realiza a conexo com o banco. close ( ) Finaliza a conexo com o base de dados. Query_Function( $nome_function : String. $parametros : String) Funo tem a finalidade de executar uma funo criada no Banco de Dados, deve-se apenas passar o nome da funo e seus respectivos parmetros, retornando os registros encontrados. a. $nome_function: Nome da funo. b. $parametros: Parmetros da funo. Query ( $sql : String) Funo que tem como finalidade executar uma instruo SQL passada por parmetro, retornando os dados encontrados. a. $sql: Instruo SQL. NonQuery ( $sql : String) Funo que tem como finalidade executar uma instruo SQL. Porm, utilizada para inseres, remoes ou alteraes na base

58

de dados, retornando verdadeiro caso tenha realizado corretamente a operao ou falso caso contrrio. a. $sql: Instruo SQL. ComboSelected ( $sql : String, $strValue : String, $strText : String, $strSelected : String) Operao serve para montar uma ComboBox. Referente a uma tabela do banco de dados, na pgina. a. $sql: Instruo SQL. b. $strValue: Valor do item. c. $strText: Texto que aparecer no item. d. $strSelected: Item a ser selecionado. b) Classe Pgina Classe desenvolvida com funes especficas para montagem de uma pgina HTML, logo todas as pginas criadas na soluo utilizam est entidade, abaixo se pode ver detalhadamente a estrutura da classe.

Figura 25: Classe Pagina do Sistema Web

Operaes HtmlInicio ( ) Escreve as configuraes iniciais de uma pgina HTML. HtmlFim ( ) Finaliza o cdigo HTML. getNomeSistema ( ) Retorna o nome do sistema. Cabecalho ( ) Escreve as configuraes de cabealho da pgina.

59

Login( &$UserID : String, &$UserPass : String, &$UserNome : String, &$UserPerfil : String, &$UserNomePerfil : String) Operao para autenticao de usurio, verifica se login e senha esto corretos. a. $UserID: Idendificao do usurio. b. $UserPass: Senha do usurio. c. $UserNome: Nome completo do usurio. d. $UserPerfil: Identificao do perfil do usurio. e. $UserNomePerfil: Nome do perfil do usurio. Segurana ($UserID : String, $UserNome : String, $UserPerfil : String, $UserNomePerfil : String, $UserResolucao: String ) Funo responsvel pelo controle de segurana ao contedo da aplicao, pois verifica se o usurio que est navegando realmente fez o Logon no sistema. a. $UserID: Idendificao do usurio. b. $UserNome: Nome completo do usurio. c. $UserPerfil: Identificao do perfil do usurio. d. $UserNomePerfil: Nome do perfil do usurio. e. $UserResolucao: Resoluo do usurio. Acesso ( $UserPerfil : String, $PagPerfil : String) Funo cuja finalidade limitar o acesso ao contedo do sistema, ou seja, um usurio s pode acessar o que seu nvel o permite. a. $UserPerfil: Identificao do perfil do usurio. b. $PagPerfil: Nivel que a pgina aceita. c ( $strE : String, $key : int) Operao para criptografia de dados. a. $strE: Dado a ser criptografado. b. $key: Tipo de criptografia desejada . dc ($strE : String, $key : int ) Operao para decriptografia de dados. a. $strE: Dado a ser decriptografado. b. $key: Tipo de decriptografia desejada.

60

d) Classe Relatrio Essa classe contempla um conjunto de funes para auxiliar na montagem de um relatrio que apresenta resultados de uma consulta retornada do banco de dados. Seu principal objetivo a gero de uma paginao de dados. Abaixo possvel ter uma boa idia de sua estrutura.

Figura 26: Classe Relatrio do Sistema Web

Atributos $strURL Varivel do tipo String. Armazena a URL atual. $intPag Varivel do tipo inteira. Guarda o nmero atual da pgina. $intPagFiltro Varivel do tipo inteira. Guarda o nmero da pgina aps a aplicao de um filtro. $strOrdens Varivel do tipo String. Armazena os campos em ordem de ordenao. $blnPlanilha Varivel do tipo Boolean. Flag para verificao de exportao de pgina para planilha. $blnImpressao Varivel do tipo Boolean. Flag para verificao de impresso de pgina.

61

$blnConectar Varivel do tipo Boolean. Verifica se j foi realizada a consulta no banco, pois a entidade consulta apenas um vez a base de dados e coloca tudo em uma sesso. $blnOrdenar Varivel do tipo Boolean. Verifica se o usurio solicitou ordenao de alguma coluna da tabela. $arrCabCampos Varivel do tipo Array. Armazena o nome dos campos da tabela. $arrCabTitulos Varivel do tipo Array. Caso exista ttulos para os campos eles sero armazenados nesse atributo. $arrCabOrdens Atributo do tipo Array, Armazena o nome dos campos da tabela, caso a varivel $strOrdens esteja vazia. $intCabTotalCampos Varivel do tipo int. Nmero total de campos. $arrValores Atributo do tipo Array. Responsvel por armazenar o contedo de uma consulta. $arrTipos Varivel do tipo Array. Armazena os tipos de dados retornados da consulta. $arrCampos Atributo do tipo Array. Armazena o nome dos campos da tabela. $intTotalRegistros Atributo do tipo int. Guarda o nmero total de registros da que a consulta retornou. $inTotalCampos Varivel do tipo int, Armazena o nmero total de campos da consulta retornada. $intTotalPag Atributo do tipo int. Responsvel por armazenar a informao do nmero total de pginas que sero necessrias para apresentar os dados carregados. $intTamPag Atributo do tipo int. Informa o nmero de linhas por pgina. $intInicioPag Atributo do tipo int. Informa o nmero do primeiro registro da pgina. $intFimPag Atributo do tipo int. Informa o nmero do ltimo registro da pgina.

Operaes setTabela ( $strFuncao : String, $strParametros : String, $strCampos : String, $strTitulos : String, $strOrdens : String, $strOrdemInicial : String,

62

$strOrdemSecundaria : String ) Funo responsvel por buscar os dados do banco de dados e armazen-los em uma sesso. a. $strFuncao: Nome da funo a ser executada. b. $strParametros: Parmetros da funo. c. $strCampos: Campos desejados. d. $strTitulos: Legenda do campos. e. $strOrdens: Campos que podem ser ordenados. f. $strOrdemInicial: Primeiro campo a ser ordenado. g. $strOrdemSecundaria: Segundo campo a ser ordenado. MontaArray ( $result : resource, $cols_name : array, $num_cols : int, $nrows : int ) Operao responsvel por colocar os dados que retornam de uma consulta em um array. a. $result: Resultado da consulta. b. $cols_name: Array com o nome da colunas. c. $num_cols: Nmero de colunas. d. $nrows: Nmero de linhas. Ordenao ( $arrTabela : Array. $strOrdens : String) Funo que tem a finalidade de ordenar um array. a. $arrTabela: Array com os dados da consulta. b. $strOrdens: Campo desejado para ordenao. getTabela ( $strLink : String, $strLinkParametros : String, $strLinkCampos : String, $strParametros : String, $intTamStr : int) Retorna a consulta estruturada em uma tabela HTML. a. $strLink: Ao clicar em uma linha da tabela o usurio ser direcionado para um endereo que estar neste parmetro. b. $strLinkParametros: Nome dos parmetros que se deseja passar para prxima pgina. c. $strLinkCampos: Nome dos campos que se deseja passar para prxima pgina. d. $strParametros: Parmetros da pgina.

63

e. $intTamStr: Tamanho mximo que um valor retornado da consulta pode ter. getNavegador ( $strParametros : String) Retorna a barra de navegao utilizada para paginar o contedo da tabela. a. $strParametros: Parmetros da pgina.

5.3 Aplicao Cliente

Criada para que o cliente possa ter algumas facilidades, o sistema oferece possibilidades como, ver a ltima localizao do veculo, analisar as infraes cometidas e, alm disso, armazenado um histrico de rota, ou seja, o usurio pode visualizar o percurso percorrido em uma determinada data. Entretanto, devido ao alto nmero de registros armazenados na tabela o cliente somente poder visualizar rotas que fez a 1 ms atrs. Para uma melhor compreenso da ferramenta, abaixo segue um diagrama de caso de uso.

Figura 27: Diagrama de Caso de Uso da Aplicao Cliente

64

5.4 Aplicao Gerencial

Ferramenta destinada para administrao da soluo, onde um usurio com o perfil de administrador poder cadastrar, alterar ou excluir veculos, clientes, categorias, combustveis e usurios, ou seja, tem o controle total da aplicao Web. A figura abaixo apresenta uma idia melhor das funcionalidades que a aplicao oferece.

Figura 28: Diagrama de Caso de Uso da Aplicao Gerencial

5.5 Desenvolvimento do software existente na placa

Para controlar o motor DC e realizar a comunicao entre o hardware desenvolvido e o mdulo da Siemens foi desenvolvido um software na linguagem assembly. Esse software interage com o software do mdulo desenvolvido em JAVA atravs de um cabo serial. Com software j compilado no microcontrolador MSC1211 da Texas, o programa passa a rodar em lao infinito monitorando a entrada serial e as quatro teclas do hardware por polling. Segue abaixo a descrio das principais operaes do software em assembly:

65

Start: Funo que inicia o software e monitora por polling a entrada serial e as teclas do hardware. Le_serial: Trata as informaes vindas do mdulo, verificando a velocidade mxima da via onde o usurio se encontra e se o mesmo recebeu alguma infrao. Escreve_CNH: Grava na memria do Smart Card o nmero da CNH do usurio. Read_SC: Funo iniciada quando a tecla SW2 do hardware pressionada. O microcontrolador recebe o valor contido no smart card e envia para o mdulo pela serial para que o mesmo verifique e retorne a veracidade do valor que no projeto representa a CNH do usurio. Velocidade_1: Operao inicia quando a tecla SW3 do hardware pressionada, controla o pino P1.0 do microcontrolador que est ligado no sinal M1 vindo do drive de potncia do hardware, fazendo com o que o mesmo fique configurado durante 30ms e com o valor nulo durante 50ms, representando assim uma velocidade fictcia de 40km/h. Velocidade_2: Operao inicia quando a tecla SW4 do hardware pressionada, controla o sinal M1 mencionado anteriormente fazendo com que o mesmo fique configurado durante 50ms e com o valor nulo durante 50ms, representando assim uma velocidade fictcia de 60km/h. Velocidade_3: Da mesma forma que as duas operaes anteriores essa operao controla o sinal M1 vindo do drive de potncia ao pressionar a tecla SW5 da placa e faz com que o sinal fique configurado durante 50ms e com o valor nulo durante 10ms, representando assim uma velocidade fictcia de 80km/h. Desliga: Operao que informa ao mdulo que o usurio desligou o modelo de veculo guiado por controle remoto ao pressionar a tecla SW2 da placa aps a validao do CNH e RENAVAM. Erro_carto: Operao que informa ao usurio no LCD da placa que o smart card no foi lido ao pressionar alguma tecla que inicia a operao de velocidade sem antes ter verificado o CNH armazenado no smart card e RENAVAM armazenado na memria da placa.

66

6 SISTEMA IMPLEMENTADO E RESULTADOS OBTIDOS

Este captulo tem o objetivo de apresentar, na prtica, os resultados obtidos da implementao descrita nas sees anteriores. Para melhor entendimento, esse captulo ser subdividido em trs partes: Aplicao embarcada no mdulo GRPS/GPS; Aplicao Web destinada ao cliente e Aplicao Web para Administradores. a) Aplicao embarcada no mdulo GRPS/GPS Com a implementao do sistema foi obtido os resultados desejados, a seguir sero apresentadas imagens que ilustram a simulao da soluo desenvolvida para o mdulo.

Figura 29: Simulao do Projeto do Mdulo

A imagem acima representa um teste do cdigo implementado, onde possvel, aps executar a aplicao na ferramenta Wireless ToolKit 2.5.2, visualizar as informaes transmitidas para a base de dados. Na implementao do software utilizou-se a API JSR 179 que oferece um conjunto de classes e funes, assim foi possvel obter as informaes do GPS existente no mdulo.

67

A figura 30 ilustra a simulao do projeto desenvolvido.

Figura 30: Simulao de Todo o Projeto

b) Aplicao Web destinada ao cliente Na figura 31 ser apresentada a interface de interao com cliente.

Figura 31: Interface de Interao com o Cliente

68

O sistema, alm de implementar as funcionalidades de monitorao, oferece para o cliente possibilidade de realizar consultas de veculos, CNH e infraes. Para que o usurio possa usufruir desses benefcios preciso digitar seu nome e senha na ferramenta, como mostra a imagem acima, se as informaes estiverem corretas a ferramenta ir apresentar uma tabela com todos os carros que o cliente possui em seu cadastro, conforme a figura abaixo.

Figura 32: Tela Inicial para Cliente Logado

Nesse mdulo do sistema, o cliente pode filtrar a tabela de carros pelo nmero da placa do veculo, imprimir a lista de seus automveis, exportar a lista para uma planilha e consultar as informaes completas de algum de seus veculos presentes na tabela. Para visualizao dos dados completos do automvel deve-se clicar sobre o veculo desejado, assim a ferramenta apresentar as informaes desejadas, o que demonstrado a seguir.

69

Figura 33: Tela de Informaes de Veculo

nessa parte que se concentra as principais funcionalidades desse projeto, sendo que nesse mdulo pode-se visualizar a ltima localizao do veculo e consultar o histrico de percursos do automvel. Conforme podemos ver na figura abaixo, ao solicitar a ltima localizao do veculo o sistema apresenta um mapa com uma seta apontando para um ponto, indicando onde o automvel est situado.

70

Figura 34: Ultima Localizao do Veculo

Para elaborao dessa funcionalidade foi utilizada a API do Google Maps que disponibilizada gratuitamente. Para usar essa API preciso obter uma chave direto no Google e fornecer um domnio vlido. Alm disso, h possibilidade de analisar o histrico do veculo.

71

Figura 35: Histrico do Veculo

Essas informaes mostradas na figura acima ficam armazenadas em uma tabela no banco de dados, assunto j explicado anteriormente. Atravs dessa tela existe a possibilidade de filtrar um perodo de tempo, indicando uma data inicial e uma data final, resultando em uma rota a partir das coordenadas contidas na base de dados, conforme no mapa da figura abaixo.

72

Figura 36: Rota de Histrico Armazenado

73

c) Aplicao Web para Administradores

Figura 37: Interface de Interao com o Administrador da Ferramenta

A figura acima apresenta a tela de entrada da aplicao desenvolvida para o administrador da ferramenta, a partir dessa interface que sero realizados os cadastros, alteraes ou at excluses de clientes, veculos, combustveis, categorias e usurios.

74

7 CONSIDERAES FINAIS

Com o intuito de alcanar o objetivo principal desse trabalho foi desenvolvido um sistema Web com a linguagem de programao PHP, a qual apresenta compatibilidade com diversas aplicaes de bancos de dados, entre eles o PostgreSql. Essa ferramenta de banco de dados foi utilizada para armazenar as informaes sobre os limites de velocidade, as rotas e a documentao dos veculos e dos condutores. Devido necessidade de um servidor suportar o sistema Web o notebook utilizado foi configurado com Apache Server. Alm disso, houve a criao da aplicao existente no mdulo XT65, a qual foi realizada com programao J2ME, de forma que possibilitou mais rapidez no desenvolvimento e, tambm, a possibilidade de utilizar o ambiente de simulao Wireless Toolkit 2.5.2. A obteno das coordenadas de localizao e velocidade foi realizada atravs da tecnologia GPS agregada no mdulo. Outro recurso utilizado e disponibilizado no XT65 o GPRS, que realizou a comunicao entre o sistema Web e o mdulo existente no automodelo. A partir das tecnologias utilizadas foi desenvolvido um caso de aplicao para monitorao veicular. Nesse sistema de telemetria a simulao da leitura dos dados de documentao veicular existentes no smart card e da carteira de habilitao contida na memria da placa foi realizada atravs de programao assembly no microcontrolador MSC1211, onde foi possvel constatar que o condutor em situao regularizada conseguiu trafegar sem problemas. Atravs do GPS verificou-se a velocidade do automodelo, sendo enviada para o servidor Web, o qual verificou o limite excedido e reenviou essa informao para o mdulo. Depois disso, esse dado foi repassado para a placa onde foi exibida, atravs do display, uma mensagem de limite excedido ao motorista. As consultas referentes localizao em quase tempo real (QTR), ao histrico de rotas e as infraes foram realizadas atravs do sistema Web, tanto por quem administra a aplicao quanto por um cliente cadastrado, de maneira que preciso um usurio e uma senha. Durante a realizao do projeto algumas dificuldades foram encontradas como: o longo processo de importao do mdulo; a necessidade de contatar com pessoas do exterior para a obteno de documentao referente utilizao do XT65, sendo que para isso foi necessrio a assinatura de um contrato de confidencialidade; a difcil localizao de fontes confiveis em determinados assuntos; o gerenciamento de tempo para a elaborao e execuo do trabalho, entre outras.

75

Em trabalhos futuros podem ocorrer melhorias no projeto desenvolvido e, at mesmo, criar novas funcionalidades como a disponibilizao desse sistema em celulares.

76

REFERNCIAS [CAM 05] CAMINHA, Flvia Luiz. Modelagem e desenvolvimento de uma central de admisso aos servios de telemetria em redes de telefonia celular. Porto Alegre: PUCRS/Faculdade de Engenharia Eltrica, 2005 (Dissertao de Mestrado). 121 p. [CAR 08] CARVALHO, Alan. O que GPRS? Disponvel em: http://www2.eletronica.org/artigos/outros/o-que-e-gprs. Acesso em: 30 maro, 2008. [DAV 97] DAVIS, Stephen R. Aprenda Java agora. Rio de Janeiro: Campus, 1997. 387 p. [DAV 08] DAVIS, Michele E. ; PHILLIPS, Jon A. Aprendendo PHP e MySQL. Rio de Janeiro: Alta Books, 2008. 416p. [DOC 08] Documentao do PostgreSQL 8.0.0. Projeto de traduo para o portugus do Brasil. Disponvel em: http://sourceforge.net/projects/pgdocptbr/. Acesso em: 18 junho, 2008. [FIG 05] FIGUEIREDO, Lino Manuel B. Sistemas inteligentes de transporte. Porto: Universidade do Porto/Faculdade de Engenharia, 2005 (Tese de Doutorado). 277 p. [FIO 05] FIORESE, Virglio; Wireless: introduo s redes de telecomunicao mveis celulares. Rio de Janeiro: Brasport, 2005. 368 p. [FOR 06] FOROUZAN, Behrouz A. Comunicao de dados e redes de computadores. Porto Alegre: Bookman, 2006. 840 p. [GAD 07] GADDO, Alexandre. Avaliao de transferncia de informaes de rastreamento veicular sobre redes GPRS. Porto Alegre: PUCRS/Faculdade de Informtica, 2007 (Dissertao de Mestrado). 94 p. [GON 06] GONALVES, Edson. Dominando Netbeans. Rio de Janeiro: Cincia Moderna, 2006. 384p. [HOL 01] HOLDEN, Greg; WELLS, Nicholas; KELLER, Matthew. Apache Server, comentrios detalhados do cdigo do Apache Server, trabalhando o cdigo - fonte. So Paulo: Makron Books, 2001. 256 p.

77

[HOL 08] HOLTEK. HT24LC02 CMOS 2k 2 Wire Serial EEPROMWireless module XT65. Disponvel em: http://www.holtek.com.tw/pdf/memory/24lc02v140.pdf. Acesso em: 23 junho, 2008. [INS 08] INSTITUTO SUPERIOR TCNICO. O passado das comunicaes mveis. Disponvel em: http://www.img.lx.it.pt/~mpq/st04/ano2002_03/trabalhos_pesquisa/T_7/Passado.htm. Acesso em: 28 maio, 2008 [JUN 04] JNIOR, Alfredo Fernandes Tavares. Telefonia celular: uma viso abrangente. Londrina: Universidade Estadual de Londrina/ Ps-graduao de Redes de Computadores e Comunicao de Dados, 2004 (Monografia). 80 p. [KAP 96] KAPLAN, Elliott. Understanding GPS: principles and applications. Norwood: Artech House, 1996. 554p. [LIS 08] LISBOA, Flvio Gomes da Silva. Zend framework: Desenvolvendo em PHP 5 Orientado a Objetos com MVC. So Paulo: Novatec, 2008. 184p. [MEL 07] MELO, Alexandre Altair de; NASCIMENTO, Mauricio G. F. PHP profissional: Aprenda a desenvolver sistemas profissionais orientados a objetos com padres de projeto. So Paulo: Novatec, 2007. 464 p. [NET 08] NETBEANS. Netbeans. Disponvel em: http://www.netbeans.org/. Acesso em: 17 junho, 2008. [ORT 07] ORTIZ, rick Britis. Interface de controle e caracterizao de MicroSQUIDS Histerticos. Rio de Janeiro: Centro Brasileiro de Pesquisas Fsicas/MCT, 2007 (Dissertao de Mestrado). 42 p. [PAG 08] PGINA PESSOAL DE JLIO CSAR MARQUES DE LIMA. Downloads. Disponvel em: http://www.jclima.tk/. Acesso em: 30 maro, 2008. [PAR 07] PARANHOS, gor Abraho. Sistema de monitoramento digital de grandezas eltricas. Porto Alegre: PUCRS/Faculdade de Engenharia Eltrica, 2007 (Dissertao de Mestrado). 169 p. [RIB 08] RIBEIRO, Gisele. Como funciona a telefonia 3G. Disponvel em: http://eletronicos.hsw.uol.com.br/telefonia-3g.htm. Acesso em: 28 maio, 2008.

78

[REV 08] REVISTA POCA. Instalao de GPS em carro permite ao pai monitorar o filho. So Paulo: Globo, n. 523, 26 maio, 2008. [SIC 07] SICA, Carlos. Programao segura utilizando PHP: Fale a linguagem da internet. 1.ed. Rio de Janeiro: Cincia Moderna, 2007. 100 p. [SIE 08] SIEMENS. Wireless module XT65. Disponvel em: http://www.siemens.com.br/templates/produto.aspx?channel=7700&channel_pri_nivel=7700 &produto=19194. Acesso em 04 abril, 2008. [SIQ 05] SIQUEIRA, Ethevaldo. 2015 Como viveremos O futuro, na viso de 50 famosos cientistas e futurologistas do Brasil e do mundo. So Paulo: Saraiva, 2005. 333 p. [SOM 07] SOMMERVILLE, Ian. Engenharia de software. So Paulo: Pearson AddisonWesley, 2007. 549p. [SUN 08] SUN Developer Network. Java 2 plataform, micro edition. Disponvel em: http://java.sun.com/j2me. Acesso em: 08 junho, 2008. [SUN 08b] SUN Microsystems. Sun Java Wireless Toolkit for CLDC. Disponvel em: http://java.sun.com/products/sjwtoolkit/download.html. Acesso em: 23 maro, 2008. [TEX 08] TEXAS INSTRUMENTS. MSC121x precision ADC and DACs with 8051 microcontroller and flash memory. Disponvel em: http://focus.ti.com/lit/ug/sbau101a/sbau101a.pdf. Acesso em: 18 junho, 2008. [THE 08] THE APACHE SOFTWARE FOUNDATION. Meriotocracy in action. Disponvel em: http://www.apache.org/. Acesso em: 18 junho, 2008. [WIK 08] WIKIPDIA. A enciclopdia livre. Disponvel em: http://pt.wikipedia.org/wiki/Rede_de_Telefonia_Celular. Acesso em: 30 maro, 2008.

Você também pode gostar