Вы находитесь на странице: 1из 46

CARLOS ALEXANDRE PACHOLOK

JHONATAN ZEZAK RODRIGUES


Controle de Trfego do Transporte Coletivo
CURITIBA
DEZEMBRO / 2007
Relatrio apresentado disciplina de
Projeto Final II, Curso de graduao em
Eng. Eltrica, Setor de Cincias Exatas e
Tecnolgicas, Pontifcia Universidade
Catlica do Paran.
Orientador : Prof. Mardson Freitas
de Amorim
Controle de trfego do transporte coletivo
PLANO DE PROJETO
Equipe:
CARLOS ALEXANDRE PACHOLOK
JHONATAN ZEZAK RODRIGUES
Orientador:
____________________________
Prof. Mardson Freitas de Amorim
Pontifcia Universidade Catlica do Paran
Projeto Final II
Engenharia Eltrica
Professor Responsvel: James Alexandre Baraniuk
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
1
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.
2
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 casa-
trabalho, 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.
3
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
4
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, comisso, ganhando passageiros.
5
TRABALHO A SER DESENVOLVIDO:
O projeto foi dividido em quatro mdulos abaixo relacionados:
Mdulo GPS;
Mdulo GSM/GPRS;
Micro-controlador;
Servidor.
Figura 1 Diagrama dos mdulos funcionais
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
6
No quarto e ltimo mdulo funcional, o receptor funcionar como um servidor de bancos de
dados que receber os dados enviados do modem GPRS, depois de processados, re-encaminhando
para o terminal, na qual ter outro mdulo GSM/GPRS integrado com display.
No software, implementado em linguagem C/C++, far o recebimento e processamento das
informaes enviadas pelos nibus, consultando seu trajeto atual, velocidade, sincronismo de relgio
e calculo aproximado do tempo at prxima estao.
7
TECNOLOGIAS QUE SERO UTILIZADAS:
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:
- erro devido geometria dos satlites com relao ao observador;
- desvios dos relgios dos satlites;
- atraso de propagao e processamento dos sinais pe
- erros devido a trajetrias mltiplas dos sinais;
- efeitos da atmosfera sobre a velocidade e a trajetria de propagao dos sinais
transmitidos;
- erros devidos resoluo e rudo do receptor do usurio;
- erro na determinao d
Na comunicao com os receptores de GPS s
tem a freqncia de 1575.42 MHz e utilizado por GPS para uso civil.
Estados Unidos agregava um rudo ao sinal pa
maio de 2000 essa caracterstica foi eliminada, melhorando a exatido dos GPS civis.
Mdulo Receptor GPS Trimble
Os mdulos de GPS so bastante sensveis. Porm, devido extrema atenuao dos sinais,
eles necessitam de um amplificador de RF e de uma antena externa especfica.
O microprocessador realiza uma srie de filtros digitais alm de outras tcnicas para extrair a
informao dos satlites que chegam com rudos e com grande atenuao.
Dessas informaes extrada a localizao, entre muitas informaes disponveis, e
repassado ao mundo externo atravs da etapa de interfaceamento.
erro devido geometria dos satlites com relao ao observador;
desvios dos relgios dos satlites;
atraso de propagao e processamento dos sinais pelos circuitos dos satlites;
erros devido a trajetrias mltiplas dos sinais;
efeitos da atmosfera sobre a velocidade e a trajetria de propagao dos sinais
transmitidos;
erros devidos resoluo e rudo do receptor do usurio;
erro na determinao da posio dos satlites.
Na comunicao com os receptores de GPS so utilizados dois sinais, chamados de L1 e L2. L1
tem a freqncia de 1575.42 MHz e utilizado por GPS para uso civil. No passado o governo dos
Estados Unidos agregava um rudo ao sinal para diminuir a exatido das localizaes. Contudo em
maio de 2000 essa caracterstica foi eliminada, melhorando a exatido dos GPS civis.
Mdulo Receptor GPS Trimble
Os mdulos de GPS so bastante sensveis. Porm, devido extrema atenuao dos sinais,
es necessitam de um amplificador de RF e de uma antena externa especfica.
O microprocessador realiza uma srie de filtros digitais alm de outras tcnicas para extrair a
informao dos satlites que chegam com rudos e com grande atenuao.
es extrada a localizao, entre muitas informaes disponveis, e
repassado ao mundo externo atravs da etapa de interfaceamento.
Figura 2 - GPS Utilizado
8
erro devido geometria dos satlites com relao ao observador;
los circuitos dos satlites;
efeitos da atmosfera sobre a velocidade e a trajetria de propagao dos sinais
o utilizados dois sinais, chamados de L1 e L2. L1
No passado o governo dos
ra diminuir a exatido das localizaes. Contudo em
maio de 2000 essa caracterstica foi eliminada, melhorando a exatido dos GPS civis.
Os mdulos de GPS so bastante sensveis. Porm, devido extrema atenuao dos sinais,
es necessitam de um amplificador de RF e de uma antena externa especfica.
O microprocessador realiza uma srie de filtros digitais alm de outras tcnicas para extrair a
es extrada a localizao, entre muitas informaes disponveis, e
Figura
Funcionamento do Mdulo GPS
Ao ser inicializado, o GPS provavelmente no ter nenhuma informao vlida. Por isso ele
deve executar as seguintes funes:
- Receber o sinal de conjunto de pontos da rbita prevista + a diferena de clock ou
almanaque;
- Receber sinal dos satlites;
- Decodificar as informaes;
- Transformar as informaes em localizao, altitude, velocidade, e sincronismo de
relgio;
- Repassar essas informaes ao mundo exterior;
- Repetir a partir do passo 2.
Para efetuar a localizao, o s
motivo simples: os sinais percorrem cerca de 300 metros em um micro segundo. A estabilidade dos
cristais usados nos receptores de GPS est casa de micro segundos, o que torna muito elevado o erro
de posio devido diferena dos relgios. Contudo, ao utilizar um quarto satlite, os receptores do
GPS se sincronizam com os relgios atmicos dos satlites. Dessa maneira a estabilidade fica em
torno dos nano segundos, diminuindo consideravelmente o er
A recepo do almanaque pode ser bem demorada. Dependendo da situao de recepo,
podem ser necessrios vrios minutos. Durante esse tempo o mdulo de GPS no capaz de realizar
uma medida de localizao.
Figura 3 - Diagrama de blocos Mdulo GPS Trimble
Funcionamento do Mdulo GPS
Ao ser inicializado, o GPS provavelmente no ter nenhuma informao vlida. Por isso ele
deve executar as seguintes funes:
Receber o sinal de conjunto de pontos da rbita prevista + a diferena de clock ou
Receber sinal dos satlites;
Decodificar as informaes;
Transformar as informaes em localizao, altitude, velocidade, e sincronismo de
Repassar essas informaes ao mundo exterior;
Repetir a partir do passo 2.
Para efetuar a localizao, o sistema GPS necessita de, no mnimo, quatro satlites por um
motivo simples: os sinais percorrem cerca de 300 metros em um micro segundo. A estabilidade dos
cristais usados nos receptores de GPS est casa de micro segundos, o que torna muito elevado o erro
de posio devido diferena dos relgios. Contudo, ao utilizar um quarto satlite, os receptores do
GPS se sincronizam com os relgios atmicos dos satlites. Dessa maneira a estabilidade fica em
torno dos nano segundos, diminuindo consideravelmente o erro.
A recepo do almanaque pode ser bem demorada. Dependendo da situao de recepo,
podem ser necessrios vrios minutos. Durante esse tempo o mdulo de GPS no capaz de realizar
9
Trimble
Ao ser inicializado, o GPS provavelmente no ter nenhuma informao vlida. Por isso ele
Receber o sinal de conjunto de pontos da rbita prevista + a diferena de clock ou
Transformar as informaes em localizao, altitude, velocidade, e sincronismo de
istema GPS necessita de, no mnimo, quatro satlites por um
motivo simples: os sinais percorrem cerca de 300 metros em um micro segundo. A estabilidade dos
cristais usados nos receptores de GPS est casa de micro segundos, o que torna muito elevado o erro
de posio devido diferena dos relgios. Contudo, ao utilizar um quarto satlite, os receptores do
GPS se sincronizam com os relgios atmicos dos satlites. Dessa maneira a estabilidade fica em
A recepo do almanaque pode ser bem demorada. Dependendo da situao de recepo,
podem ser necessrios vrios minutos. Durante esse tempo o mdulo de GPS no capaz de realizar
Com esse uso eficiente de recursos, um grande nmero de usurios G sse uso eficiente de recursos, um grande nmero de usurios G sse uso eficiente de recursos, um grande nmero de usurios GPRS pode
Mdulo GPRS
A rede de telefonia celular GSM
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 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 d
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 for enviar ou receber dados. Pelo fato de estarem sempre conectados e
imediata uma caracterstica muito importante para aplicaes crticas como autorizao remota.
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 nec
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
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
encaradas como sub-redes da Internet e os telefones GPRS
mveis dessa rede. Isso significa que cada terminal GPRS pode potencialmente ter seu prprio
endereo IP e ser enderevel por isso.
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
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 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
rio for enviar ou receber dados. Pelo fato de estarem sempre conectados e
imediata uma caracterstica muito importante para aplicaes crticas como autorizao remota.
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 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
interoperabilidade entre a internet convencional e rede GPRS. Qualquer servio utilizado na internet
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
redes da Internet e os telefones GPRS-compatveis podem ser vistos como ns
mveis dessa rede. Isso significa que cada terminal GPRS pode potencialmente ter seu prprio
nderevel por isso.
Figura 4 - Mdulo GPRS Utilizado
10
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
mutao por circuito. A informao dividida em pacotes relacionados entre si antes de
A comutao por pacotes estabelecida de forma diferente que a comutao por
o 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
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.
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
essidade de investir em recursos que
sero somente utilizados em horrios de pico. Portanto, GPRS permite que as operadoras maximizem
A rede GPRS permite uma funcionalidade completa com a internet mvel por ter
interoperabilidade entre a internet convencional e rede GPRS. Qualquer servio utilizado na internet
tambm atravs da rede mvel celular com GPRS. A navegao na web atravs da
em uso serem os mesmos. As redes GPRS podem ser
compatveis podem ser vistos como ns
mveis dessa rede. Isso significa que cada terminal GPRS pode potencialmente ter seu prprio
11
PROCEDIMENTOS DE TESTES E VALIDAO DO PROJETO:
O projeto ser desenvolvido em etapas e principais mdulos. Cada mdulo ser testado
separadamente e, finalmente, todos integrados.
Para o teste do funcionamento do mdulo GPS ser utilizado, como referncia, o
software Google Earth e um aparelho GPS convencional do mercado. Primeiramente, o GPS est
ligado a uma interface em software de instrumentao virtual da National Instruments, o Labview.
Esta interface foi criada para facilitar a leitura dos dados oriundos do GPS. Como o sistema ser
utilizado em veculos, sero feitos alguns testes em carro de passeio em locomoo e os valores lidos
sero armazenados pelo Labview. Este o objetivo maior desta interface.
Outro passo o teste do mdulo GPRS, onde sero feitos testes de funcionamento e
controle do aparelho. Testes de funcionamento, envio de comandos, mensagens SMS, envio e
recebimento de pacotes TCP/IP.
Antes de concluir os testes com o GPRS, o software para o micro-controlador ser
desenvolvido e testado juntamente com o GPRS. Tambm testes de comunicao entre dois mdulos
GPRS, envio de dados de um para o outro e vice versa. Aps concluso desses testes e comprovado o
funcionamento, entrar o GPS em funcionamento novamente.
O GPS envia dados para micro-controlador que envia para o GPRS. Este envia para outro
mdulo GPRS e traduzido em micro-controlador ou um computador convencional.
Com os trs mdulos interagindo, ser feito outro ou outros testes em campo. O kit ser
testado em movimento, com um carro em movimento, e os dados sero armazenados e anotaes
sero feitas, como por exemplo, a velocidade do carro, trajeto verificado pelo Google Earth e GPS
comercial. Outro kit com os trs mdulos ficar em laboratrio simulando uma central que recebe os
dados do carro e processa localizao e tempo estimado para retorno, sendo que o caminho j foi
pr-estabelecido. Este teste validar o projeto, entretanto, um teste final almejado um teste real
em nibus da rede de transportes urbanos da cidade de Curitiba.
O teste realizado com o carro o parmetro de sucesso do projeto. O teste consiste em
definir uma rota, estabelecer um tempo para o percurso. Na segunda volta, sero criados improvisos
e testando assim a capacidade do sistema de atualizar e estimar um novo horrio de chegada.
12
MDULO MVEL
O mdulo mvel composto de trs equipamentos. GPS Micro Controlador
GPRS. Eles interagem da seguinte maneira:
Figura 5 - Funcionamento Mdulo Mvel
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.
13
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.
NCO
AGUARDA
ROTNA DE
TESTES DO
MDULO
ENVA
COMANDO
AGUARDA
RESPOSTA DO
MDULO
RESPOSTA
OK?
ENVA
PRXMOS
COMANDOS
CONFGURAO
OK?
TERMNA O
PROGRAMA E
ACENDE LED
VERMELHO
ENCERRA
ROTNA
FM
SM
NO
Figura 6 - Fluxograma da Configurao do Mdulo GPRS
Devido alta velocidade da porta serial algumas mudanas ocorreram no software
para que as mensagens de status fossem recebidas e interpretadas corretamente pelo PIC.
14
A principal mudana do software consiste em habilitar a interrupo da porta serial do
software, isso garante que nenhum dado ser perdido, mas sim, armazenado em uma
varivel.
PIC Micro Controlador (Software)
O PIC a interface que gerencia e comanda o GPS e o GPRS. Inicialmente o cristal
(clock) era de 4MHz, contudo, devido alta taxa de comunicao pela porta serial (RS232)
com o mdulo GPRS (115200bps) o clock foi alterado para um cristal de 20MHz. Essa
alterao no cristal fez com que o PIC 16F877A executasse as linhas de comando cinco
vezes mais rpido. A idia do software bastante simples, abaixo ela exemplificada:
Figura 7 - Fluxograma do Software do PIC
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
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 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 feita
placa fonte possui os LED de indicao e trs reguladores de tenso. Um para cada
equipamento, ou seja, o GPS, PIC e GPRS.
Figura 8 - Placa HexKIT 16F877 e Placa de LE
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
utilizado foi baseado no software publicado no livro Microcontroladores PIC
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, altera
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
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
veculo estiver saindo de linha e voltando para a garagem uma chave dever ser mudada de
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
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 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.
Placa HexKIT 16F877 e Placa de LEDs e Alimentao
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
utilizado foi baseado no software publicado no livro Microcontroladores PIC
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 foram feitas para o perfeito
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
veculo estiver saindo de linha e voltando para a garagem uma chave dever ser mudada de
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
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
s 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
Ds e Alimentao
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 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
es foram feitas para o perfeito
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
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
16
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.
17
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)
- Ferramentas para desenvolvimento em equipes de 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.
Introduo Terica ao Banco de Dados e Tabelas
O que um banco de dados?
um arquivo, que permite de maneira fcil e organizada acessar as informaes
contidas nele. Atualmente, possumos cerca de 5% das informaes do site armazenadas
em um banco de dados. Ns utilizamos o melhor banco de dados gratuito do mercado, o
MySQL.
Sistema de banco de Dados
Um sistema de banco de dados um ambiente de hardware e de software, composto
por dados armazenados em um banco de dados (BD), o software de gerncia do banco de
dados (SGBD) e os programas de aplicao.
Dentro dos Bancos de Dados ficam as tabelas (como se fossem as categorias da
estrutura dos dados) e nessas tabelas ficam as informaes, dentro dessas tabelas que
ficam as informaes, uma ideologia de organizao de dados, para facilitar nossa vida.
18
A plataforma do banco de dados utilizado no projeto foi o MySQL, pois e gratuito e
de fcil integrao com diversos aplicativos ou de softwares de gerenciamento de conexo,
tambm rpido e flexvel o suficiente para permitir armazenar logs e figuras nele. As
principais vantagens do MySQL so velocidade, robustez e facilidade de uso, trabalha com
diferentes plataformas, Unix, Windows etc.
Relacionamentos entre Tabelas
Em um banco de dados, precisamos de alguma maneira para representar estes
relacionamentos da vida Real, em termos das tabelas e de seus campos. Isto possvel
com a utilizao de "Relacionamentos entre tabelas", os quais podem ser de trs tipos:
- Um para um;
- Um para vrios;
- Vrios para vrios.
Relacionamento do Tipo Um para Um:
Esta relao existe quando os campos que se relacionam so ambos do tipo Chave
Primria, que um cdigo nico que identifica cada registro, em suas respectivas tabelas.
Cada um dos campos no apresenta valores repetidos.
Cada campo da tabela se relaciona com um nico campo contido na outra tabela.
Quando fosse necessrio buscar as informaes tais como nome, endereo, etc, estas
podem ser recuperadas atravs do relacionamento existente entre as duas tabelas,
evitando, com isso, que a mesma informao tenha que ser duplicada nas duas tabelas,
inclusive aumentando a probabilidade de erros de digitao.
Relacionamento do Tipo Um para Vrios:
Este , com certeza, o tipo de relacionamento mais comum entre duas tabelas. Uma
das tabelas (o lado um do relacionamento) possui um campo que a Chave Primria e a
outra tabela (o lado vrios) se relaciona atravs de um campo cujos valores relacionados
podem se repetir vrias vezes.
Considere o exemplo entre a tabela Clientes e Pedidos. Cada Cliente somente
cadastrado uma nica vez na tabela de Clientes (por isso o campo Cdigo do Cliente, na
tabela Clientes, uma chave primria, indicando que no podem ser cadastrados dois
clientes com o mesmo cdigo), portanto a tabela Clientes ser o lado um do relacionamento.
Ao mesmo tempo cada cliente pode fazer diversos pedidos, por isso que o mesmo Cdigo
de Cliente poder aparecer vrias vezes na tabela Pedidos: tantas vezes quantos forem os
pedidos que o Cliente tiver feito. Por isso que temos um relacionamento do tipo Um para
Vrios entre a tabela Clientes e Pedidos, atravs do campo Cdigo do Cliente, indicando
que um mesmo Cliente pode realizar diversos (vrios) pedidos.
Relacionamento do tipo Vrios para Vrios:
19
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.
FERRAMENTAS DE CONEXO C++ BUILDER COM O MySQL
O C++ Builder oferece uma srie de ferramentas e recursos que possibilitam a
criao de aplicaes de bancos de dados de forma rpida e fcil.
O corao das aplicaes de bancos de dados do C++ Builder est no Borland
Database Engine (BDE), uma camada de software que realiza o acesso a bancos de dados
baseados em arquivos como Paradox e dBase ou a servidores de bancos de dados locais
ou remotos como MySQL e etc. Os componentes de bancos de dados do C++ Builder
oferecem uma forma simplificada, que usa programao visual baseada em PME
(Propriedades, Mtodos e Eventos), para acessar a API do BDE.
H duas grandes classes de componentes: os componentes de acesso a dados
(data-access) e os componentes de controle, visualizao e manipulao dos dados (data-
controls), sendo que os componentes de visualizao e manipulao de dados so tambm
denominados de componentes data-aware (componentes capazes de mostrar e atualizar os
dados armazenados em uma tabela associada). Estes dois grupos de componentes esto
20
localizados, respectivamente, nas pginas Data Access e Data Controls da paleta de
componentes do C++ Builder.
Os principais componentes do tipo data-access utilizados na criao de aplicaes
com bancos de dados em C++ Builder so os componentes derivados da classe abstrata
TDataSet, que so: Table da classe TTable, Query da classe TQuery e StoredProc da
classe TStoredProc.
Qualquer um dos componentes derivados da classe TDataSet podem ser
referenciados como datasets. Os componentes Query e StoredProc so mais utilizados em
aplicaes cliente-servidor e sero vistos posteriormente. O componente Table oferece a
forma mais simples de se acessar informaes em uma tabela de banco de dados do que a
Query
Um dataset possui um conjunto de estados onde pode se encontrar. Os estados
possveis so:
Estado Descrio
Inactive Dataset encontra-se fechado
Browse Estado no qual o dataset se encontra aberto, permitindo leitura, porem no
permitem ser alterados ou inseridos.
Edit Permite a edio ou alterao do registro corrente.
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 O estado no qual o dataset se encontra quando o mesmo aberto e
permanece a maior parte do tempo de seu uso. Registros podem ser lidos,
mas no alterados
ou inseridos.
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.
21
Figura 9 Diagrama de estados de um dataset
O componente Table a interface entre o Borland Database Engine e os
componentes DataSource O componente DataSource por sua vez oferece a interface para
os componentes data-aware. que iro compor a interface com o usurio. Trabalhando-se
com o componente Table usa-se a propriedade DatabaseName para especificar o banco de
dados a ser acessado; a propriedade TableName serve para indicar a tabela a acessar;
utiliza-se a propriedade IndexName para definir o uso de um determinado ndice com a
tabela; configura-se a propriedade Active para True ou chame-se o mtodo Open para abrir
o dataset, colocando ele no estado Browse; coloca-se a propriedade Active em False ou
chame-se o mtodo Close para fechar o dataset.
O componente DataSource a interface entre um componente dataset e os
componentes data-aware nos formulrios. O DataSource liga-se a um dataset atravs da
propriedade Dataset.
Os componentes Data-aware, como DBEdit e DBGrid, ligam-se ao DataSource
atravs de suas propriedades DataSource. Usualmente h apenas um DataSource para
cada dataset, no entanto podem-se conectar a um dataset tantos DataSource quantos forem
necessrios. Para monitorar-se alteraes no estado do dataset associado ao DataSource
pode-se associar um mtodo ao evento OnStateChange.
H vrios componentes do tipo data-controls no C++ Builder, como DBGrid que
permite a visualizao, alterao e navegao no conjunto de todos os registros e campos
de uma tabela; o DBText que mostra os dados em um campo de uma tabela como um label
read-only similar ao componente Label; o DBEdit usado para apresentar e alterar os valores
de um campo numa caixa de edio similar a um componente Edit; o DBImage que
apresenta grficos e figuras do tipo bitmap armazenados em um campo do tipo BLOB
22
(Binary Large Object), de forma semelhante ao realizado pelo componente Image; e o
DBNavigator que oferece um conjunto de botes para navegar pelas linhas de um dataset,
adicionar ou eliminar uma linha, colocar o dataset no estado de edio, confirmar ou
cancelar as alteraes realizadas no dataset ou recarregar os dados do disco, atualizando o
dataset.
MODELAGEM DE BANCO DE DADOS
Antes da implementao do banco de dados, foram estabelecidas algumas
perguntas bsicas que seriam utilizadas para consultas do sistema e para obter os dados
para o clculo estimado do prximo nibus a estao.
Primeiramente o banco de dados foi esboado no Microsoft Excel com tabelas
bsicas e com alguns campos considerados de suma importncia. Com o de correr do
projeto, foram feitas anlises e questionamentos sobre o relacionamento entre as tabelas e
dados contidos nelas para as futuras consultas do sistema e para evitar a duplicidades entre
campos e dados das tabelas.
Devido a essa maior anlise e modelagem do banco de dados, a cada nova idia o
nmero de tabelas foram aumentando e ficando mais complexas em seus relacionamentos,
havendo a necessidade da utilizao de um software especifico e apropriado para a
modelagem do banco, o DBDesigner, da fabFORCE, que um software open-source e de
uso gratuito. Este software nos fornece uma interface grfica e de anlise do banco de
dados assim como a dependncia entre as tabelas e seus respectivos campos.
Na primeira modelagem, foram construdas seis tabelas, Figura 11, na qual a tabela
nibus que conteria os dados do nibus como cdigo, tipo e telefone. Tabela estao com
informaes sobre a estao ou terminal de conexo entre as linhas, tabela linha que definia
quais seriam as linhas do sistema de transporte e sua rota, ida ou volta na linha. A tabela
tempos que armazenaria os dados referente em todos os nibus e sua respectiva linha e
seu tempo gasto entre as estaes. Tabela log na qual ficaria responsvel pela status de
conexo, online ou off-line, entre o mdulo mvel GPRS e o servidor, e tabela aviso que
armazenaria os dados transmitidos de todos os nibus do sistema do sistema em todo seus
percurso.
23
Figura 10 Primeira modelagem do banco de dados
A modelagem intermediria do banco surgiu com a necessidade da
implementao de algumas consultas do sistema, como a identificao de quais os nibus
de uma respectiva linha, quais os nibus que estavam off-line, quais estaes de uma linha
e etc. Ento para que essas consultas fossem realizadas foi criado mais tabelas e mais
campos que estivessem se relacionando, para evitar assim a duplicao dos dados ou no
igualdade em cada cadastro da tabelas, pois com o relacionamento esses dados seriam
linkados (ligados) atravs de um campo identificador nico.
Nessa segunda modelagem, Figura 12, nenhuma tabela permaneceu igual a da
primeira modelagem, a tabela nibus foi acrescentada o campo de cdigo de linha, na qual
se relaciona com a tabela linha atravs do seu cdigo nico de identificao (chave
primaria). Na tabela linha foi retirada o cdigo de rota, pois a mesma ser relacionada
atravs da tabela rota, pelo sua chave primaria. A tabela estao tambm teve alguns
campos retirados, como as coordenadas obtidas do GPS, pois a tabela ir relacionar com a
tabela pontos atravs do seu cdigo de identificao, evitando assim a insero de dados
diferentes. A tabela pontos possui tambm o cdigo identificador de rota, obtido do
relacionamento da tabela rota. Por ltimo, a tabela dados, que onde ser registrado todo o
sinal enviado pelos nibus da frota, seus campos so de data, hora, cdigo do nibus, se o
nibus esta com problema, fora de rota, off-line e etc, assim como as coordenadas e
velocidade atual; possui duas chave de relacionamento obtidos atravs da tabela nibus e
da tabela rota.
24
Figura 11 Segunda modelagem do banco de dados
Com o decorrer do projeto, algumas consultas precisaram ser implementadas no
sistema, na qual algumas delas seriam de suma importncia para o calculo estimado do
prximo nibus em uma estao da linha. Porm para que algumas dessas consultas
fossem idealizadas houve uma necessidade de alterao na modelagem do banco de dados
devido ao relacionamento entre as tabelas e seus campos, assim como que algumas
tabelas serem dinmicas e estticas. As tabelas estticas, nibus, estao, rota, linha e
pontos, teriam seus dados inseridos uma nica vez, servindo assim como histrico mesmo
se algum registro fosse desativado. J as tabelas dinmicas, seriam alimentadas de forma
contnua, em que poderiam seus campos poderiam ser alterados ao longo do dia ou
perodo. Com isso o banco sofreu mais algumas mudanas em sua modelagem, conforme a
Figura 12, na qual mostra que algumas tabelas como nibus, estao, rota e linha tem
apenas dados bsicos de cadastro e sua chave primaria, na qual se relaciona com as outras
tabelas tendo uma dependncia desses dados. Com isso um nibus, rota, linha ou estao
pode sair de operao mais seus histricos preservados no sistema.
25
Figura 12 Terceira modelagem do banco de dados
SERVIDOR DE CONTROLE DE TRAFEGO DO TRANSPORTE
COLETIVO
O software do servidor responsvel pelo gerenciamento de todo o sistema de
trfego e controle dos nibus, ele que recebe os dados enviados por todos os nibus,
onde so cadastrados nibus, rota, linha, estao e demais informaes. Sendo tambm a
interface de conexo entre o usurio e o banco de dados MySQL.
Funcionamento Lgico Geral
A Figura 14 demonstra o funcionamento geral do sistema, que composto por um
banco de dados MySQL, componentes bsicos de socktes internet e um software local
desenvolvido em C++ Builder. O Software local servir de interface entre o banco de dados
e o usurio do sistema, nas consultas, cadastros, alteraes e excluses de registros de
dados do sistema do transporte coletivo.
26
Figura 13 Fluxograma geral do Servidor
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
27
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.
Figura 14 Fluxograma da conexo socket
Aps estipulada e ativada essa porta, o servidor fica em modo de espera da
conexo, quando ocorre a conexo entre servidor e mdulo mvel, transmitido
mensagem. O servidor recebe essa mensagem atravs de uma Edit Box e logo em seguida
separa em seis novas mensagens. Sendo elas: cdigo do nibus, hora, data, latitude,
28
longitude e velocidade. Depois de separada essas novas mensagens o sistema chama o
banco de dados MySQL e as insere na tabela dados, Figura 16.
ncio
Abre conexo com
MySQL
Teste se houve
conexo
Erro ao acessar
Base de Dados
Estabelece
conexo com
Base
Aguarda dados
dos DBEDit
Obtm
string
enviada
Enquanto no
encontrar $
Descarta caracter
Enquanto no
encontrar ,
Armazena
caracter
SM
SM
NO
Abre tabela Dados
Armazena
dados na
tabela
Fecha tabela
Dados
Testa se inseriu
Fim
NO
NO
SM
Descarta caracter NO
Figura 15 Fluxograma de insero de dados base
29
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.
Figura 16 Formulrio principal
Nos formulrios de cadastro foi utilizado o componente DBEdit da pgina data
controls que usado para receber dados do usurio e atribu-los ao campo de um registro
de uma tabela, conforme Figura 18. Os campos so verificados se esto corretos e se no
esto faltando antes que o comando de insero ao banco de dados.
30
Figura 17 Formulrio de cadastro e consulta
O componente DBGrid tambm da pgina data controls, exibe um objeto semelhante
a uma planilha do EXCEL que nos permite manipular registros de uma banco de dado, ou
seja, de um componente Table ou Query, toda vez que esse formulrio aberto ele carrega
os registros do sistema. Informando um erro quando no consegue o acesso a tabela.
Nos formulrios de consultas existem rotinas em SQL que faz a localizao de um
determinado registro com informaes obtidas atravs dos Edit Box preenchida pelo usurio
do sistema, sempre verificando se houve a conexo com a tabela e informando erro se
houver. Os comandos de consultas em SQL so adicionados na string para depois serem
executados. Porm, duas consultas no funcionam dessa forma, pois os comandos
enviados para criar tabelas temporrias no tiveram xito. Para contornar esse problema
houve a necessidade de fazer outra modelagem no banco de dados do sistema, conforme
descrito anteriormente atravs das tabelas dinmicas.
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
31
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:
1- QUAIS NIBUS ESTO OFFLINE?
2- QUAL FOI O PROBLEMA NO DIA 00 DO NIBUS X?
3- NA LINHA X EXISTEM QUAIS NIBUS?
4- QUAIS NIBUS PASSAM NA ESTAO W?
5- QUAIS SO AS ESTAES DA LINHA Y?
6- ONDE EST O NIBUS X AGORA?
7- QUAL A COORDENADA DA ESTAO W?
A tabela abaixo mostra as perguntas e os campos que sero fornecidos e os obtidos
nas consultas:
N.
o
Pergunta? Dados Fornecidos Campo de Resultado
QUAIS NIBUS ESTO OFFLINE? status data
(curdate)
max
(hora)
nibus
QUAL FOI O PROBLEMA NO DIA 00 DO
NIBUS X?
data nibus status nibus problema
NA LINHA X EXISTEM QUAIS NIBUS? data linha nibus
QUAIS NIBUS PASSAM NA ESTAO
W?
data estao rota nibus linha
QUAIS SO AS ESTAES DA LINHA
Y?
linha estao
ONDE EST O NIBUS X AGORA? nibus data
(curdate)
max
(hora)
onibus coordenada
QUAL A COORDENADA DA ESTAO
W?
estao coordenada
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.
32
1- QUAIS NIBUS ESTO OFFLINE?
Para que essa consulta possa ser feita devemos que fornecer o status do nibus, no
caso OFFLINE, data corrente e o ultimo evento enviado pelo nibus, definido por max
(hora). A pesquisa retornar todos os nibus, cujo estado status for igual OFFLINE,
ordenado de forma crescente pelo cdigo.
SELECT onibus_cod_onibus, linha_cod_linha ,max(hora) AS hora FROM dados
where status="offline" AND data_ ="CURDATE()" GROUP BY onibus_cod_onibus;
2- QUAL FOI O PROBLEMA NO DIA 00 DO NIBUS X?
Nessa consulta, devemos informar a data e qual nibus, no formato PL000 ou *
para todos. Os dados de retorno so cdigo do nibus, linha, data, hora e o problema
encontrado.
SELECT onibus_cod_onibus, linha_cod_linha,data_, hora, problema FROM dados
where data_="data escolhida" AND cod_onibus=X ORDER BY cod_dados;
3- NA LINHA X EXISTEM QUAIS NIBUS?
Forneceremos a data e a linha para efetivar esta consulta, retornando o cdigo dos
nibus como resultado. O comando DISTINCT tem como funo de listar somente uma
nica entrada de todos os nibus.
SELECT DISTINCT onibus.onibus_cod_onibus FROM onibus,onliro WHERE
data_2="data escolhida" AND onliro.onibus_cod_onibus=dados.onibus_cod_onibus AND
onliro.linha_cod-linha="X";
4- QUAIS NIBUS PASSAM NA ESTAO W?
Para essa consulta precisamos fornecer a estao e data. O resultado da pesquisa
ser o campo cdigo do nibus e a linha do mesmo.
SELECT DISTINCT onliro.onibus_cod_onibus FROM onliro,esliro,estacao WHERE
esliro.linha_cd_linha=onliro.linha_cod_linha AND
esliro.estacao_cod_estacao=estacao.nome="estao escolhida";
5- QUAIS SO AS ESTAES DA LINHA Y?
Nessa consulta, necessrio fornecer a linha, retornando como resultado o nome
das estaes.
33
SELECT DISTINCT estacao.nome FROM estacao,esliro WHERE
esliro.estacao_cod_estacao=estacao.cod_estacao AND esliro.linha_cod_linha=Y;
6- ONDE EST O NIBUS X AGORA?
Fornecendo o cdigo do nibus, data corrente (curdate), ltimo dado enviado pelo
nibus, definido pelo parmetro max(hora). O resultado retornado ser o cdigo nibus,
lat_g, lat_m, lat_s, lat_ms, lon_g, lon_m, lon_s, lon_ms, utilizando o parmetro GROUP BY
onibus_cod_onibus para agrupar os dados pelo cdigo do nibus.
SELECT lat_g,lat_m,lat_s,lat_ms,lon_g,lon_m,lon_s,lon_ms FROM dados where
(onibus_cod_onibus="nibus escolhido" AND data_ 2="CURDATE()");
7- QUAL A COORDENADA DA ESTAO W?
Essa consulta o campo fornecido o nome da estao, retornando os campos de
lat_g,lat_m,lat_s,lat_ms,lon_g,lon_m,lon_s,lon_ms.
SELECT
pontos.lat_g,pontos.lat_m,pontos.lat_s,pontos.lat_ms,pontos.lon_g,pontos.lon_m,pontos.lon
_s,pontos.lon_ms FROM estacao,espo,pontos WHERE
espo.pontos_cod_pontos=pontos.cod_pontos AND
espo.estacao_cod_estacao=estacao.cod_estacao AND estacao.nome="nome da estao";
CLCULO DO TEMPO ESTIMADO DO PRXIMO NIBUS
O aplicativo tambm faz o clculo do horrio estimado da chegada do prximo nibus
em cada estao determinada pela sua linha.
Para que o clculo propriamente seja executado, preciso primeiramente entrar com
o nome da estao, o sistema obtm o ltimo dado enviado pelo nibus, faz uma consulta
SQL procurando a qual linha ele pertence. Depois, o sistema faz uma varredura nos registros
de pontos das rotas cadastradas, para determinar a rota do nibus na sua linha, ida ou volta.
Foi estabelecido um algoritmo de valor prximo nos pontos, pois o equipamento de GPS
utilizado no tinha uma preciso refinada, ento o algoritmo buscava o valor mais prximo e
implementava um contador, assim q esse contador fosse incrementado cinco vezes a rota
era definida.
Aps a rota ser determinada, era verificada na tabela distncia, a distncia entre as
duas estaes, estao anterior e a prxima estao que o nibus far a conexo, tendo
34
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.
ncio
Obtm ltimo dado enviado
pelos nibus da frota
Verifica qual
estao
Prximo registro
Verifica qual a rota
Verifica linha que
nibus pertence
Abre tabela Ropo
Varre tabela Ropo at
que coordenada atual
com cadastrada, se
NO
SM
Obtm distncia
entre estaes
Calcula distancia
percorrida
Calcula Tempo:
T=(dist. entre estaes-
dist. Percorrida)/
Vel.mdia
Exibe tempo
aproximado
Fim
Figura 18 Fluxograma para o clculo do tempo estimado de chegada do prximo nibus
35
ALGORITMO DO CLCULO DO TEMPO ESTIMADO
O algoritmo do clculo do tempo estimado do prximo nibus necessita da
coordenada do ponto anterior transmitido e a da coordenada atual, ele transforma cada
ponto desses de graus para radianos, atravs da Frmula 1 e 2 abaixo:
rad em valor
segundos de dcimos segundos utos
graus = + + +
216000 3600 60
min
(1)
Exemplo:
Latitude: 2527`20``64```


