¿Cómo funcionan los sistemas embebidos en conjugación con gps?

No hay mucho contexto en torno a esta pregunta, por lo que no sé si está esperando una respuesta para una persona con experiencia en sistemas integrados, con software o con ninguno. Contestaré asumiendo que no sabes nada.


Hay una variedad de chips GPS que puede obtener de varios proveedores (incluidos kits de desarrollo para probar estos chips). Cale McCollough dio un buen ejemplo con U-Blox. Aquí está uno de sus kits de evaluación:

Entonces, después de recibir esto por correo, lo conecta a su PC o microcontrolador y habla con él mediante un protocolo de comunicación típico. Como puede ver, esto también admite I2C, SPI y quizás UART. Todos estos son protocolos de comunicación diferentes, pero no voy a entrar en detalles aquí. Solo sepa que puede recibir datos de este cuadro de alguna manera.

Si está configurado y configurado correctamente (este paso es bastante mínimo), comenzará a obtener una gran cantidad de datos. Los datos que obtiene se definen aquí: datos NMEA.

Desde ese enlace, hay algunos flujos de datos de muestra:

Garmin g12 oraciones para la versión 4.57

$ GPRMC, 183729, A, 3907.356, N, 12102.482, W, 000.0,360.0,080301,015.5, E * 6F
$ GPRMB, A ,,,,,,,,,,,, V * 71
$ GPGGA, 183730,3907.356, N, 12102.482, W, 1,05,1.6,646.4, M, -24.1, M ,, * 75
$ GPGSA, A, 3,02 ,,, 07“ 09,24,26 ,,,,, 1.6,1.6,1.0 * 3D
$ GPGSV, 2,1,08,02,43,088,38,04,42,145,00,05,11,291,00,07,60,043,35 * 71
$ GPGSV, 2,2,08,08,02,145,00,09,46,303,47,24,16,178,32,26,18,231,43 * 77
$ PGRME, 22.0, M, 52.9, M, 51.0, M * 14
$ GPGLL, 3907.360, N, 12102.481, W, 183730, A * 33
$ PGRMZ, 2062, f, 3 * 2D
$ PGRMM, WGS 84 * 06
$ GPBOD ,, T ,, M ,, * 47
$ GPRTE, 1,1, c, 0 * 07
$ GPRMC, 183731, A, 3907.482, N, 12102.436, W, 000.0,360.0,080301,015.5, E * 67
$ GPRMB, A ,,,,,,,,,,,, V * 71

Así que ese es el galimatías que verás cuando estés conectado a uno de estos chips GPS. El resto de la página describe cómo interpretar esos datos. Como ejemplo, después de “$ GPGLL” notará que hay “3907.360, N, 12102.481, W”, como probablemente pueda adivinar, estas son coordenadas de latitud / longitud.

Así que ahora estamos obteniendo todos estos datos de nuestro sensor GPS utilizando este kit de evaluación, y queremos tomar este hermoso código que hemos escrito para hacer uso de estos datos y crear un dispositivo. Ahora necesita ordenar estos:

Además de esto, necesita todos los demás componentes de hardware necesarios para crear un dispositivo como este.

Eso es todo. Bastante simple ¿eh?

Echa un vistazo a U-Blox. Tienen una solución totalmente integrada con ejemplos de código fuente abierto. Su servicio al cliente es una mierda a menos que esté ordenando un pedido grande, pero tienen algunos de los más fáciles de trabajar. Además, Arduino tiene un montón de cosas, pero primero debes consultar mbed. El microcontrolador AVR es súper genial, pero es demasiado caro. Personalmente me encanta mbed porque acelera mi trabajo. No me importa lo rápido que se ejecute o si puedo ahorrar 10 KB porque hay tanta memoria y potencia de CPU adicional ahora que no estás ahorrando dinero usando C, y solo cuesta más en tiempo de desarrollo.