what i mean is, once i get the arduino ucontroller + gps working (hooked up), does the GPS device need to have a service provider to get location information? or will it just pick up its location?
Correct, the subscriptions that GPS companies offer are usually for extra features, such as "Real Time Traffic" and Emergency Roadside Assistance, etc.
ok, let me clarify. let's say i have the arduino + gps device hooked up as one unit and communicating (i haven't yet, in fact, i'm just researching, i don't even have an arduino ucontroller yet). as i understand, the gps unit will be an input. it will "somehow" know its location and send this data back for processing (you "hook" up to the data it sends back in the program's loop function).
my question is, "how" does the gps know its location (or the location of where it's at)? according to the responses, i am reading that there are satellites out there that the gps device is using "freely" (without financial cost, without a subscription) to determine its location. is this reading correct? or, will i somehow have to program the gps device with some parameters (i.e. login/password/api key) to use these satellites/services? please clarify.
my followup questions are, based on CaptainObvious' response:
what are some GPS companies that will work with the gps devices compatible with arduino?
could these GPS devices do more than just report location back to the program? (are they strictly input?)
could these GPS devices be uniquely tracked by the GPS companies, and if so, do these GPS companies normally offer services/interfaces to this data?
(without leading this thread into another topic, i'll start a new one that continues my concern about sending the GPS data, once we have it, over long distances)
If you read through the GPS wiki, it should answer alot of your questions.
Basically, there are 20 some Satellites going around the earth at all times, sending Signals down with their position compared to the earth. Your GPS device then finds as many satellites as it can, receiving information sent from the satellites, and triangulates your position via that information. (Time it takes to get a good fix on your location varies for each model)
I don't believe your GPS unit sends out signals at any time, it's only receiving. (I haven't read a whole lot, so I may be wrong)
And that's right, you will NOT need a password or a login name, or anything of the sorts to use the GPS service.
They will also send back Speed, Altitude, Long, Lat, UTC (Universal Time), and some other items. (the precision of speed/and everything else depends on the receiver itself, and of course the reception you're getting and surroundings.)
GPS units are not trackable, unless you purchase GPS-tracking units, which send back the GPS data via some connection(such as cell-phone, wireless internet, satellites).
Most GPS units you're probably familiar with won't work with the Arduino.. But this is assuming you're familiar with cars / hand held versions. Basically, any GPS unit that has 5v TTL Output (which is TX/RX on the Arduino), such as, and not only:
This is the shield and the GPS unit used in the Tutorial I believe:
GPS unit:
(and about sending the data long distances, depends what data you need to send, how often you need to send it, and where it needs to be sent! and of course how far:D lol)
captainobvious, thanks, that clarified and helped a lot. i will read that wiki page in a bit.
you mentioned about gps tracking device. are there any such compatible hardware with arduino?
from your post, there's the gps device that uses these satellites to compute/estimate its location. then there's the gps tracking device that tracks the gps device itself and sends the data out. this seems a bit redundant (i.e. we have a device to track location, and another device to track the former one).