Como capturar dados do GPS?

Ola, sou nova na linguagem Java, na faculdade vi pouca coisa sobre a Linguagem, fiz o curso de Java para a Web da Caelum, e confesso que o que aprendi sobre Java foi nesse curso…

Bom, preciso desenvolver um sistema que capture dados de um GPS e compare com uma rota pre-estabelecida, para informar a posicao exata de um Onibus, e quanto tempo ele passara em uma determinada parada…

Alguem poderia me dar uma ideia de como manipular dispositivos em Java, como o GPS??

Obrigada a todos…

Você poder usar um celular com bluetooth para conversar com o gps, e então enviar os dados para uma aplicação web, para fazer as verificações que você precisa. Só que além da aplicação web, você também vai ter que desenvolver um aplicativo para o celular.

Blz? Flw! :thumbup:

Sera que nao tem como conversar com o GPS diretamente da aplicacao? Existe alguma bilioteca (ou pacote) que serve para este tipo de coisa (conversar de uma aplicacao com um dispositivo)

A ideia do celular eh legal, nao tinha pensado nisso antes… Valeu!!

=]

O problema é como enviar os dados do gps para a aplicação, da forma como sugeri, o celular faria esse trabalho. À menos que você consiga um gps que faça requisições e envie dados por si só (quem sabe um mp15 :mrgreen: ), creio que não será possível.

ahhhhhhhhhhhhhhhhhh, entendo. Estava pensando em outra coisa… Bom, vou amadurecer mais esta historia do celular, Obrigada pela ajuda! :stuck_out_tongue:

Se você usar um receptor GPS no padrão NMEA e com uma saída serial, é bem fácil capturar os dados, usando um notebook. Os dados vem em formato texto, e é muito fácil trata-los. Tem também os receptores da Garmin. Há alguns anos atrás tentei usar, mas o padrão Garmin não era muito bem documentado. Finalmente, existe o padrão SIRF. Quase todo receptor que suporta NMEA também suporta o SIRF. É um formato binário, muito mais “bruto”, mas fornece muito mais informação, como o posicionamento dos satélites. Isso te permite melhorar a precisão dos resultados, o que realmente não é necessário para um veículo tão grande quanto um ônibus.

No caso de um ônibus, você teria que usar um micro dedicado, já que o hardware terá que suportar a vibração do veículo e funcionar por várias horas a fio sem recarga de bateria (e acredite, isso é mais complicado do que parece). Se o hardware não for preparado, ele irá estragar após poucos dias de uso, já que vibração solta alguns componentes.

Uma alternativa usando celulares que já vi para ônibus é o celular disparar um SMS com as coordenadas GPS do ônibus em momentos pré-determinados (parada, abertura e fechamento de portas, e de x em x minutos). O computador com a aplicação Java estaria então distante, numa central, e receberia os dados via companhia telefônica, na forma de texto bruto.

Acho que o mais interessante desse seu trabalho é pensar em como a solução funcionaria de maneira robusta em campo, e não somente no software em si.

Entao, a ideia eh mapear uma rota, cadastrar essa rota no tal sistema, e fazer com que esse sistema receba coordenadas e sinais do tal onibus (nao pensei ainda em como fazer isso, se por sms, wirelles, gprs - td isso usando GPS para localizar o onibus), tipo: em que rua ele ta passando, e em quanto tempo demorara para chegar em determinado local…

Tem um software (que infelizmente esqueci o nome), aonde eu posso descarregar as rotas do meu GPS nele, com um cabo serial e tals, isso e relativamente facil, digo relativamente pq precisarei que a minha aplicacao (sistema) trate esse arquivo (que vc disse que eh texto, correto?), como sou nova em tudo, nao consigo ‘realizar’ essa ideia em minha cabeca, por isso recorri ao forum, para ter nocao de como faco as coisas. (trato a rota para ‘cadastrar’ no sistema, e recebo os dados GPS para comparar com essa rota, e informar ao usuario o tempo de chagada do onibus…)

O padrao NMEA eu conheco um pouco, o outro que vc falou eu nao conheco, vou pesquisar sobre este.

Mas, obrigada pelo seu depoimento, ajudou bastante, ja clareou algumas ideias…

Isso, o maior problema no envio dos dados é que o ônibus terá que atuar como um transmissor. Um receptor consome pouca bateria e quase não apresenta custos justamente porque não transmite nada. Como os ônibus circulam dentro de cidades (ou seria ônibus de viagem?), aí você pode usar uma tecnologia de envio barata, de baixa potência, e baixo consumo, baseada na própria rede de celular. Se for um ônibus interestadual, seu custo vai aumentar muito. Vai envolver antenas melhores, um transmissor potente e uma rede que seja capaz de retransmitir esse dado de qualquer lugar. Aí facilmente chega aos 5 ou 6 mil reais que os motoristas de caminhão pagam pelos sistemas de segurança em GPS existentes.

