PDA

Ver la Versión Completa : GPS con Builder c++


alt126
16-12-2004, 10:52:36
Estoy intentando hacer una aplicacion para que me muestre en tiempo real, y claramente las coordenadas exactas a partir de un GPS. Pero no tengo ni idea de como empezar. El GPS se conecta al puerto serie, asi que supongo que tendre que leer de ahi, pero el problema es que no se lee nada, y no se si es que tengo que hacer alguna peticion antes.

La marca del GPS es Garmin Etrex Vista.

Si alguien sabe algo, me seria de gran ayuda...:)

Gracias,

Antonio

Sonic
16-12-2004, 14:42:26
Buenas!

Hace algún tiempo, yo hice un programa parecido, era para otra marca de GPS pero también se comunicaba por el puerto serie.

La verdad es que no sé cómo ayudarte, necesitaría que concretaras más tus dudas. En cualquier caso lo primero que debes hacer es activar y configurar el puerto serie de tu PC correctamente, con los mismos parámetros que tenga el GPS.

Si ya has conseguido eso, lo que te recomiendo luego es que muestrees el puerto serie haciendo polling, para comprobar que las configuraciones de los puertos son correctas. Una vez comprobado eso ya lo mejor es programar interrupciones para detectar la llegada de nuevos caracteres. Una vez conseguido eso, lo demás es diseñar la aplicación a tu gusto ;).

Respecto a lo de hacer peticiones, tienes razón, el que yo usé era de marca Novatel pero he manejado de otras marcas y todos funcionan por medio de comandos.

Tiene que existir en algún sitio un manual con los comandos que se le pueden enviar a tu GPS. Los comandos dependen de cada marca (no hay estandar, al menos que yo sepa). En cualquier caso, yo creo que si mandas cualquier cosa por el puerto serie hacia el GPS deberías recibir una trama aunque sea indicando "Commando incorrecto" o algo así.

Supongo que no te he ayudado mucho, pero si tienes alguna pregunta más concreta estaré encantado de responder.

Un saludo a todos!

alt126
16-12-2004, 15:57:35
Lo primero gracias por tu respuesta.

Para intentar conectar al puerto serie, (ya que de esto no tengo mucha idea), estuve buscando unos cuantos componentes que permitian hacer eso. Encontre algunos que aunque de pago, me permitieron conectarme, pero el GPS no devolvia nada de nada. La verdad es que no se como empezar, se que se puede leer del puerto serie mapeando la entrada como un fichero, pero no se si es mas facil usar alguno de los componentes ya creados y no complicarme la vida en eso.

Lo que no se es como mandarle esos comandos al puerto serie, para poder comprobar como tu dices que me responde. Aunque sea con un error, el simple hecho de que me responda, ya me gustaria, para saber que con mi GPS puedo hacer algo de eso.

De todos modos voy a mandar un correo a la casa comercial, para ver si ellos me pueden mandar esos comandos que tu dices, pero lo dudo mucho.

Si puedieras indicarme un poco mas como conectarme al puerto serie, o mandarme algun ejemplo, te quedaria muy agradecido.:)

Muchas gracias,

Antonio

Sonic
16-12-2004, 17:09:28
Lo primero gracias por tu respuesta.
De nada hombre, para eso estamos!

Voy a buscar el código que usé por si lo quieres probar (no es muy complicado) de todas formas si ya dispones de componentes que te permiten la comunicación, podrías verificar la comunicación si con un cable "modem-nulo" unes los dos puertos series de tu PC (o de dos PCs distintos) así fue como yo probé las comunicaciones primero.

Si la conexión funciona, quizá no estes enviando texto de la forma correcta. En el caso del GPS Novatel que yo use, al encenderse estaba preparado para recibir caracteres a 9600bps sin paridad y con 8 bits de datos y 1 de Stop. Además de eso, el GPS iba almacenando todo lo que se le enviara en un buffer interno y no mandaba respuesta hasta no recibir los caracteres terminadores (terminadores segun Novatel) que son \r\n (o al revés no recuerdo ahora).

Se me ocurre que quiza algunos comandos puedan ser compatibles entre varias marcas de GPS, te pongo algunos: version,posa,sata,log,com......

Salvo el comando version, todos llevan parámetros, pero quizá te pueda servir de algo.

Ahh una cosita más, lo primero primerísimo que yo hice para familiarizarme con el GPS fue manejarlo con el HyperTerminal de Windows. Es un programa muy sencillo, pero que seguro que envía bien los caracteres por el puerto serie, deberías comprobar primero con esta aplicación que tu GPS vive!

Bueno, y como deberes para hoy voy a buscar el código y te lo pongo mañana ;).

Saludos!

alt126
16-12-2004, 23:35:07
La verdad es que tenias toda la razon, podia haber probado primero con el hyperterminal...pero la verdad, es que no se me habia ocurrido.

He estado probando y nada...ni recibo, ni me deja escribir nada...la verdad es que no se si sera compatible, porque creo que no es muy bueno, pero vamos si puedes mandame algun codigo de ejemplo, y asi lo pruebo en espera de que me contesten estos de la compañia...

Y de nuevo muchas gracias,

Antonio

alt126
19-12-2004, 00:28:01
La cosa era que tenia que cambiar la configuracion del propio gps para que mandara datos en NMEA. Al cambiar esto en el gps, ya recibo un chorro de datos desde el hyperterminal. Ahora solo me queda descrifrarlos.

De todos modos cuando puedas mandame ese codigo, a ver si me puede ayudar algo....gracias

Antonio