4cylndrfury wrote:
Is that GPS based on tracking cell tower pings like a smart phone? Doesnt that require a data package be sent and received across a cell network? Is there some kind of data cost involved?
Otherwise, I love solid hombrewed engineering solutions. This ranks right up there. Bravo.
As mck mentioned, it's free to use. Basically a GPS receiver will track a number of satellites and determine location. The microcontroller (in this case, a little Arduino Uno), uses rx/tx pins to send and receive requests at the GPS receiver.
It then sends back NMEA data, which flies out in spurts very quickly in a $GPGGA format.
So it'll look like this:
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
Which means this
Where:
GGA Global Positioning System Fix Data
123519 Fix taken at 12:35:19 UTC
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
1 Fix quality: 0 = invalid
1 = GPS fix (SPS)
2 = DGPS fix
3 = PPS fix
4 = Real Time Kinematic
5 = Float RTK
6 = estimated (dead reckoning) (2.3 feature)
7 = Manual input mode
8 = Simulation mode
08 Number of satellites being tracked
0.9 Horizontal dilution of position
545.4,M Altitude, Meters, above mean sea level
46.9,M Height of geoid (mean sea level) above WGS84
ellipsoid
(empty field) time in seconds since last DGPS update
(empty field) DGPS station ID number
*47 the checksum data, always begins with *
(citation used from NMEA data page)
This data is spat out every few milliseconds, it's very fast. So as long as you can tell your microcontroller to read back a loop that takes that data, parses it, and makes sense of it with some basic math... boom, you've got an input.
My GPS controller needs 4 things:
A 5v input, a ground, a receive, and a transmit pin. That's all it needs to operate. Pop an antenna on it, put it out in the open... and then send it requests for data, it shoots them back, spit them out on my serial interface and i can see them.