Académique Documents
Professionnel Documents
Culture Documents
GPRMC
1) Hora (UTC)
2) Estado, V = Advertencia del receptor de navegación
3) Latitud
4) N o S
5) Longitud
6) E o W
7) Velocidad sobre el suelo, nudos
8) Seguimiento hecho bien, grados verdaderos
9) Fecha, ddmmyy
10) Variación magnética, grados
11) E o W
12) Suma de comprobación
GPGGA
1) Hora (UTC)
2) Latitud
3) N o S (norte o sur)
4) Longitud
5) E o W (Este u Oeste)
6) Indicador de calidad GPS,
1) 0 - arreglo no disponible,
2) 1 - corrección de GPS,
3) 2 - Fijación de GPS diferencial
7) Número de satélites a la vista, 00 - 12
8) Dilución horizontal de precisión
9) Altitud de antena por encima / por debajo del nivel del mar medio (geoide)
10) Unidades de altitud de antena, metros
11) Separación geoide, la diferencia entre la tierra WGS-84 elipsoide y nivel del mar
medio (geoide), "-" significa nivel del mar medio debajo del elipsoide
12) Unidades de separación geoide, metros
13) Edad de datos de GPS diferenciales, tiempo en segundos desde la última
SC104 actualización tipo 1 o 9, campo nulo cuando DGPS no se usa
14) ID de la estación de referencia diferencial, 0000-1023
15) Suma de comprobación
Coordenadas Geográficas de datos NMEA
Unidad de medición: Grados (°) y minutos (‘)
Los datos obtenidos del GPS tienen las siguientes características:
Latitud: (0°)
Rango: -90° a 90°
Sintaxis: (𝑥𝑥𝑥𝑥. 𝑥𝑥𝑥, 𝑦)(𝑦 representa el signo)
𝑥𝑥°𝑥𝑥. 𝑥𝑥𝑥′
Resolución: (1 ∗ 10−3 )′
Precisión: (±5 ∗ 10−4 )’
Longitud: (0°)
Rango: -180° a 180°
Sintaxis: (𝑥𝑥𝑥𝑥. 𝑥𝑥𝑥, 𝑦) (𝑦 representa el signo)
𝑥𝑥°𝑥𝑥. 𝑥𝑥𝑥′
Resolución: (1 ∗ 10−3 )′
Precisión: (±5 ∗ 10−4 )’
Funciones para el manejo la NMEA “GPRMC” y su procesamiento como para obtener valores
numéricos de la longitud y la latitud y sus equivalentes en caracteres. (conversiones de
minutos a grados, de carácter a decimal y viceversa).
Para estas funciones primero se realizó una función “void buscar_gps(char [])” encargada de
leer en la comunicación con el GPS la instrucción GPRMC y almacenar la cadena de caracteres
recibida en el arreglo de tipo char .
Después una función llamada “void coordenadas(*)” transforma los caracteres
correspondientes a la latitud y la longitud en números decimales expresados únicamente en
grados y este valor convierte en cadena de caracteres en un arreglo nuevo para tenerlo
disponible para enviarlo por GSM en caso de ser necesario mientras que el valor decimal se
usa para el monitoreo del rango especificado por el usuario.
Ciclo cerrado de monitoreo GPS, envío y recepción de mensajes desde y hacia la aplicación
Los mensajes que se reciben por el puerto serial desde el GSM incluyen la fecha y hora, así
como también el número telefónico remitente en un orden definido y hasta el final viene el
mensaje de texto. El sistema se configura para solo procesar los mensajes de un número
telefónico especifico con una función de tipo entero llamada int comparar_num(chr x[], chr
y[]) que devuelve un uno cuando el número guardado coincide.
Recepción de mensajes de configuración