I'm experimenting with a ublox GPS module for a reverse geocache. Obviously the GPS module does not work inside most buildings. What would be a good approach to balance between these 3 requirements?
The typical use-case would be that the user leaves the device lying around for days or weeks and then suddenly needs a position quickly.
We could run in deep sleep and periodically wake up to look for GPS signals, we could cache the last determined position, we should invalidate it (based on lifetime? moving speed during capture?, ...) but I'm not really sure which algorithm makes most sense.
The question is how the terms quickly / 'without a delay' and 'laying around' is defined.
If 'laying around' means that it is not moving at all with no signal, last positions can be fed to the GPS to get a fix about 10 times faster than the regular cold or warm start of 27 seconds (assuming you are using the 'last' generation uBlox NEO6M Assisted Mode).
With a motion sensor, you could even detect that something is going on and switch it on right away with assisting data, and you get much quicker where you are... and as long as you get signals and it is still moving, you keep the checking on shorter intervals, and when it starts to 'slow' down, you increase the intervals. I did not work with the motion sensor yet, but it could give you some help in determining useful check intervals.
Yes.. You could use something simple like a SW18010P - it just shorts out whenever there is vibration, needs no power, and is sensitive enough that just picking it up anything more than a gently could trigger it.
Simplest thing with that would be to keep using GPS for 10 minutes after the last vibration, and start next time there is... It'd be nice and simple :)
@Dennis, in unrelated post, Moveable Type Ltd's page was referenced... and you find neat stuff useful w/ GPS on it: Useful scripts:.
Thank you guys, the idea with the motion sensor is brilliant! I think this is just what I need. So Espruino can sleep most of the time and wake up when it's moved, to obtain a new position. What a pity that all the interesting components have to be ordered from China which takes so long...
@allObjects, can you point me to how to feed the last position to the GPS and make it initialize faster? I wasn't able to find that...
Assuming you have the uBlox 6 module...
Here are a few standard nmea sentences .
Don't worry about formatting, just type in the text and we'll take care of making sense of it. We will auto-convert links, and if you put asterisks around words we will make them bold.
For a full reference visit the Markdown syntax.
© Espruino, powered by microcosm.
Report a problem