Go Down

Topic: Ajuda data e hora GPS (Read 3783 times) previous topic - next topic

luisandrade

Iniciei alguns testes com o modulo gps em-411, encontrei vários exemplos na net um deles retorna a data e a hora, porém não consegui entender o formato da hora.
Segue!
Data=270913 Hora=045808.000
Data=270913 Hora=045809.000
Data=270913 Hora=045810.000
Data=270913 Hora=045811.000
Data=270913 Hora=045812.000
Data=270913 Hora=045813.000
Data=270913 Hora=045814.000
Data=270913 Hora=045815.000
Data=270913 Hora=045816.000
Data=270913 Hora=045817.000
Data=270913 Hora=045818.000
Data=270913 Hora=045819.000
Data=270913 Hora=045820.000
Data=270913 Hora=045821.000
Data=270913 Hora=045822.000
Data=270913 Hora=045823.000

Alguém poderia me explicar como funciona esse formato?

bubulindo

Acho uma piada a esta gente...

Achas que somos bruxos? Tens pelo menos um link para vermos de onde tiraste essa biblioteca?

This... is a hobby.

luisandrade

Bom pra começar não direcionei esse tópico a você Bubulindo, se não sabes ou não quer me ajudar é direito seu, o que não é admissível é você se referir a mim como um qualquer, reconheço que realmente não postei o código, como não sei nada de nada pensei que alguém que tenha trabalhado com GPS iria reconhecer esse formato de dado e me ajudar.

Lago

Dentro de padrão MNEA, existem alguns formatos diferentes.

Como é a linha completa que o GPS retorna?

Veja: http://catb.org/gpsd/NMEA.html

Acredito que este retorana o GGA:
Code: [Select]
        1         2       3 4        5 6 7  8   9  10 |  12 13  14   15
        |         |       | |        | | |  |   |   | |   | |   |    |
$--GGA,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh<CR><LF>

Quote
Field Number:
1. Universal Time Coordinated (UTC)
2. Latitude
3. N or S (North or South)
4. Longitude
5. E or W (East or West)
6. GPS Quality Indicator,
   0 - fix not available,
   1 - GPS fix,
   2 - Differential GPS fix (values above 2 are 2.3 features)
   3 = PPS fix
   4 = Real Time Kinematic
   5 = Float RTK
   6 = estimated (dead reckoning)
   7 = Manual input mode
   8 = Simulation mode
7. Number of satellites in view, 00 - 12
8. Horizontal Dilution of precision (meters)
9. Antenna Altitude above/below mean-sea-level (geoid) (in meters)
10. Units of antenna altitude, meters
11. Geoidal separation, the difference between the WGS-84 earth ellipsoid and mean-sea-level (geoid), "-" means mean-sea-level below ellipsoid
12. Units of geoidal separation, meters
13. Age of differential GPS data, time in seconds since last SC104 type 1 or 9 update, null field when DGPS is not used
14. Differential reference station ID, 0000-1023
15. Checksum

Edson-ECK

Essa data e hora esta referenciado em UTM, ou seja, marco zero, Meridiano_de_Greenwich.
No caso de São Paulo da uma diferença de 3 horas.

Data=270913  dia 27 de setembro de 2013
Hora=045808.000, 4 horas, 58 minutos e 8 segundos e o resto são decimos,centecimos e milesimos de segundo.

Abraços





bubulindo


Bom pra começar não direcionei esse tópico a você Bubulindo, se não sabes ou não quer me ajudar é direito seu, o que não é admissível é você se referir a mim como um qualquer, reconheço que realmente não postei o código, como não sei nada de nada pensei que alguém que tenha trabalhado com GPS iria reconhecer esse formato de dado e me ajudar.


Não... direccionaste a quem contribui para o fórum... eu contribuo e como tal decidi tentar ajudar.
Se reparares, tu ao não postares o código ou mais informacão és como uma porrada de gente que vem aqui ao fórum, diz que tem um problema com alguma coisa e espera que as pessoas adivinhem o que é.
Tivesses deixado a biblioteca e alguém poderia abri-la e ver qual era o formato que auqilo retornava e realmente ajudar.
This... is a hobby.

luisandrade


