Hi,
No doubt this question has already been asked but I couldn’t find a search function in this forum, hence this post.
I’m looking for a stand-alone GSP tracker and I’m not happy with the ones who are commercially available. Those seem to either sorely lack in functionality, their mention of ‘stand-alone’ means they’re still cloud based (read: you need a monthly/yearly subscription) with the only difference that it’s not part of a fleet, only work/are only available in the US (I’m located in Europe) or cost an arm and a leg.
So now I’m looking to create one myself using either a Raspberry pi or Arduino but with all the functionality I have in mind I don’t know if the hardware/software capabilities/possibilities are up to the task.
So my question is the following: is it feasible to build a GSP tracker with an Arduino a GPRS+GPS shield and perhaps some kind of accelerometer with functionality described below.
- Low power consumption with only a timer running, accelerometer monitoring and sms functionality.
- Normal operation = 1 update every 24h using (Com mode1)
- When normal operation detects significant displacement (gps coordinates) from previous position, send update (once Com mode2, then Com mode1) and switch to frequent update mode
- When accelerometer detects movement, send immediate update (once Com mode2, then Com mode1) and switch to frequent update mode
- When coordinates indicate a position outside the predetermined geofence, switch to high frequency update (Com mode2)
- When main power source is disconnected (automatic switch to internal power source using ultracapacitors) switch to high frequency update (Com mode2)
- After X amount of time the main power has been disconnected, switch to frequent update (hardcoded value, dependant on how long internal power source can last)
- accept SMS commands from one or more preprogramed numbers
- stop all monitor activity (except sms commands)
- start all monitor activity and go to normal operation (forget temporary number if any were set)
- disable GPRS function (reduce roaming costs or absent webserver)
- enable GPRS function
- get webserver ip or domain (answer with sms)
- set webserver ip or domain
- switch to high frequency update
- switch to high frequency update and send additional SMS update to this temporary number
- list preprogrammed numbers with index (answer with sms)
- remove preprogrammed number (using index)
- add preprogrammed number
- remove all geofence (read: no geofence monitoring anymore)
- add geofence area (longitude, latitude and radius ... and/or elipse, and/or rectangle … whatever is feasible)
Note: multiple geofence area’s need to be possible
Optional sms command: get config (read: equivalent of the above commands) from webserver [the reason for this is that it becomes MUCH easier to set for example the geofence data as it can then be done with a web gui interface instead of manually typing gps coordinates with sms]
-
Com mode1: send data using GPRS to webserver (ip or domain) or if fail use SMS to one or more preprogramed numbers
-
Com mode2: send data using GPRS to webserver (ip or domain) and SMS to one or more preprogramed numbers
-
normal frequency = once every 24h
-
frequent update = once every 30min
-
high frequency update = once every 3 min (no longer power down GPS module between updates)
Is this the above possible with an arduino?
Any advice, death threats, remarks, criticism or additional ideas are always welcome.
Thanks in advance,
WimG