Sim, é um texto mesmo. Você lê da serial e gera um textinho. Ou trata as strings que chegam on-the-fly. Não é nada difícil, o texto vem num formato fácil, os dados estão prontos. Dificil mesmo é se você quiser trabalhar com o SIRF puro, que no lugar de coordenadas te dá só a posição do satélite e comprimentos de onda…

Me diz uma coisa, quanto tempo você tem para terminar esse trabalho?

Esse software que você falou, por acaso ele gera arquivos RINEX? Veja o nome dele certinho, dependendo de qual for talvez eu já tenha utilizado também. Tem um software famoso (que também não me recordo o nome) que permite que você teste as capacidades do seu receptor GPS.

Eu falei de 3 padrões (NMEA, Garmin e SIRF32), e acho que o NMEA é o mais fácil pro seu caso. Até porque ele é aberto e padronizado. O Garmin é o padrão proprietário da empresa de mesmo nome, uma famosa pelos seus GPSs amerelinhos. São um dos aparelhos mais vendidos no mercado.

No caso do NMEA você tem a vantagem de existirem placas avulsas a venda no mercado, procure pelas placas com o chipset SirfStar III. Nesse caso, você mesma pode montar um hardware de mais baixo custo. Eu cheguei a unir uma plaquinha dessas a um palmtop uma vez, para fazer coletas de dados para topografia. Outro uso que fiz foi colocar a placa junto a um notebook com uma webcam e aí montei um software que permitia o levantamento de defeitos de estradas. A placa, na época, podia ser adquirida por R$100,00, mas creio que hoje seja muito mais barato.

Olha só, a Garmin agora disponibiliza um SDK para os GPSs dela. Mas se eu não me engano é para linguagem C:
http://www8.garmin.com/support/commProtocol.html

E tambem estão disponibilizando mais material de apoio. Uma ótima notícia. Era a falta de documentação que acabou me afastando deles, mesmo eles sendo líderes de mercado. :smiley:

Outra boa notícia é que os GPSs dela agora também suportam o formato NMEA, embora hajam sentenças proprietárias, também documentadas no site que eu passei.

“Isso, o maior problema no envio dos dados é que o ônibus terá que atuar como um transmissor. Um receptor consome pouca bateria e quase não apresenta custos justamente porque não transmite nada. Como os ônibus circulam dentro de cidades (ou seria ônibus de viagem?), aí você pode usar uma tecnologia de envio barata, de baixa potência, e baixo consumo, baseada na própria rede de celular. Se for um ônibus interestadual, seu custo vai aumentar muito. Vai envolver antenas melhores, um transmissor potente e uma rede que seja capaz de retransmitir esse dado de qualquer lugar. Aí facilmente chega aos 5 ou 6 mil reais que os motoristas de caminhão pagam pelos sistemas de segurança em GPS existentes.”

– O onibus eh urbano mesmo. Pois eh o problema eh o onibus transmitir a sua posicao, achar uma tecnologia que faca isso com o custo acessivel eh complicado, e essa tecnologia talvez nem exista, enfim… Garmim eu conheco, estava utlizando um GPS dessa marca…

[i]
"Sim, é um texto mesmo. Você lê da serial e gera um textinho. Ou trata as strings que chegam on-the-fly. Não é nada difícil, o texto vem num formato fácil, os dados estão prontos. Dificil mesmo é se você quiser trabalhar com o SIRF puro, que no lugar de coordenadas te dá só a posição do satélite e comprimentos de onda…

Me diz uma coisa, quanto tempo você tem para terminar esse trabalho?

Esse software que você falou, por acaso ele gera arquivos RINEX? Veja o nome dele certinho, dependendo de qual for talvez eu já tenha utilizado também. Tem um software famoso (que também não me recordo o nome) que permite que você teste as capacidades do seu receptor GPS."[/i]

– Bom o SIRF como disse nao sei bem, mas deve ser cabuloso mesmo, so pelo que vc disse… tenho um tempinho consideravel ainda, preciso mostrar uma prova de conceito disso para a faculdade, tipo mostrar o negocio funcionando, ja to correndo atras para nao deixar pra ultima hora… Bom a extensao dos arquivos que sao gerados nesse software, eu nao tenho certeza, mas o software ao qual me referia eh o GTM (GPS Track Maker - http://www.gpstm.com/), voce o conhece?

[i]
"Eu falei de 3 padrões (NMEA, Garmin e SIRF32), e acho que o NMEA é o mais fácil pro seu caso. Até porque ele é aberto e padronizado. O Garmin é o padrão proprietário da empresa de mesmo nome, uma famosa pelos seus GPSs amerelinhos. São um dos aparelhos mais vendidos no mercado.

No caso do NMEA você tem a vantagem de existirem placas avulsas a venda no mercado, procure pelas placas com o chipset SirfStar III. Nesse caso, você mesma pode montar um hardware de mais baixo custo. Eu cheguei a unir uma plaquinha dessas a um palmtop uma vez, para fazer coletas de dados para topografia. Outro uso que fiz foi colocar a placa junto a um notebook com uma webcam e aí montei um software que permitia o levantamento de defeitos de estradas. A placa, na época, podia ser adquirida por R$100,00, mas creio que hoje seja muito mais barato."[/i]

– Voce ja ouviu falar na gpsd (biblioteca), estamos pensando em usar essa biblioteca, pq ela eh livre, no momento a ideia eh desenvolver em cima dela. Vou da uma olhada nessas placas que vc falou, ainda nao pesquisei sobre elas, so o que pesquisei foram alguns modulos de transmissoa GPRS…

– Bom, obrigada por tudo!! =]