Essa data e hora esta referenciado em UTM, ou seja, marco zero, Meridiano_de_Greenwich.
No caso de São Paulo da uma diferença de 3 horas.

Data=270913  dia 27 de setembro de 2013
Hora=045808.000, 4 horas, 58 minutos e 8 segundos e o resto são decimos,centecimos e milesimos de segundo.

Abraços


Ah sim, agora ficou mais claro, será que é possível ajustar a hora?



luisandrade


Dentro de padrão MNEA, existem alguns formatos diferentes.

Como é a linha completa que o GPS retorna?

Obrigado pela atenção, então depende do sketch que uso, encontrei esse que retorna já convertido, só que a hora está errada, mas agora ja sei por que, conforme o Edson-ECK disse.

Segue!
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial serialgps(3,4);
int year;
byte month, day, hour, minute, second, hundredths;
unsigned long chars;
unsigned short sentences, failed_checksum;
void setup()
{

Serial.begin(115200);
serialgps.begin(4800);
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}
void loop()
{
while(serialgps.available())
{
int c = serialgps.read();
if(gps.encode(c))
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.print("Satellites: "); Serial.println(gps.satellites());
Serial.println();
gps.stats(&chars, &sentences, &failed_checksum);
}
}
}





luisandrade



Dentro de padrão MNEA, existem alguns formatos diferentes.

Como é a linha completa que o GPS retorna?

Obrigado pela atenção, então depende do sketch que uso, encontrei esse que retorna já convertido, só que a hora está errada, mas agora ja sei por que, conforme o Edson-ECK disse.

Segue!
#include <SoftwareSerial.h>
#include <TinyGPS.h>
TinyGPS gps;
SoftwareSerial serialgps(3,4);
int year;
byte month, day, hour, minute, second, hundredths;
unsigned long chars;
unsigned short sentences, failed_checksum;
void setup()
{

Serial.begin(115200);
serialgps.begin(4800);
Serial.println("");
Serial.println("GPS Shield QuickStart Example Sketch v12");
Serial.println(" ...waiting for lock... ");
Serial.println("");
}
void loop()
{
while(serialgps.available())
{
int c = serialgps.read();
if(gps.encode(c))
{
float latitude, longitude;
gps.f_get_position(&latitude, &longitude);
Serial.print("Lat/Long: ");
Serial.print(latitude,5);
Serial.print(", ");
Serial.println(longitude,5);
gps.crack_datetime(&year,&month,&day,&hour,&minute,&second,&hundredths);
Serial.print("Date: "); Serial.print(month, DEC); Serial.print("/");
Serial.print(day, DEC); Serial.print("/"); Serial.print(year);
Serial.print(" Time: "); Serial.print(hour, DEC); Serial.print(":");
Serial.print(minute, DEC); Serial.print(":"); Serial.print(second, DEC);
Serial.print("."); Serial.println(hundredths, DEC);
Serial.print("Altitude (meters): "); Serial.println(gps.f_altitude());
Serial.print("Course (degrees): "); Serial.println(gps.f_course());
Serial.print("Speed(kmph): "); Serial.println(gps.f_speed_kmph());
Serial.print("Satellites: "); Serial.println(gps.satellites());
Serial.println();
gps.stats(&chars, &sentences, &failed_checksum);
}
}
}






Edsoncan

Nunca vi um gps que permiti-se a alteração da data e hora é sempre em função das equações geradas pelos satélites. O que da para fazer é corrigir a hora em função da posição,  nunca precisei pois sempre projeto rastreadores e o modem corrige a hora em função da operadora, portanto torna-se desnecessário.


Edson

Elender

Boa noite!! Eu sou  novo por  aqui  não tenho  muito conhecimento sobre a programação do arduino mais tenho um projeto  estou tentando implementar  estou usando um arduino uno e uma placa GPS, preciso informações  para que o arduino emita um pulso de  5v ou um sinal sonoro ao chegar em determinada coordenada geográfica.



 
Elender keuly de Souza
Prof. Esp. Gestão e Segurança em Redes de Computadores.
CV:http://lattes.cnpq.br/9429834620495137

bubulindo

E decidiste pegar nesta thread porquê?

O que é que já fizeste e onde estás a ter dúvidas?
This... is a hobby.

Go Up