I think I will order one or two! Since I sold my handheld with the boat!
Well, it works. This is from my office window with a small antenna on it and the cat playing with it :/
$GPGGA,999009.00,9999.09484,N,9999.59944,W,1,03,3.61,198.8,M,-32.8,M,,*62
$GPGSA,A,2,07,17,30,,,,,,,,,,3.75,3.61,1.00*05
$GPGSV,2,1,07,07,56,173,30,08,29,048,08,09,00,193,,13,15,301,*7E
$GPGSV,2,2,07,17,28,245,20,30,73,255,32,51,40,221,35*40
$GPGLL,9999.09484,N,9999.59944,W,132009.00,A,A*7C
$GPRMC,132010.00,A,9999.09455,N,9999.59988,W,0.892,,240719,,,A*6B
$GPVTG,,T,,M,0.892,N,1.652,K,A*20Looks like 7 satellites can be seen if I remember the correct data point for that.
EDIT: Took my coords out. 🙂
Something struck me as odd about this NMEA sentence
$GPRMC,132010.00,A,9999.09455,N,9999.59988,W,0.892,,240719,,,A*6B
The time says 13:20:10, which according to my reckoning is wrong. I got your post at 14:27 CET/Summertime.
And that is 13:27 BST/British Summer Time not Coordinated Universal Time (UTC) a fancy way of saying Greenwich Mean Time. It looks like it doesn't account for the offset.
My local time is GMT/UTC +2, in the UK it is currently GMT/UTC +1.
Can you take another reading and check it against UTC!!
It appears correct:
$GPGLL,9999.9999,N,9999.9999,W,121713.00,A,A*7F
Coordinated Universal Time (UTC)
I thought all NNEA times were UTC and you, or your software, have to calculate the local time using your offset.
SteveG
I think so, but have never needed the time, so have ignored it. It looks correct though. I pulled the line out and then googled the current UTC.
My GPS modules arrived today, please let me know what antenna adapter cable you are using.
(Edit): Next time I will read the post first!
I guess it won't work without an antenna.
I know I am a PITA, but do you have a sketch for the Arduino handy, that you could post on a reply, would be most grateful to be able to save a bit of time!
Yeah, there are a few GPS modules with it. It shows that it's working or connected if I remember right.
I read that it meant Pulse Per Minute and is used to improve time accuracy but I connected it to my oscilloscope and nothing is coming out.
I was wondering if, as both Tx and Rx are connected to the Arduino, that there may be a command that can be issued to activate this function!
May not even be hooked up 😉
I have never tried to change anything on the modules and 9600 baud services the 1sec update time fine for my needs.
Here is a sketch I found that may be useful to adapt, can't test it myself at the moment as I am still waiting for my antennas to arrive from France, makes a change to China.
Antennas arrived today, so I got straight into testing them.
Picking up 13 - 14 satellites, sometimes up to 17. I guess that is good.
What I have noticed is that altitude above sea level is all over the place from +45m to -13m, and I don't even live in the Netherlands!
I was wondering if you are getting similar results.
I tried the boards with the program I mentioned in an above post, but no luck! I wanted to reverse engineer the code but all I have left on my computer is the compiled version. Where the source code has gone, unfortunately, no idea. I think I will start by building a new program in Python to parse all the serial output information.
I was getting 14-17 satellites from my desk with the rubber ducky antenna. I was just reading in the with the code below I use to read raw serial with for testing. Back when I did my GPS bot, I just read the GPS raw data and split the sentences out I needed. I pulled the Lat, Long, heading, and the number of sats and that may have been it, I would have to look at the code.
import time import datetime import serial from threading import Timer gps_comm_port = '/dev/ttyUSB1'; # *nix comm port notation try: # Change the baud rate here if diffrent than 9600 ser = serial.Serial(port=gps_comm_port, baudrate=9600) except IOError: print ("Invalid comm port, Comm port not found for GPS.") exit (1) def read_gps (): out = '' while ser.inWaiting ( ) > 0: out += ser.read (1) return out.strip ( ) def main ( ): print ("In event Loop...") while 1: data = ser.readline() print data #time.sleep (1000.0) if __name__ == '__main__': main ( )