– continua me ajudando… heheheheh… :stuck_out_tongue:

Ola,
não sei se vc ja resolveu o essa questão mais quero poder lhe passar um pouco sobre minha experiencia e quem sabe assim lhe ajudar.
Trabalho com desenvolvimento de sistema para GPS , sei exatamente oque vc deve estar passando.
Mas o maior conselho que posso lhe dar é que não dá para fazer milagres neste campo, ou descobrir um tesouro…rsrs. Pense que tudo oque vc tem como ideia muitos outro já tiveram, e portanto estão já prontos . Só esperando vc analiza-los e ai sim melhorar o produto.
Lhe falo isso pois a 4 anos atrás quando havia menas tecnologia de transmissão movel, estava desenvolvendo um projeto semelhante ao seu , mais para uso marítimo o que o deixava ainda pior. E gastamos muito dinheiro em equipamento, softwares e tudo mais… Mais nossa solução estava mais proximo que pensavamos… bastava descobrir nessa solução beneficios para que podessemos agragar valores ao nosso produto.

Por isso o que vc teve como ideia é quase inviavel por questões técnicas, de hardwares e não por programação. O que eu aconselharia vc a fazer é procurar produtos já prontos para vc utilizar sua ideia. Não adianta tentar utilizar, celular com bluethoot, cabo usb, notebook … e por ai a fora, pois vai dar problema. O produo que vc precisa tem que ser ROBUSTO, SEGURO e principalmente automatico.
Então vc pode utiliar um produto já no mercado chamado Módulo rastreador veicular T3 , já é tudo junto ,GPS, NMEA, TRANSMISSOR, GPRS…EDGE, 3G so depende da operadora que escolher. OK

Pense nisso e procure por esse modulo, assim vc ficará so com a parte melhor que é o tratamento das informações e nao fica preocupada com tantos delhas , como celular , bluethoot, bateria, carregador…

Um abraço e vai firme…

Ola gatinha,

Nada como um hacker pra lhe explicar, vejamos:

O GPS tantos os bluetooh, os USB ou Tomtom aquelas tranqueiras, se conectam no PC gerando uma porta Serial, tipo COM40.

Nesta porta serial vc pode usar a API Java gravar e ler dados diretamente, obedecendo o formato estabelecido tipo 7/8 bits para o modelo de conexao GPS.

Gatinha, caso precise de mais ajuda, estou aqui todinho seu para lhe fornecer mais help.

ahh caso vc nao tenha um GPS de verdade, vc pode usar um simulador.
Existem softwares que permitem criar um GPS e ler os dados de uma porta serial, e ate apontar esta no posiçao no Google etc etc

beijinhos!!
:twisted:

Olá
Estou com o mesmo problema da nossa colega, porém o software que vai coletar a posição do GPS, será adquirido de terceiro e eu estou estudando, como desenvolver um sistema que monte uma rota com as coordenadas recebidas. Seria para traçar a rota de caminhão, e acompanhar esta rota para verificar se o caminhão está dentro da rota criada. Ainda não tenho idéia, do que vou precisar para mostrar e controlar esta rota. Alguém teria uma idéia?

Luana,
pode entrar em contato comigo, também estou desenvolvendo um software para monitorar veículos.

Acho que podemos nos ajudar.

Quem quiser me ajudar favor entrar em contato.

MSN: paulo.analista@hotmail.com

Olá!

Alguem neste fórum que teve sucesso no desenvolvimento de suas aplicações poderia me ajudar, eu estou desenvolvendo um SW para monitoramento de Ônibus também assim como a Luana. Preciso saber se existe alguma API para fazer a leitura do GPS e como usar uma base de mapas para traçar as rotas??? Alguém poderia me ajudar com algumas dicas! Eu tenho um receptor NMEA que se conecta via USB!

por favor, estou precisando de uma ajuda, configurei um GPS do meu
carro tudo corretamente, para o meu celular tudo esta vindo corretamente
latitude e longitue, porém agora configurei para eu ler essa informação via
IP/Porta, ocorre que recebo a informação utilizando SOCKET do delphi porém
somente recebo IMEI do gps e o restante das informações não vem.
Estou usando o GPS Tracker TK103
Se puderem me dar uma ajudar fico grato e se eu puder ajudar em alguma coisa estarei aqui.

Obriagdo…
Vinícius…