Aps transformao das coordenada anterior e da atual para radianos, faz-se o
clculo da distncia, em metros, entre esses dois pontos atravs da Frmula 2.
( ) ( ) ( ) ( ) ( ) | |
()
180
2 1 cos 2 cos 1 cos 2 1 cos 1111200
pi
p p p p p sen p sen ar D + = (2)
Para cada coordenada transmitida, o algoritmo far o clculo da distncia e
armazenar em um somatrio todas as distncias da estao anterior at ponto atual.
O algoritmo faz o clculo da velocidade mdia do trecho atravs do somatrio da
distncia dividido pelo tempo desde estao anterior at ponto atual. Aps obtido o valor da
velocidade mdia, ocorre o clculo do tempo estimado, obtido atravs da subtrao da
distncia entre as duas estaes pelo somatrio da distncia percorrida at ponto atual,
divididos pela velocidade mdia, conforme Frmula 3.
mdia velocidade
percorrida distncia estaes entre distncia
estimado tempo
_

= (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.
o
n
i
b
u
s
h
o
r
a
d
a
t
a
l
a
t
g
l
a
t
m
l
a
t
s
l
a
t
m
s
l
o
n
g
l
o
n
m
l
o
n
s
l
o
n
m
s
v
e
l
l
a
t
r
a
d
l
o
n
r
a
d

d
i
s
t
(
m
)
t
V
m
e
d
i
a

W
t
_
m
i
n
$
J
C
0
0
7
1
1
3
7
0
6
2
7
1
1
0
7
2
5
2
7
2
0
6
4
4
9
1
5
1
0
7
1
0
0
.
0
0
,
4
4
4
3
0
,
8
5
9
6
0
0
,
0
0
0
0
4
0
,
0
0
0
0
#
D
I
V
/
0
!
0
,
0
0
0
0
4
$
J
C
0
0
7
1
1
3
7
1
0
2
7
1
1
0
7
2
5
2
7
2
0
6
6
4
9
1
5
1
0
7
3
0
0
.
0
0
,
4
4
4
3
0
,
8
5
9
6
2
,
2
E
-
0
7
1
,
3
8
8
8
4
0
,
1
7
3
6
2
7
8
4
7
,
8
6
1
4
6
4
,
1
3
1
0
1
,
3
8
8
8
8
$
J
C
0
0
7
1
1
3
7
1
4
2
7
1
1
0
7
2
5
2
7
2
0
6
6
4
9
1
5
1
0
7
4
0
0
.
0
0
,
4
4
4
3
0
,
8
5
9
6
7
,
3
E
-
0
8
0
,
4
6
5
1
4
0
,
1
5
4
5
3
1
2
8
9
,
3
6
1
5
2
1
,
4
8
9
4
1
,
8
5
4
0
1
2
$
J
C
0
0
7
1
1
3
7
1
8
2
7
1
1
0
7
2
5
2
7
2
0
5
5
4
9
1
5
1
0
7
1
0
6
.
7
0
,
4
4
4
3
0
,
8
5
9
6
9
,
2
E
-
0
7
5
,
8
3
2
4
4
0
,
4
8
0
4
1
0
0
5
0
,
5
2
8
1
6
7
,
5
0
8
8
7
,
6
8
6
4
1
6
$
J
C
0
0
7
1
1
3
7
2
2
2
7
1
1
0
7
2
5
2
7
2
0
3
9
4
9
1
5
1
0
2
9
0
7
.
6
0
,
4
4
4
3
0
,
8
5
9
6
3
,
3
E
-
0
6
2
1
,
1
8
9
8
4
1
,
4
4
3
8
3
3
2
9
,
4
2
9
7
5
5
,
4
9
0
5
2
8
,
8
7
6
2
2
0
$
J
C
0
0
7
1
1
3
7
2
6
2
7
1
1
0
7
2
5
2
7
2
0
4
7
4
9
1
5
9
5
9
1
4
.
5
0
,
4
4
4
3
0
,
8
5
9
6
2
,
3
E
-
0
6
1
4
,
5
4
0
6
4
1
,
8
0
9
0
2
6
4
9
,
2
1
5
1
4
4
,
1
5
3
6
4
3
,
4
1
6
9
2
4
$
J
C
0
0
7
1
1
3
7
3
0
2
7
1
1
0
7
2
5
2
7
2
0
4
3
4
9
1
5
8
6
2
1
4
.
3
0
,
4
4
4
3
0
,
8
5
9
6
4
,
2
E
-
0
6
2
6
,
5
7
5
6
4
2
,
4
9
9
7
1
9
0
6
,
5
8
4
3
1
,
7
7
6
4
6
9
,
9
9
2
5
2
8
$
J
C
0
0
7
1
1
3
7
3
4
2
7
1
1
0
7
2
5
2
7
2
0
3
3
4
9
1
5
7
5
6
1
7
.
5
0
,
4
4
4
3
0
,
8
5
9
6
4
,
9
E
-
0
6
3
1
,
1
0
8
1
4
3
,
1
5
9
4
1
4
9
8
,
6
5
5
7
2
4
,
9
7
7
6
1
0
1
,
1
0
0
5
3
2
$
J
C
0
0
7
1
1
3
7
3
8
2
7
1
1
0
7
2
5
2
7
1
9
9
7
4
9
1
5
6
4
3
2
0
.
4
0
,
4
4
4
3
0
,
8
5
9
6
5
,
3
E
-
0
6
3
3
,
9
9
5
3
4
3
,
7
5
2
7
1
2
5
2
,
6
6
9
6
2
0
,
8
7
7
8
1
3
5
,
0
9
5
8
3
6
$
J
C
0
0
7
1
1
3
7
4
2
2
7
1
1
0
7
2
5
2
7
1
9
7
8
4
9
1
5
5
2
8
1
9
.
1
0
,
4
4
4
3
0
,
8
5
9
6
5
,
7
E
-
0
6
3
6
,
2
0
8
9
4
4
,
2
8
2
6
1
0
8
9
,
2
0
2
3
1
8
,
1
5
3
4
1
7
1
,
3
0
4
7
4
0
$
J
C
0
0
7
1
1
3
7
4
6
2
7
1
1
0
7
2
5
2
7
1
9
5
8
4
9
1
5
4
1
5
1
3
.
3
0
,
4
4
4
3
0
,
8
5
9
6
5
,
6
E
-
0
6
3
5
,
4
6
0
7
4
4
,
6
9
9
2
9
8
5
,
0
9
6
0
1
1
6
,
4
1
8
3
2
0
6
,
7
6
5
4
4
4
$
J
C
0
0
7
1
1
3
7
5
0
2
7
1
1
0
7
2
5
2
7
1
9
4
7
4
9
1
5
3
3
7
1
8
.
5
0
,
4
4
4
3
0
,
8
5
9
6
2
,
9
E
-
0
6
1
8
,
5
4
9
0
4
4
,
6
9
4
0
9
8
2
,
2
2
8
1
4
1
6
,
3
7
0
5
2
2
5
,
3
1
4
3
4
8
$
J
C
0
0
7
1
1
3
7
5
4
2
7
1
1
0
7
2
5
2
7
1
9
1
6
4
9
1
5
2
1
7
2
0
.
4
0
,
4
4
4
3
0
,
8
5
9
6
6
,
4
E
-
0
6
4
0
,
4
6
6
9
4
5
,
1
1
1
2
8
9
4
,
1
5
0
0
8
1
4
,
9
0
2
5
2
6
5
,
7
8
1
2
5
2
$
J
C
0
0
7
1
1
3
7
5
8
2
7
1
1
0
7
2
5
2
7
1
8
7
3
4
9
1
5
0
4
6
2
1
.
4
0
,
4
4
4
3
0
,
8
5
9
6
6
,
6
E
-
0
6
4
2
,
3
2
8
4
4
5
,
5
0
2
0
8
2
2
,
9
4
9
2
1
3
,
7
1
5
8
3
0
8
,
1
0
9
6
5
6
$
J
C
0
0
7
1
1
3
8
0
2
2
7
1
1
0
7
2
5
2
7
1
8
9
3
4
9
1
4
9
9
3
1
1
5
.
1
0
,
4
4
4
3
0
,
8
5
9
8
0
,
0
0
0
1
7
1
0
8
0
,
7
9
4
4
4
2
3
,
1
4
8
4
1
4
8
,
9
1
0
3
8
2
,
4
8
1
8
1
3
8
8
,
9
0
4
0
6
0
$
J
C
0
0
7
1
1
3
8
0
6
2
7
1
1
0
7
2
5
2
7
1
8
6
6
4
9
1
4
9
8
9
1
1
6
.
2
0
,
4
4
4
3
0
,
8
5
9
8
2
,
2
E
-
0
6
1
3
,
9
0
0
1
4
2
1
,
9
1
8
8
1
5
6
,
6
2
9
6
8
2
,
6
1
0
5
1
4
0
2
,
8
0
4
2
6
4
$
J
C
0
0
7
1
1
3
8
1
0
2
7
1
1
0
7
2
5
2
7
1
7
5
5
4
9
1
4
9
9
2
9
2
3
.
4
0
,
4
4
4
3
0
,
8
5
9
8
5
,
7
E
-
0
6
3
6
,
5
6
3
7
4
2
1
,
1
6
7
2
1
6
0
,
4
6
4
1
8
2
,
6
7
4
4
1
4
3
9
,
3
6
7
9
6
8
$
J
C
0
0
7
1
1
3
8
1
4
2
7
1
1
0
7
2
5
2
7
1
6
0
4
9
1
4
9
9
4
5
1
7
.
2
0
,
4
4
4
3
0
,
8
5
9
8
9
,
4
E
-
0
6
5
9
,
6
6
9
0
4
2
0
,
8
2
0
0
1
6
0
,
2
7
4
3
1
2
,
6
7
1
2
1
4
9
9
,
0
3
6
9
7
2
$
J
C
0
0
7
1
1
3
8
1
8
2
7
1
1
0
7
2
5
2
7
1
5
4
7
4
9
1
4
9
9
4
2
1
0
.
4
0
,
4
4
4
3
0
,
8
5
9
8
1
,
1
E
-
0
6
6
,
8
3
7
0
4
1
9
,
8
1
4
1
1
6
8
,
0
6
5
2
8
2
,
8
0
1
1
1
5
0
5
,
8
7
3
9
7
6
$
J
C
0
0
7
1
1
3
8
2
2
2
7
1
1
0
7
2
5
2
7
1
4
4
5
4
9
1
4
9
9
5
2
1
9
.
5
0
,
4
4
4
3
0
,
8
5
9
8
5
,
1
E
-
0
6
3
2
,
2
5
5
3
4
1
9
,
2
2
6
6
1
7
1
,
5
2
3
2
8
2
,
8
5
8
7
1
5
3
8
,
1
2
9
2
8
0
$
J
C
0
0
7
1
1
3
8
2
6
2
7
1
1
0
7
2
5
2
7
1
3
1
6
4
9
1
4
9
9
6
7
2
3
.
9
0
,
4
4
4
3
0
,
8
5
9
8
7
,
3
E
-
0
6
4
6
,
3
4
6
1
4
1
8
,
8
6
2
8
1
7
2
,
3
7
4
5
2
,
8
7
2
9
1
5
8
4
,
4
7
5
3
8
4
$
J
C
0
0
7
1
1
3
8
3
0
2
7
1
1
0
7
2
5
2
7
1
1
8
9
4
9
1
4
9
9
9
5
2
1
.
0
0
,
4
4
4
2
0
,
8
5
9
8
4
,
3
E
-
0
6
2
7
,
4
7
4
8
4
1
8
,
3
1
7
6
1
7
6
,
0
0
4
9
6
2
,
9
3
3
4
1
6
1
1
,
9
5
0
1
8
8
$
J
C
0
0
7
1
1
3
8
3
4
2
7
1
1
0
7
2
5
2
7
1
1
2
1
4
9
1
5
0
9
1
0
.
1
0
,
4
4
4
2
0
,
8
5
9
6
0
,
0
0
0
1
8
1
1
2
8
,
2
5
6
5
4
2
9
,
7
8
4
9
7
0
,
3
6
2
4
2
3
1
,
1
7
2
7
2
7
4
0
,
2
0
6
7
9
2
$
J
C
0
0
7
1
1
3
8
3
8
2
7
1
1
0
7
2
5
2
7
1
0
3
6
4
9
1
5
0
2
8
1
5
.
7
0
,
4
4
4
2
0
,
8
5
9
6
3
,
9
E
-
0
6
2
4
,
7
9
3
1
4
2
8
,
8
0
2
1
7
1
,
9
0
2
4
9
7
1
,
1
9
8
4
2
7
6
4
,
9
9
9
7
9
6
$
J
C
0
0
7
1
1
3
8
4
2
2
7
1
1
0
7
2
5
2
7
9
2
4
9
1
5
0
4
0
2
8
.
9
0
,
4
4
4
2
0
,
8
5
9
6
7
,
6
E
-
0
6
4
8
,
7
1
3
1
4
2
8
,
1
3
7
1
7
1
,
8
7
0
4
6
2
1
,
1
9
7
8
2
8
1
3
,
7
1
2
8
1
0
0
$
J
C
0
0
7
1
1
3
8
4
6
2
7
1
1
0
7
2
5
2
7
7
2
7
4
9
1
5
0
5
0
2
6
.
4
0
,
4
4
4
2
0
,
8
5
9
6
7
,
7
E
-
0
6
4
9
,
1
2
7
8
4
2
7
,
5
2
7
3
7
1
,
6
7
7
9
1
8
1
,
1
9
4
6
2
8
6
2
,
8
4
0
7
1
0
4
$
J
C
0
0
7
1
1
3
8
5
0
2
7
1
1
0
7
2
5
2
7
5
8
5
4
9
1
5
0
6
1
2
3
.
1
0
,
4
4
4
2
0
,
8
5
9
6
5
,
1
E
-
0
6
3
2
,
3
2
5
7
4
2
6
,
8
0
7
1
7
2
,
3
9
7
8
0
6
1
,
2
0
6
6
2
8
9
5
,
1
6
6
3
1
0
8
$
J
C
0
0
7
1
1
3
8
5
4
2
7
1
1
0
7
2
5
2
7
4
3
8
4
9
1
5
0
7
4
2
3
.
3
0
,
4
4
4
2
0
,
8
5
9
6
8
,
7
E
-
0
6
5
5
,
4
1
5
6
4
2
6
,
3
4
4
5
7
1
,
5
6
5
6
2
4
1
,
1
9
2
8
2
9
5
0
,
5
8
1
9
1
1
2
$
J
C
0
0
7
1
1
3
8
5
8
2
7
1
1
0
7
2
5
2
7
3
1
8
4
9
1
5
0
8
2
1
3
.
4
0
,
4
4
4
2
0
,
8
5
9
6
6
,
5
E
-
0
6
4
1
,
3
5
2
6
4
2
5
,
7
9
2
5
7
1
,
4
9
3
8
1
,
1
9
1
6
2
9
9
1
,
9
3
4
6
1
1
6
$
J
C
0
0
7
1
1
3
9
0
2
2
7
1
1
0
7
2
5
2
7
2
5
2
4
9
1
5
0
8
9
1
2
.
3
0
,
4
4
4
2
0
,
8
5
9
6
2
,
2
E
-
0
6
1
3
,
7
7
5
1
4
2
5
,
0
4
7
6
7
3
,
0
7
0
1
9
5
1
,
2
1
7
8
3
0
0
5
,
7
0
9
6
1
2
0
$
J
C
0
0
7
1
1
3
9
0
6
2
7
1
1
0
7
2
5
2
7
1
6
8
4
9
1
5
0
9
6
1
4
.
0
0
,
4
4
4
2
0
,
8
5
9
6
3
,
6
E
-
0
6
2
2
,
8
8
4
4
4
2
4
,
4
2
4
1
7
3
,
9
9
8
3
8
1
,
2
3
3
3
3
0
2
8
,
5
9
4
0
1
2
4
$
J
C
0
0
7
1
1
3
9
1
0
2
7
1
1
0
7
2
5
2
7
1
2
6
4
9
1
5
0
9
5
0
1
.
2
0
,
4
4
4
2
0
,
8
5
9
6
3
,
4
E
-
0
6
2
1
,
6
2
7
1
4
2
3
,
8
2
9
9
7
4
,
9
3
6
2
6
4
1
,
2
4
8
9
3
0
5
0
,
2
2
1
1
1
2
8
$
J
C
0
0
7
1
1
3
9
1
4
2
7
1
1
0
7
2
5
2
7
1
6
4
9
1
5
0
9
4
0
6
.
7
0
,
4
4
4
2
0
,
8
5
9
6
1
,
6
E
-
0
6
1
0
,
3
0
7
0
4
2
3
,
1
8
5
8
7
6
,
5
7
3
2
3
5
1
,
2
7
6
2
3
0
6
0
,
5
2
8
1
1
3
2
$
J
C
0
0
7
1
1
3
9
1
8
2
7
1
1
0
7
2
5
2
7
0
3
9
4
9
1
5
1
3
1
7
.
0
0
,
4
4
4
2
0
,
8
5
9
6
3
,
1
E
-
0
6
2
0
,
0
2
1
9
4
2
2
,
6
5
1
1
7
7
,
4
9
6
9
4
4
1
,
2
9
1
6
3
0
8
0
,
5
5
0
0
1
3
6
$
J
C
0
0
7
1
1
3
9
2
2
2
7
1
1
0
7
2
5
2
6
9
9
4
9
4
9
1
5
1
3
6
1
5
.
1
0
,
4
4
4
4
0
,
8
5
9
6
0
,
0
0
0
1
9
1
2
0
9
,
9
1
2
1
4
3
0
,
6
4
6
2
1
7
,
7
9
9
2
6
8
0
,
2
9
6
7
4
2
9
0
,
4
6
2
0
1
4
0
$
J
C
0
0
7
1
1
3
9
2
6
2
7
1
1
0
7
2
5
2
6
9
8
6
4
4
9
1
5
1
9
4
1
6
.
5
0
,
4
4
4
4
0
,
8
5
9
6
5
,
6
E
-
0
6
3
5
,
5
4
5
5
4
3
0
,
0
4
1
7
1
6
,
9
7
4
1
8
5
0
,
2
8
2
9
4
3
2
6
,
0
0
7
5
1
4
4
$
J
C
0
0
7
1
1
3
9
3
0
2
7
1
1
0
7
2
5
2
6
9
7
8
9
4
9
1
5
2
5
5
1
6
.
0
0
,
4
4
4
4
0
,
8
5
9
6
3
,
2
E
-
0
6
2
0
,
4
9
2
5
4
2
9
,
3
6
8
2
1
6
,
6
6
5
6
6
3
0
,
2
7
7
8
4
3
4
6
,
5
0
0
0
1
4
8
$
J
C
0
0
7
1
1
3
9
3
4
2
7
1
1
0
7
2
5
2
6
9
7
5
4
9
1
5
3
6
1
5
.
2
0
,
4
4
4
4
0
,
8
5
9
6
6
,
8
E
-
0
6
4
3
,
5
4
5
6
4
2
8
,
8
8
1
9
1
5
,
4
3
8
5
9
5
0
,
2
5
7
3
4
3
9
0
,
0
4
5
6
1
5
2
$
J
C
0
0
7
1
1
3
9
3
8
2
7
1
1
0
7
2
5
2
6
9
6
3
2
4
9
1
5
3
4
4
1
3
.
3
0
,
4
4
4
4
0
,
8
5
9
6
3
,
8
E
-
0
6
2
4
,
5
0
7
3
4
2
8
,
2
9
8
4
1
4
,
8
9
0
8
8
0
,
2
4
8
2
4
4
1
4
,
5
5
2
9
1
5
6
$
J
C
0
0
7
1
1
3
9
4
2
2
7
1
1
0
7
2
5
2
6
9
6
4
7
4
9
1
5
4
1
7
0
4
.
8
0
,
4
4
4
4
0
,
8
5
9
6
2
,
7
E
-
0
6
1
7
,
1
7
3
3
4
2
7
,
6
9
8
3
1
4
,
5
9
3
5
0
1
0
,
2
4
3
2
4
4
3
1
,
7
2
6
2
1
6
0
$
J
C
0
0
7
1
1
3
9
4
6
2
7
1
1
0
7
2
5
2
6
9
6
5
9
4
9
1
5
4
9
4
1
3
.
9
0
,
4
4
4
4
0
,
8
5
9
6
5
,
7
E
-
0
6
3
6
,
3
2
0
2
4
2
7
,
2
4
4
2
1
3
,
5
0
3
6
0
8
0
,
2
2
5
1
4
4
6
8
,
0
4
6
4
1
6
4
$
J
C
0
0
7
1
1
3
9
5
0
2
7
1
1
0
7
2
5
2
6
9
6
6
6
4
9
1
5
5
6
7
1
1
.
3
0
,
4
4
4
4
0
,
8
5
9
6
2
,
5
E
-
0
6
1
5
,
7
5
6
8
4
2
6
,
6
8
9
3
1
3
,
1
9
3
9
7
3
0
,
2
1
9
9
4
4
8
3
,
8
0
3
3
1
6
8
$
J
C
0
0
7
1
1
3
9
5
4
2
7
1
1
0
7
2
5
2
6
9
6
7
6
4
9
1
5
6
4
1
1
4
.
1
0
,
4
4
4
4
0
,
8
5
9
6
2
,
6
E
-
0
6
1
6
,
6
2
1
2
4
2
6
,
1
6
5
3
1
2
,
8
2
2
9
8
6
0
,
2
1
3
7
4
5
0
0
,
4
2
4
5
1
7
2
$
J
C
0
0
7
1
1
3
9
5
8
2
7
1
1
0
7
2
5
2
6
9
6
8
9
4
9
1
5
7
3
8
1
5
.
2
0
,
4
4
4
4
0
,
8
5
9
6
4
,
3
E
-
0
6
2
7
,
3
2
7
0
4
2
5
,
7
2
5
9
1
1
,
9
7
9
7
6
6
0
,
1
9
9
7
4
5
2
7
,
7
5
1
4
1
7
6
$
J
C
0
0
7
1
1
4
0
0
2
2
7
1
1
0
7
2
5
2
6
9
7
5
4
9
1
5
8
5
5
1
8
.
6
0
,
4
4
4
4
0
,
8
5
9
6
5
,
9
E
-
0
6
3
7
,
8
6
3
7
4
2
5
,
3
6
4
5
1
0
,
6
5
7
6
4
5
0
,
1
7
7
6
4
5
6
5
,
6
1
5
1
1
8
0
$
J
C
0
0
7
1
1
4
0
0
6
2
7
1
1
0
7
2
5
2
6
9
7
3
0
4
9
1
5
9
5
3
1
4
.
3
0
,
4
4
4
4
0
,
8
5
9
6
4
,
7
E
-
0
6
2
9
,
8
7
3
9
4
2
4
,
9
7
5
5
9
,
6
2
7
5
3
2
2
0
,
1
6
0
5
4
5
9
5
,
4
8
8
9
1
8
4
$
J
C
0
0
7
1
1
4
0
1
0
2
7
1
1
0
7
2
5
2
6
9
7
5
7
4
9
1
5
1
0
2
8
0
8
.
4
0
,
4
4
4
4
0
,
8
5
9
6
3
,
4
E
-
0
6
2
1
,
3
9
7
9
4
2
4
,
5
5
7
9
8
,
9
1
9
9
1
2
1
0
,
1
4
8
7
4
6
1
6
,
8
8
6
8
1
8
8
$
J
C
0
0
7
1
1
4
0
1
4
2
7
1
1
0
7
2
5
2
6
9
7
6
4
4
9
1
5
1
1
1
1
5
.
9
0
,
4
4
4
4
0
,
8
5
9
6
2
,
5
E
-
0
6
1
5
,
7
5
6
5
4
2
4
,
1
2
8
4
8
,
4
2
5
6
8
3
1
0
,
1
4
0
4
4
6
3
2
,
6
4
3
4
1
9
2
$
J
C
0
0
7
1
1
4
0
1
8
2
7
1
1
0
7
2
5
2
6
9
7
7
3
4
9
1
5
1
2
1
2
1
7
.
3
0
,
4
4
4
4
0
,
8
5
9
6
5
,
2
E
-
0
6
3
3
,
3
2
5
6
4
2
3
,
8
0
6
0
7
,
1
3
9
9
0
2
9
0
,
1
1
9
0
4
6
6
5
,
9
6
8
9
1
9
6
$
J
C
0
0
7
1
1
4
0
2
2
2
7
1
1
0
7
2
5
2
6
9
7
6
8
4
9
1
5
1
3
5
1
8
.
4
0
,
4
4
4
4
0
,
8
5
9
6
3
,
9
E
-
0
6
2
4
,
7
6
9
4
4
2
3
,
4
5
3
7
6
,
1
9
1
0
4
4
6
0
,
1
0
3
2
4
6
9
0
,
7
3
8
4
2
0
0
$
J
C
0
0
7
1
1
4
0
2
6
2
7
1
1
0
7
2
5
2
6
9
7
6
7
4
9
1
5
1
4
2
3
1
7
.
1
0
,
4
4
4
4
0
,
8
5
9
6
5
,
7
E
-
0
6
3
6
,
2
5
9
2
4
2
3
,
1
7
1
6
4
,
7
0
1
6
0
9
8
0
,
0
7
8
4
4
7
2
6
,
9
9
7
6
2
0
4
$
J
C
0
0
7
1
1
4
0
3
0
2
7
1
1
0
7
2
5
2
6
9
7
7
0
4
9
1
5
1
5
2
6
1
1
.
5
0
,
4
4
4
4
0
,
8
5
9
6
4
,
6
E
-
0
6
2
9
,
3
2
4
1
4
2
2
,
8
6
6
9
3
,
4
8
1
8
6
4
9
0
,
0
5
8
0
4
7
5
6
,
3
2
1
7
2
0
8
$
J
C
0
0
7
1
1
4
0
3
4
2
7
1
1
0
7
2
5
2
6
9
7
6
3
4
9
1
5
1
5
9
6
0
9
.
6
0
,
4
4
4
4
0
,
8
5
9
7
5
,
1
E
-
0
6
3
2
,
7
3
6
1
4
2
2
,
5
8
9
9
2
,
0
7
5
4
1
5
7
0
,
0
3
4
6
4
7
8
9
,
0
5
7
8
2
1
2
$
J
C
0
0
7
1
1
4
0
3
8
2
7
1
1
0
7
2
5
2
6
9
7
1
1
4
9
1
5
1
6
1
4
0
7
.
7
0
,
4
4
4
4
0
,
8
5
9
7
4
,
5
E
-
0
6
2
8
,
6
5
7
1
4
2
2
,
3
0
4
2
0
,
8
1
7
1
6
6
6
0
,
0
1
3
6
4
8
1
7
,
7
1
4
9
2
1
6
$
J
C
0
0
7
1
1
4
0
4
2
2
7
1
1
0
7
2
5
2
6
9
6
9
6
4
9
1
5
1
6
8
0
0
.
1
0
,
4
4
4
4
0
,
8
5
9
7
2
,
1
E
-
0
6
1
3
,
1
6
9
3
4
2
1
,
9
5
8
6
0
,
2
3
0
2
9
8
2
0
,
0
0
3
8
4
8
3
0
,
8
8
4
2
2
2
0
$
J
C
0
0
7
1
1
4
0
4
6
2
7
1
1
0
7
2
5
2
6
9
6
9
4
4
9
1
5
1
6
8
0
0
.
0
0
,
4
4
4
4
0
,
8
5
9
7
1
,
6
E
-
0
7
1
,
0
3
1
3
4
2
1
,
5
7
1
1
0
,
1
8
6
6
2
5
5
0
,
0
0
3
1
4
8
3
1
,
9
1
5
5
2
2
4
$
J
C
0
0
7
1
1
4
0
5
0
2
7
1
1
0
7
2
5
2
6
9
6
9
7
4
9
1
5
1
6
1
6
0
0
.
0
0
,
4
4
4
4
0
,
8
5
9
7
6
,
3
E
-
0
7
4
,
0
2
5
7
4
2
1
,
2
1
0
3
0
0
,
0
0
0
0
4
8
3
5
,
9
4
1
2
2
2
8
$
J
C
0
0
7
1
1
4
0
5
4
2
7
1
1
0
7
2
5
2
6
9
6
9
7
4
9
1
5
1
6
1
6
0
0
.
0
0
,
4
4
4
4
0
,
8
5
9
7
0
0
,
0
0
0
0
4
2
0
,
8
4
4
6
0
0
,
0
0
0
0
d
i
s
t
a
n
c
i
a

e
n
t
r
e

e
s
t
a

e
s
4
8
3
5
,
9
4
1
2
2
3
2
39
Conforme podemos observar na tabela acima, os primeiros valores do tempo
estimado obtido um valor muito alto devido velocidade mdia ser prxima a zero. Para
contornar esse erro de estimativa, at que a velocidade mdia adquira um valor constante,
foram ignorados os quatorzes primeiros pontos da velocidade mdia. Com esse contorno,
obtivemos um valor prximo do obtido no trajeto.
Podemos validar o resultado do clculo obtido atravs dos dados transmitidos
pelo nibus, no caso, o horrio do GPS do incio do trajeto at seu trmino.
Portanto, pelo clculo obtemos 3 minutos e 48 segundos, e pelos dados do
horrio do GPS, tem-se 2 minutos e 48 segundos. Embora seja uma diferena de 1 minuto,
pode-se levar em conta que o algoritmo do clculo estimado funciona perfeitamente
validando assim o projeto de fim de curso.
40
ARMAZENANDO DADOS NO SERVIDOR:
Para preencher o servidor com as rotas dos nibus, um software foi desenvolvido na
interface LabView, Figura 20, da National Instruments.
Figura 19 - Software para inserir a rota.
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:
41
Figura 20 - Rota configurada para testes.
Com esses pontos em mos, configura-se a rota no servidor e carrega as
informaes adquiridas e, assim, estar cadastrando uma nova rota no servidor. Maneira
desenvolvida para facilitar as operaes de acrscimo de pontos, evitando operao manual
ponto a ponto.
42
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 micro-
controladores. 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.
43
REFERNCIAS BIBLIOGRFICAS:
[1] Fernandes, Carlo Alberto Gonzles - Tecnologia GPRS; Monografia
(Especializao em Telecomunicaes) - Pontifcia Universidade Catlica do Paran, 2003.
[2] Souza, David Jos de - Desbravando o PIC; So Paulo: rica, 2000.
[3] Instituto Curitiba de Informtica e Secretaria Municipal da Comunicao Social
Prefeitura 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.

Вам также может понравиться