Escolar Documentos
Profissional Documentos
Cultura Documentos
Pontifcia
Universidade
Catlica do Paran.
CURITIBA
DEZEMBRO / 2007
PLANO DE PROJETO
Equipe:
CARLOS ALEXANDRE PACHOLOK
JHONATAN ZEZAK RODRIGUES
Orientador:
____________________________
Prof. Mardson Freitas de Amorim
CURITIBA
DEZEMBRO / 2007
INDICE
RESUMO: .................................................................................................................................... 1
INTRODUO: ............................................................................................................................ 2
GPS.................................................................................................................................... 5
GSM/GPRS....................................................................................................................... 5
Micro-controlador ............................................................................................................. 5
Servidor ............................................................................................................................. 5
Mdulo GPS...................................................................................................................... 7
Mdulo Receptor GPS Trimble...................................................................................... 8
Funcionamento do Mdulo GPS ................................................................................... 9
Mdulo GPRS................................................................................................................. 10
MDULO MVEL ..................................................................................................................... 12
GPS.................................................................................................................................. 12
GPRS............................................................................................................................... 13
PIC Micro Controlador (Software)............................................................................ 14
SERVIDOR ................................................................................................................................. 17
Introduo Terica ao C++ Builder ............................................................................. 17
Introduo Terica ao Banco de Dados e Tabelas .................................................. 17
DRIVER OBDC .............................................................................................................. 19
FERRAMENTAS DE CONEXO C++ BUILDER COM O MySQL ........................ 19
MODELAGEM DE BANCO DE DADOS .................................................................... 22
SERVIDOR DE CONTROLE DE TRAFEGO DO TRANSPORTE COLETIVO.... 25
CONSULTAS DO SISTEMA ........................................................................................ 30
CLCULO DO TEMPO ESTIMADO DO PRXIMO NIBUS................................ 33
ALGORITMO DO CLCULO DO TEMPO ESTIMADO........................................... 35
ARMAZENANDO DADOS NO SERVIDOR:.................................................................................. 40
CONCLUSO: ............................................................................................................................ 42
RESUMO:
Objetivando uma melhora do transporte coletivo, identificando a localizao do nibus,
velocidade e tempo estimado de chegada at prxima estao, este projeto final desenvolveu um
prottipo de um sistema de controle e trfego do transporte coletivo. So utilizados dispositivos de
localizao via satlite GPS integrados com o sistema de comunicao atravs do sistema mvel
celular com a tecnologia GSM/GPRS, com comunicao em tempo real que so integrados a um
micro-controlador. O veculo, assim como cada estao, se comunicar com o servidor na central de
controle e operao para o envio e recepo dos dados.
No hardware so utilizados os mdulos GPS e GSM/GPRS da PUCPR. Para o controle desses
dispositivos utilizado um micro controlador da famlia PIC adquirido a partir de recursos dos
prprios desenvolvedores do projeto.
J o quesito software, utilizada a linguagem C/C++ tanto na implementao do servidor
central, quanto na programao da placa com o micro controlador.
INTRODUO:
As grandes cidades sofrem cada vez mais com os congestionamentos que ultrapassam o
horrio de rush. O problema antigo e cada vez est em piores condies, gerando grande stress na
populao. O sistema de transporte pblico visa atender toda a populao no translado casatrabalho, ou casa-escola, enfim, na locomoo dos habitantes. Todavia, o sistema de transporte
pblico coletivo no possui muitos adeptos e, sempre que possvel, o usurio utiliza-se de transporte
prprio devido superlotao e horrio indeterminado ou com muito atraso.
O projeto se destina s empresas de nibus que almejam melhorar e modernizar o sistema
de transporte. Neste caso a URBS da cidade de Curitiba seria o possvel cliente. O projeto viabiliza o
rastreamento, controle de horrios de partida e chegada dos nibus, assim como a velocidade do
mesmo, melhorando assim o sistema de transporte coletivo e facilitando a vida do usurio.
O Sistema de Controle e trfego do transporte coletivo via GPS um sistema inovador e
avanado de coleta de informaes de operaes da frota do transporte coletivo utilizando mdulos
com tecnologia GPS e transmisso desses dados atravs de mdulos celulares GSM/GPRS.
GPS a sigla inglesa de Global Positioning System e significa Sistema de Posicionamento
Global, um sistema que fornece a posio geogrfica de qualquer ponto da terra atravs de
coordenadas geogrficas emitidas pelos sistemas de satlites.
Os sinais emitidos pelos satlites so recebidos pelo mdulo GPS sendo possvel determinar
com preciso o local e horrio em que se encontra um determinado nibus, alm da velocidade
desenvolvida naquele momento, a direo e a distncia percorrida por ele.
Depois de efetuada a leitura da posio geogrfica e outros dados decorrentes do mdulo
GPS, as informaes sero enviadas por um mdulo celular GSM/GPRS ao um servidor central que
processar as informaes e re-enviar aos terminais de passageiros.
A sigla GRPS vem do ingls General Packet Radio Service, que significa servio global de
transmisso de dados por pacotes. Seu funcionamento se baseia no envio e recepo de informaes
em uma rede telefnica celular GSM. Essas informaes so divididas em pacotes, que percorrem
diversos caminhos at o destino final. Na qual so reagrupados e lidos de forma correta.
O software utilizar recursos grficos indicando as posies e o itinerrio realizado por todos
os nibus, velocidade atual, tempo esperado at a prxima estao.
DETALHAMENTO DO PROBLEMA:
Na Curitiba, que possui um sistema de transporte exemplar, invejado, premiado e copiado
por muitos lugares e um grande nmero de usurios satisfeitos (89% segundo a URBS) este sistema
organizado pela URBS (Companhia de Urbanizao de Curitiba). nibus bi-articulados trafegam em
vias exclusivas e terminais de nibus e estaes tubo permitem aos passageiros trocarem de linha
pagando apenas uma passagem. Ainda assim, a populao foge do servio mesmo fora dos horrios
de pico e reclamam da impreciso dos horrios. A alegao que de nibus precisam sair 30 minutos
antes ou at mais, pois no sabem que horas o nibus passar. Teoricamente, os nibus possuem um
horrio pr-estabelecido, mas esse horrio funciona somente em paradas finais e, fora disso, em
intervalos de horrios. Os nibus bi-articulados em dia de semana passam de cinco em cinco
minutos, sbados de dez em dez minutos e domingos e feriados de quinze em quinze. Contudo, o
usurio quer saber quando passar o prximo. Ou ainda, h casos em que o usurio est no terminal
e tem duas opes, uma que demora mais e outra menos. O questionamento : a que demora mais
j est no terminal e a que demora menos chega h um minuto, em dois ou somente daqui quinze
minutos?
Com o intuito de melhorar esse servio, o projeto prope localizar e identificar a hora
estimada da chegada do prximo nibus. O sistema identificar a localizao do nibus, sua
velocidade e estimar o horrio de chegada na prxima estao tubo ou terminal. Esse sistema ter
um apelo muito forte ao usurio do transporte coletivo e servir de incentivo s campanhas de uso
do transporte publico. Para os proprietrios dos veculos poder ser utilizado como segurana pelo
servio de rastreamento e para URBS uma otimizao dos veculos, horrios de pico com mais nibus
e melhor intercalados.
Solues parecidas existem em alguns lugares do Brasil. Contudo, em So Paulo (capital), por
exemplo, o sistema que deveria informar o horrio de chegada do prximo nibus est sempre fora
do ar. Uma soluo barata aplicada em alguns lugares a utilizao de rdio freqncia, onde em
cada parada avisa a prxima da que o nibus est chegando. Porm, esta soluo possui, como
principal falha, casos em que o nibus tenha de parar devido a acidentes ou congestionamento o
tempo de chegada no se aplicar. Outro problema da soluo por rdio freqncia a distncia
alcanada. Por GPRS possvel informar a localizao do nibus a qualquer terminal ou estao tubo
alvo que esteja dentro da rea de cobertura da rede de celulares, o que atualmente nas grandes
cidades no um problema e faz com que a abrangncia seja praticamente total.
O projeto prope um sistema que, alm de fornecer a facilidade de o passageiro saber o
horrio de chegada do seu nibus, fornece facilidades aos proprietrios dos veculos, com o sistema
de GPS integrado ao GPRS e ao micro-controlador. Assim, possvel adicionar servios de acordo
com as especificaes do proprietrio. Por exemplo, informaes de distncia percorrida,
informaes da bomba de combustvel, velocidade mdia, temperatura do motor, boto de pnico
3
para cobradores em caso de pnico. Para a URBS, que gerencia o sistema, algumas das possveis
informaes so: informao do nmero de passageiros que entraram no nibus ou na estao tubo,
boto de pnico para as estaes tubo, certificao do nmero de nibus trafegando na rota, alm
das informaes que so de comum interesse da URBS e proprietrios de nibus. Com a
implementao do sistema um maior nmero de cidados utilizar o sistema, gerando maior lucro
operadora.
Atravs do rastreamento via GPS, os semforos podero ser programados com antecedncia
a fim de liberar a passagem dos nibus. Se aplicado, o sincronismo entre nibus e semforos,
diminuiria muito o tempo da viajem e, com isso, ganhando passageiros.
GPS
Nesse primeiro mdulo funcional sero verificados quais so os dados enviados, tempo de
verificao e envio para serial. Posteriormente, o mdulo ser colocado para enviar os dados obtidos
dos satlites para uma interface de alto nvel para o usurio (LabView). Na verso final ser feito com
que o GPS envie as informaes para o mdulo GPRS atravs de pacotes de dados at o servidor.
GSM/GPRS
Nessa segunda etapa, ser verificado o funcionamento do mdulo e suas caractersticas,
enviando dados de teste na rede GPRS. Ser verificado como so seus comandos e dados enviados
atravs da porta serial, tempo de envio e etc. Aps esses perodos de testes, o mdulo GPRS ser
configurado para receber os dados do GPS e envi-los atravs de pacotes IP para o servidor.
Micro-controlador
O terceiro mdulo consiste no software e no hardware do micro-controlador. O software o
cdigo em linguagem C dos procedimentos que o micro-controlador ter que efetuar para
interfacear os dados coletados do GPS e envi-los atravs do modem GPRS. J no hardware, ser
confeccionada uma placa para alojar o micro-controlador.
Servidor
5
Mdulo GPS
O sistema de GPS fornece uma precisa capacidade de fornecer coordenadas geogrficas de
um determinado ponto na terra, velocidade e altitude atravs da navegao tridimensional.
Desde os primrdios os homens utilizavam os corpos celestes para a navegao e
orientao. A navegao astronmica possui alguns inconvenientes, como a no presena dos astros
a qualquer hora (dias nublados, por exemplo) e em qualquer ponto, a pessoa deve ter a capacidade
para fazer essa leitura, contudo, tem a vantagem de estar ali, e poder utilizar sem pedir autorizao a
ningum.
Sistemas de navegao por ondas de rdios tambm apresentam limitaes, como as
ondas de rdio de alta freqncia proporcionam navegao precisa, mas so influenciadas pelo
relevo. J as ondas de baixa freqncia so pobres em preciso e os equipamentos no so de fcil
acesso para qualquer usurio.
Pesquisas realizadas na dcada de 70 e 80, pela Fora Area dos Estados unidos levaram
ao sistema de navegao por satlites, GPS, cujos principais objetivos foram a radio navegao em
trs dimenses com alta preciso de posio, navegao em tempo real, imunidade a interferncias,
cobertura global e inoperabilidade, rpida obteno dos dados transmitidos pelos satlites.
O funcionamento bsico de do sistema GPS se baseia no principio de triangularizao,
segundo o qual o observador conhece a posio de um conjunto de satlites em relao a um
referencial inercial e sua posio em relao a este conjunto, obtendo sua prpria posio no sistema
de referncia.
O GPS dividido em trs segmentos principais:
segmento espacial, constitudo pelos satlites;
segmento de controle, constitudo pelas estaes terrestres que controlam o
desempenho e o funcionamento do sistema;
segmento usurio, constitudo pelos usurios do sistema.
A mensagem transmitida por cada satlite ao usurio contm:
parmetros para correo do relgio do satlite;
efemrides do satlite;
almanaque e "sade" de todos os satlites;
dados para correo da propagao ionosfrica;
parmetros para correes orbitais;
cdigo de identificao.
A mensagem referente dos satlites pode chegar de forma incorreta. Essas principais fontes
de erro podem ser:
7
Mdulo GPRS
A rede de telefonia celular GSM atual teve suas taxas de transferncia de dados
aumentada devido tecnologia GPRS. Ela permite o transporte de dados por pacotes por comutao
de pacotes, oferecendo assim, elevadas taxas de transferncias que as tecnologias anteriores que
utilizavam comutao
mutao por circuito. A informao dividida em pacotes relacionados entre si antes de
ser transmitida e remontada no destinatrio.
A comutao por pacotes estabelecida de forma diferente que a comutao por
circuito, pois, a mesma no estabelecida do
do ponto de origem da transferncia de dados ao destino.
Na comutao por circuito todos os recursos da rede so dedicados por toda a durao da chamada.
Com a tecnologia GPRS o servio este sempre ativo, e os recursos da rede s so utilizados quando o
usurio
rio for enviar ou receber dados. Pelo fato de estarem sempre conectados e a disponibilidade
imediata uma caracterstica muito importante para aplicaes crticas como autorizao remota.
Com esse
sse uso eficiente de recursos, um grande nmero de usurios G
GPRS pode
potencialmente compartilhar a mesma largura de banda e serem servidos de uma nica clula. O
nmero atual de usurios suportados depende da aplicao em uso e de quanta informao que est
sendo transferida. Dada a eficincia do GPRS, h menor necessidade
necessidade de investir em recursos que
sero somente utilizados em horrios de pico. Portanto, GPRS permite que as operadoras maximizem
o uso de seus recursos de rede de uma forma dinmica e flexvel.
A rede GPRS permite uma funcionalidade completa com a int
internet mvel por ter
interoperabilidade entre a internet convencional e rede GPRS. Qualquer servio utilizado na internet
est disponvel tambm atravs da rede mvel celular com GPRS. A navegao na web atravs da
rede GPRS fcil pelo fato dos protocolos em uso serem os mesmos. As redes GPRS podem ser
encaradas como sub-redes
redes da Internet e os telefones GPRS-compatveis
GPRS compatveis podem ser vistos como ns
mveis dessa rede. Isso significa que cada terminal GPRS pode potencialmente ter seu prprio
endereo IP e ser enderevel
nderevel por isso.
10
11
MDULO MVEL
O mdulo mvel composto de trs equipamentos. GPS Micro Controlador
GPRS. Eles interagem da seguinte maneira:
GPS
O GPS recebe o sinal dos satlites e a cada meio segundo transmite pela porta
serial (taxa de 4800bps) as informaes. Esse modelo da Trimble est configurado para
transmitir trs mensagens:
$GPZDA,122342.44,10,12,2007,,*6F
$GPGGA,122342.00,2526.9955,S,04914.9689,W,1,03,2.12,00872,M,-000,M,,*40
$GPVTG,000.0,T,015.8,M,000.0,N,000.0,K,A*2F
Essas mensagens seguem o protocolo NMEA 0183 [8] e sempre seguem a mesma
ordem de informaes. Esse protocolo garante que as mensagens so entregues sempre na
mesma ordem e sempre com uma vrgula entre cada informao. A vrgula um parmetro
importante, pois quando o equipamento no consegue captar as informaes do satlite
somente as vrgulas so transmitidas. Com isso, o software implementado no PIC (Micro
controlador) conta as vrgulas para buscar as informaes teis ao projeto. Informaes
como altitude, nmero de satlites foram descartadas.
12
GPRS
O GPRS o link entre o mdulo mvel e o servidor, a interface de sada de dados.
A configurao do mdulo feita quando o veculo entra para a rota, ou seja, quando ele sai
da garagem (no caso de nibus) e se encaminha para a linha que ele far. A configurao
consiste em habilitar as mensagens de status do comando. Com isso, depois de cada
comando configurado o mdulo transmite uma mensagem de OK quando comando recebido
com sucesso e ERROR quando o comando recebido no foi interpretado corretamente ou
h falha na configurao. Quando o mdulo iniciado ele faz algumas rotinas de testes e
transmite mensagens se os testes forem bem sucedidos, logo, o primeiro teste do software
verificar se a rotina de testes do mdulo foi bem sucedida (checar porta serial, checar sinal,
e outras). Todas as mensagens so enviadas pela porta serial do mdulo. A taxa de
comunicao de 115200bps, bastante alta para uma porta serial.
!"# $
%&'%()%*
($+ !%*),*
+,-+,-*)$*
./)'0$
,!1 %*
#$.%!)$
!8$
%&'%()%*
(,-2$-+%*)$*
./)'0$
(,-2$-+%*
$34
-.
,!1 %*
2(/5 .$-*
#$.%!)$-
#$!6 &'(%78$*
$34
+,(. !%*$*
2($&(%.%*,*
%#,!),*0,)*
1,(.,09$
,!#,((%*
($+ !%
6.
O mdulo mvel possui uma operao bastante simples para que no dependa do
operador (motorista). Com isso, o software precisa gerenciar os erros durante a
configurao do GPRS e os demais que podem ocorrer na recepo dos dados do GPS.
Nessa filosofia o prottipo ficou com o boto de reincio (reset) e de permanncia de
rota. O boto de reset deve ser pressionado sempre que houver algum erro, nesse caso um
LED vermelho se acender. Caso no haja erro algum o LED verde permanecer aceso e
um LED amarelo fica piscando para informar que o programa no est travado. Quando o
14
veculo estiver saindo de linha e voltando para a garagem uma chave dever ser mudada de
posio. Nessa transio da chave, o software inicia o processo de encerramento de socket
com o servidor. Esse um fator importante, pois atravs do socket que o servidor verifica
se o nibus est operante ou no. Para informar que o socket foi encerrado e o mdulo
mvel
vel pode ser desligado todos os LED acendem e permanecem acesos.
Testes confirmaram o uso do mdulo mvel em baterias de 12V. Para sintetizar o
uso, uma placa fonte foi criada e pode ser observada abaixo. Testes em baterias de
automveis ainda sero feitas
feitas e necessitaro de um circuito mais preciso e com filtros. A
placa fonte possui os LED de indicao e trs reguladores de tenso. Um para cada
equipamento, ou seja, o GPS, PIC e GPRS.
Como o GPRS e GPS utilizam interface serial de comunicao, foi necessrio criar
outra sada serial para o PIC. O PIC possui uma serial implementada em seu hardware.
Logo, a sada encontrada foi utilizar um software que gerencia outra por
porta serial. O software
utilizado foi baseado no software publicado no livro Microcontroladores PIC - Programao
em C [9]. No livro h o programa pronto para a velocidade de 9600bps, no prottipo a
velocidade usada de 4800bps (taxa do GPS), logo, alteraes
alteraes foram feitas para o perfeito
funcionamento.
A mudana do cristal do PIC trouxe mudanas ao software de gerenciamento do
mdulo mvel. Primeiramente, o software que gerenciaria as informaes oriundas do GPS
armazenaria 200Bytes na memria EEPROM do PIC e depois varreria essa memria em
busca das informaes teis. Em testes essa lgica era bastante funcional, mas quando
ligado ao GPS muitos dados eram perdidos e problemas no software que trata serial
15
apareceram. A mudana do cristal deixou as operaes do PIC cinco vezes mais rpida com
isso uma nova lgica no programa que trata os dados do GPS pode ser implementada. O
gerenciamento dos dados ficou dinmico, ou seja, a partir que um Byte era recebido ele j
era tratado. Essa lgica s pode ser implementada devido velocidade do clock e
alteraes no software que gerencia a serial que comunica com o GPS. A transmisso bit a
bit foi verificada e alguns parmetros alterados para que o PIC tivesse tempo hbil de
checar os dados recebidos pelo GPS e tomar as decises necessrias.
O PIC est programado a ler os dados do GPS e transmitir o pacote de informaes
a cada quinze segundos aproximadamente. Para viabilizar o projeto financeiramente, as
informaes no necessrias ou de redundncia foram retiradas, assim, criou-se um
protocolo de comunicao e envio de dados cuja mensagem no possui mais que cinqenta
bytes.
16
SERVIDOR
Introduo Terica ao C++ Builder
O C++ Builder um ambiente de desenvolvimento para aplicaes cliente/servidor
produzido pela Borland, tradicional empresa desenvolvera de compiladores. O C++ Builder
utiliza os conceitos de programao visual e dirigida por eventos para proporcionar uma
ferramenta RAD (Rapid Application Development) extremamente poderosa, que permite
desenvolver aplicaes eficientes rapidamente. Algumas de suas caractersticas mais
marcantes so:
Uso de uma biblioteca de componentes visuais, a VCL (Visual Components Library),
desenvolvida originalmente para o Delphi, ferramenta produzida pela mesma
empresa com caractersticas semelhantes ao C++ Builder, s que utilizando a linguagem
Object Pascal como linguagem base.
Orientao a objetos: o C++ Builder utiliza a linguagem de programao orientada a
objetos C++, onde se podem utilizar plenamente os conceitos de POO (Programao
Orientada a Objetos) e obter os seus benefcios.
Possui um excelente ambiente de desenvolvimento (IDE) com ferramentas de
produtividade que auxiliam a programao, alm de um timo depurador (debugger)
!"##$%"&'$()*$#$)+"("&,-.,/%"&'-)"%)"01/*"()+")programadores e controle de
verses.
Grande escalabilidade no acesso a banco de dados: pode acessar tabelas locais
dBase e Paradox, assim como SGBDs como MySQL, Informix, Sybase, Microsoft
SQL Server e Interbase.
Este tipo de relacionamento utilizado quando temos uma situao onde em ambos
os lados do relacionamento os valores poderiam se repetir. Vamos considerar o caso entre
Produtos e Pedidos. Posso ter Vrios Pedidos nos quais aparecem um determinado
produto, alm disso, vrios Produtos podem aparecer no mesmo Pedido. Esta uma
situao em que temos um Relacionamento do Tipo Vrios para Vrios.
Na prtica no possvel implementar um relacionamento deste tipo, devido a uma
srie de problemas que seriam introduzidos no modelo do banco de dados. Por exemplo, na
tabela Pedidos teramos que repetir o Nmero do Pedido, Nome do Cliente, Nome do
Funcionrio, Data do Pedido, etc para cada item do Pedido.
Para evitar este tipo de problema bastante comum "quebrarmos" um
relacionamento do tipo vrios para vrios em dois relacionamentos do tipo Um para Vrios.
Isso feito atravs da criao de uma nova tabela, a qual fica com os lados vrios dos
relacionamentos. No nosso exemplo vamos criar a tabela Detalhes do Pedido, onde ficam
armazenadas as informaes sobre os diversos itens de cada pedido, a ao invs de termos
um relacionamento do tipo Vrios para Vrios, teremos dois relacionamentos do tipo um
para vrios.
DRIVER OBDC
Para que o MySQL se conecte com o C++ Builder necessrio a instalao de um
Driver OBDC (Open DataBase Connectivity), que um mtodo de acesso a Banco de
Dados desenvolvido pela Microsoft, com a finalidade de tornar possvel acessar qualquer
dado de qualquer aplicao independentemente do Banco de Dados usado.
Descrio
Inactive
Browse
Edit
Insert
Permite que uma nova linha ou registro seja inserido. Aps a chamada do
mtodo Post, uma nova linha gravada na tabela e o dataset volta ao estado
Browse.
SetKey
CalcFields Estado que ocorre quando um campo calculado est sendo atualizado.
Uma aplicao pode posicionar um dataset em determinado estado atravs de uma
chamada explcita a um mtodo ou atravs da ocorrncia de um evento que desencadeie
uma troca de estado. H mtodos que sempre levam para determinado estado e so
chamados mtodos correspondentes aos estados. So eles: Edit, Insert, Append e Setkey.
Outro conjunto de mtodos sempre retorna o dataset para o seu estado de Browse como
Delete, Cancel, GotoKey e GotoNearest. H casos em que o sucesso ou insucesso do
mtodo define se o dataset volta ao estado de Browse, como o mtodo Post.
O diagrama de estados da Figura 10 mostra os possveis estados de um dataset e os
mtodos que causam as trocas de estado para outro.
20
22
23
24
25
Funcionamento do Software
O Software responsvel pelo recebimento da mensagem enviada pelo mdulo
mvel GPRS contido em todos os nibus da frota, informando seu cdigo, data, hora,
velocidade e coordenadas atual. Esses dados so transmitidos na rede celular GSM atravs
do servio de GPRS pelo padro TCP/IP, esses dados chega ao servidor atravs da internet
26
por sockets. Esses sockets so definidos atravs de uma porta estipulada tanto no mdulo
mvel, quanto no software servidor, sem isso a conexo no se efetuar como mostra o
fluxograma da Figura 15. O C++ Builder possui alguns componentes de criao do servidor
socket ou cliente socket.
27
%?@A*<>:ABC>*<>D*
.E-F0
-..&$/&$/)!""/.$
0/"!$1!$2/1&"
!"#!$"!$%&'(!$
)&*!+,&
DE9
ABC
-"#/3!4!)!$
)&*!+,&$)&5$
0/"!
67'/.1/$1/1&"$
1&"$20-28#
93#:5$
"#.8*7$
!*(8/1/
-*;'/*#&$*,&$
!*)&*#./.$<=>
ABC
DE9
2!")/.#/$)/./)#!.
-*;'/*#&$*,&$
!*)&*#./.$<?>
2!")/.#/$)/./)#!.
DE9
6.5/@!*/$
)/./)#!.
63.!$#/3!4/$2/1&"
6.5/@!*/$
1/1&"$*/$
#/3!4/
DE9
!"#/$"!$8*"!.8'
ABC
F!)%/$#/3!4/$
2/1&"
F85
28
A tabela dados possui mais informaes alm das seis mensagens obtidas, como
problema e status do nibus. Esses dois outros campos so obtidos atravs de uma
consulta do ltimo dado enviado ao servidor, se o mesmo estou o tempo de envio da
prxima mensagem no caso do campo status e no campo problemas atravs de consulta se
o nibus esta fora de rota, entre outras.
A insero desses dados no MySQL atravs do C++ Builder foi desenvolvida
utilizando a ferramenta Builder atravs de alguns componente como o Database que
fornece o acesso base de dados, UpdateSQL responsvel pela atualizao dos registros
da tabela, Query componente que faz a consulta base de dados, Table permite a consulta
e edio de registro na base, e DataSource que componente de acesso as tabelas.
O servidor possui diversos formulrios, janela principal, Figura 17, que fornece uma
tabela com as dados recebidos de cada mdulo mvel, menus de acesso a cadastro e
consulta de nibus, rota, linha estaes, e tambm do acesso as consultas dos sistemas
atravs dos botes. Um formulrio de dados, onde so inseridos os componentes de acesso
ao banco de dados ao MySQL acima descritos. E demais formulrio de cadastro, insero,
alterao, excluso e consulta como nibus, rota, linha, estao, pontos e etc.
CONSULTAS DO SISTEMA
Foram estabelecidas algumas consultas no sistema para verificar os histricos de
informaes que ocorreram eu uma determinada data ou situao do nibus. Essas
consultas foram realizadas utilizando a linguagem SQL, Structured Query Language, A SQL
uma linguagem de alto nvel. Um aplicativo no diz ao mecanismo de banco de dados
como deve executar uma tarefa, mas enuncia o que o resultado deve conter.
Uma consulta uma pergunta que um aplicativo faz a um banco de dados e depois
retorna registros. As consultas retornam um conjunto de registros que satisfazem a alguns
critrios e contm informaes de campos selecionados.
Ao falar sobre consultas, considere toda instruo SQL como uma pergunta. O
resultado conseguido a resposta que o mecanismo de banco de dados d. Existem
30
algumas instrues SQL que so simplesmente um comando. Para esse comando, voc
no receberia um resultado. Entretanto, para perguntas ou consultas, um resultado o
conjunto de registros retornados pelo mecanismo de banco de dados.
Por serem uma linguagem de alto padro essas consultas foram pr-determinadas e
inseridas dentro do cdigo de programa do servidor, portanto cabe ao usurio somente a
insero de alguns campos determinados para ter o resultado da consulta.
Algumas das consultas realizadas so:
1234567-
nas consultas:
o
N.
Pergunta?
Dados Fornecidos
status
Campo de Resultado
data
max
(curdate)
(hora)
nibus
status
nibus
nibus
problema
NIBUS X?
NA LINHA X EXISTEM QUAIS NIBUS?
data
nibus
linha
estao
rota
nibus
linha
W?
estao
nibus
data
max
(curdate)
(hora)
onibus
coordenada
coordenada
W?
Para cada uma dessas consultas efetuaremos query no banco de dado do MySQL,
usando o comando SELECT e ate mesmo tabelas temporrias.
A instruo SELECT usada para recuperar informaes de uma tabela. A forma
geral da instruo :
SELECT o que mostrar
FROM de qual tabela
WHERE condies para satisfazer;
O que mostrar indica o que voc deseja ver. Isto pode ser uma lista de colunas ou *
para indicar todas as colunas. De qual tabela indica a tabela de onde voc deseja recuperar
os dados. A clusula WHERE opcional. Se estiver presente, condies para satisfazer
especificam as condies que os registros devem satisfazer para fazer parte do resultado.
31
DISTINCT
onibus.onibus_cod_onibus
FROM
onibus,onliro
WHERE
AND
esliro.estacao_cod_estacao=estacao.nome="estao escolhida";
SELECT
DISTINCT
estacao.nome
FROM
estacao,esliro
WHERE
FROM
estacao,espo,pontos
espo.pontos_cod_pontos=pontos.cod_pontos
WHERE
AND
esse valor, o calculo do tempo era determinado pela distncia entre as estaes subtradas
da distancia percorrida da estao anterior ate o ponto atual, dividido pela velocidade mdia
do trajeto.
Para que o tempo estimado inicial no fosse to grande, devido velocidade mdia
no comeo do trajeto ser muito baixa, os primeiros valores da velocidade eram descartados
ate que a velocidade obter um valor mais estvel, podendo ser verificado a linha lgica de
raciocnio atravs do fluxograma da Figura 19.
B*G)8&
L!.8K8)/$;'/4$
!"#/M,&
93#:5$H4#85&$1/1&$!*(8/1&$
I!4&"$J*83'"$1/$K.&#/
L!.8K8)/$48*%/$;'!$
J*83'"$I!.#!*)!
63.!$#/3!4/$P&I&
L/..!$#/3!4/$P&I&$/#:$
;'!$)&&.1!*/1/$/#'/4$
)&5$)/1/"#./1/?$"!$
DE9
N.O+85&$.!78"#.&
ABC
L!.8K8)/$;'/4$/$.&#/
93#:5$18"#Q*)8/$
!*#.!$!"#/MR!"
S/4)'4/$18"#/*)8/$
I!.)&..81/
S/4)'4/$ !5I&T
UV18"#W$!*#.!$!"#/MR!"X
18"#W$N!.)&..81/YZ
L!4W5:18/
-+83!$#!5I&
/I.&+85/1&
F85
34
graus "
(1)
Exemplo:
Latitude: 2527`20``64```
!"
#
%
$'
"
"
) %*'''
$% &$%%
($%%%
D ! 1111200 ' ar cos%sen# p1$ ' sen# p 2$ " cos# p1$ ' cos# p 2$ ' cos# p1 ( p 2$&'
180
pi ()
(2)
tempo estimado !
(3)
Cada dado novo transmitido obtm se um valor novo estimado do tempo, devido
a um novo valor obtido da distncia percorrida e da velocidade mdia do trecho.
Para a verificao e validao do algoritmo foi efetuados em uma planilha de
clculos do Microsoft Excel, inserindo todos as coordenada obtida no percurso da Linha 1
(Porto 1/ Porto 2), conforme tabela a baixo.
35
hora
113706
113710
113714
113718
113722
113726
113730
113734
113738
113742
113746
113750
113754
113758
113802
113806
113810
113814
113818
113822
onibus
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
data
271107
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
lat
g
25
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
lat
m
27
14
15
16
17
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
lat
s
20
45
47
55
66
93
73
16
47
58
78
97
33
43
47
39
55
66
66
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
99
99
99
99
98
99
10
10
10
10
52 19.5
42 10.4
45 17.2
29 23.4
91 16.2
31 15.1
46 21.4
17 20.4
37 18.5
15 13.3
28 19.1
43 20.4
56 17.5
62 14.3
59 14.5
29 07.6
71 06.7
74 00.0
73 00.0
lon
ms
vel
71 00.0
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
0,4443
lat
rad
0,4443
0,8598
0,8598
0,8598
0,8598
0,8598
0,8598
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
lon
rad
0,8596
0
5,1E-06
1,1E-06
9,4E-06
5,7E-06
2,2E-06
0,00017
6,6E-06
6,4E-06
2,9E-06
5,6E-06
5,7E-06
5,3E-06
4,9E-06
4,2E-06
2,3E-06
3,3E-06
9,2E-07
7,3E-08
2,2E-07
!
dist(m)
0,0000
0,0000
1,3888
1,3888
0,4651
1,8540
5,8324
7,6864
21,1898
28,8762
14,5406
43,4169
26,5756
69,9925
31,1081
101,1005
33,9953
135,0958
36,2089
171,3047
35,4607
206,7654
18,5490
225,3143
40,4669
265,7812
42,3284
308,1096
1080,7944
1388,9040
13,9001
1402,8042
36,5637
1439,3679
59,6690
1499,0369
6,8370
1505,8739
32,2553
4
4
4
8
4
12
4
16
4
20
4
24
4
28
4
32
4
36
4
40
4
44
4
48
4
52
4
56
4
60
4
64
4
68
4
72
4
76
4
19,2266
19,8141
20,8200
21,1672
21,9188
23,1484
5,5020
5,1112
4,6940
4,6992
4,2826
3,7527
3,1594
2,4997
1,8090
1,4438
0,4804
0,1545
0,1736
Vmedia
0,0000
171,52328
168,06528
160,27431
160,46418
156,62968
148,91038
822,9492
894,15008
982,22814
985,09601
1089,2023
1252,6696
1498,6557
1906,584
2649,2151
3329,4297
10050,528
31289,361
27847,861
!"
#DIV/0!
2,8587
2,8011
2,6712
2,6744
2,6105
2,4818
13,7158
14,9025
16,3705
16,4183
18,1534
20,8778
24,9776
31,7764
44,1536
55,4905
167,5088
521,4894
464,1310
t_min
113826
113830
113834
113838
113842
113846
113850
113854
113858
113902
113906
113910
113914
113918
113922
113926
113930
113934
113938
113942
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
96
96
97
97
98
99
10
11
11
13
47
32
89
64
49
39
26
68
52
18
38
85
27
36
21
89
16
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
99
99
17 04.8
44 13.3
6 15.2
55 16.0
94 16.5
36 15.1
3 17.0
94 06.7
95 01.2
96 14.0
89 12.3
82 13.4
74 23.3
61 23.1
50 26.4
40 28.9
28 15.7
9 10.1
95 21.0
67 23.9
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4442
0,4443
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8598
0,8598
2,7E-06
3,8E-06
6,8E-06
3,2E-06
5,6E-06
0,00019
3,1E-06
1,6E-06
3,4E-06
3,6E-06
2,2E-06
6,5E-06
8,7E-06
5,1E-06
7,7E-06
7,6E-06
3,9E-06
0,00018
4,3E-06
7,3E-06
1538,1292
46,3461
1584,4753
27,4748
1611,9501
1128,2565
2740,2067
24,7931
2764,9997
48,7131
2813,7128
49,1278
2862,8407
32,3257
2895,1663
55,4156
2950,5819
41,3526
2991,9346
13,7751
3005,7096
22,8844
3028,5940
21,6271
3050,2211
10,3070
3060,5281
20,0219
3080,5500
1209,9121
4290,4620
35,5455
4326,0075
20,4925
4346,5000
43,5456
4390,0456
24,5073
4414,5529
17,1733
4431,7262
80
4
84
4
88
4
92
4
96
4
100
4
104
4
108
4
112
4
116
4
120
4
124
4
128
4
132
4
136
4
140
4
144
4
148
4
152
4
156
4
160
27,6983
28,2984
28,8819
29,3682
30,0417
30,6462
22,6511
23,1858
23,8299
24,4241
25,0476
25,7925
26,3445
26,8071
27,5273
28,1371
28,8021
29,7849
18,3176
18,8628
14,593501
14,89088
15,438595
16,665663
16,974185
17,799268
77,496944
76,573235
74,936264
73,99838
73,070195
71,4938
71,565624
72,397806
71,677918
71,870462
71,902497
70,362423
176,00496
172,3745
0,2432
0,2482
0,2573
0,2778
0,2829
0,2967
1,2916
1,2762
1,2489
1,2333
1,2178
1,1916
1,1928
1,2066
1,1946
1,1978
1,1984
1,1727
2,9334
2,8729
113946
113950
113954
113958
114002
114006
114010
114014
114018
114022
114026
114030
114034
114038
114042
114046
114050
114054
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
$JC007
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
271107
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
96
96
96
96
97
97
97
97
97
97
97
97
97
97
96
96
96
96
97
97
94
96
11
63
70
67
68
73
64
57
30
89
76
66
59
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
15
15
14
13
12
11
10
16 00.0
16 00.0
8 00.0
8 00.1
14 07.7
96 09.6
26 11.5
23 17.1
5 18.4
12 17.3
1 15.9
28 08.4
53 14.3
55 18.6
38 15.2
41 14.1
67 11.3
94 13.9
0,4444
distancia
entre
estaes
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,4444
0,8597
0,8597
0,8597
0,8597
0,8597
0,8597
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
0,8596
6,3E-07
1,6E-07
2,1E-06
4,5E-06
5,1E-06
4,6E-06
5,7E-06
3,9E-06
5,2E-06
2,5E-06
3,4E-06
4,7E-06
5,9E-06
4,3E-06
2,6E-06
2,5E-06
5,7E-06
4
164
4
168
4
172
4
176
4
180
4
184
4
188
4
192
4
196
4
200
4
204
4
208
4
212
4
216
4
220
4
224
4
228
4
232
36,3202
4468,0464
15,7568
4483,8033
16,6212
4500,4245
27,3270
4527,7514
37,8637
4565,6151
29,8739
4595,4889
21,3979
4616,8868
15,7565
4632,6434
33,3256
4665,9689
24,7694
4690,7384
36,2592
4726,9976
29,3241
4756,3217
32,7361
4789,0578
28,6571
4817,7149
13,1693
4830,8842
1,0313
4831,9155
4,0257
4835,9412
0,0000
4835,9412
20,8446
21,2103
21,5711
21,9586
22,3042
22,5899
22,8669
23,1716
23,4537
23,8060
24,1284
24,5579
24,9755
25,3645
25,7259
26,1653
26,6893
27,2442
0,1866255
0,2302982
0,8171666
2,0754157
3,4818649
4,7016098
6,1910446
7,1399029
8,4256831
8,9199121
9,6275322
10,657645
11,979766
12,822986
13,193973
13,503608
0,0000
0,0000
0,0031
0,0038
0,0136
0,0346
0,0580
0,0784
0,1032
0,1190
0,1404
0,1487
0,1605
0,1776
0,1997
0,2137
0,2199
0,2251
39
O software de fcil uso. Basta inserir o Cdigo do nibus e conectar o GPS a ele.
Com isso basta fazer a rota que ser inclusa no sistema. Esse programa gera um arquivo
padro TXT de acordo com o protocolo de mensagens desenvolvido e faz aquisio de
pontos a cada quatro segundos.
A Figura 21 mostra o traado da rota configurada:
40
41
CONCLUSO:
O problema de congestionamento nas cidades grande, campanhas de incentivo ao
uso do transporte coletivo no motivam a populao que possui automvel devido a atrasos
e horrios incertos.
Por esse motivo o projeto vem para auxiliar no incentivo ao uso do transporte
pblico, mostrando tempo estimado para a chegada do prximo nibus. A soluo proposta
alm do objetivo principal traz consigo uma gama de possibilidades que geram benefcios
tanto aos usurios, proprietrios da frota e agncia regulamentadora (como exemplo a
URBS de Curitiba Paran).
Para cumprir esse objetivo, so utilizados mdulos GPS, GPRS e microcontroladores. A funo do GPS informar a hora exata em todo o sistema, posio do
nibus e velocidade do mesmo. O mdulo GPRS faz a comunicao do sistema,
interligando os nibus central e estaes tubos ou terminais.
A juno GPS/GPRS/Microcontrolador possibilita muitos outros projetos. Neste
projeto uma soluo relativamente barata e seu funcionamento no depende de custos de
implementao de redes ou sensores pela cidade, facilitando o uso e operabilidade. A
viabilidade financeira do projeto real e com os custos na comunicao via rede de celular
cada vez mais baixa, o sistema apresenta uma relao custo/benefcio muito alta.
42
REFERNCIAS BIBLIOGRFICAS:
[1]
Fernandes,
Carlo
Alberto
Gonzles
Tecnologia
GPRS;
Monografia
Municipal
de
Curitiba
Consultado
na
Internet
em
18/04/207
http://www.curitiba.pr.gov.br/pmc/a_cidade/Solucoes/Transporte/index.html.
[4] GASPAR, J. J. (N/D) - Global Positioning System - G.P.S. - Dep. Florestal,
Escola Superior Agrria de Coimbra.
[5] Axmark, David e Widenius, Michael Manual de Referencia do MySQL 4.1 Equipe de Documentao da MySQL - http://www.mysql.com/documentation/
[6] Almeida, Rondinely S. de MySQL Bsico - Consultado na Internet em
12/08/2007 - http://www.hospedia.com.br/artigos/5/MySQL.html
[7] BCD, Dicas O portal dos Programadores C++ Builder - Consultado na
Internet em 27/10/2007 - http://www.dicasbcb.com.br
[8] System Designer Reference Manual, Lassen (TM) LP GPS Trimble Navigation
Limited.
[9] Pereira, Fbio. Microcontroladores PIC - Programao em C; Editora rica,
2003, 6 Edio.
43