Feasibility of GPS tracker with lots of functionality

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

I don't see why this cannot be achieved with an Arduino. The final type depends on the code size (flash size).

gspwut.jpg

If you can't find the search box, there's no way this is feasible.

As for whether the HW is up to the task, the Pi is certainly capable, and an Arduino could be capable if you are careful.

It sounds like you want to developing some hardware. What are your electronic skills?
You will have to develop software. What are your embedded programming skills?

The "system" you have in mind is composed of several advanced sub-projects, including packaging and installation, which you don't mention.

But first, you will have to learn how to search. Look in the upper-right corner of this page, or Google "arduino gps gprs SMS". Then mix-and-match other terms like SMS, web, IoT, 12V power, reduce RAM usage, etc. Armed with that knowledge, you will have more specific questions that we can answer. It is more difficult to answer system-level questions than subproject-level questions. It takes more time to think and respond, and fewer people will have experience with all the subprojects.

Cheers,
/dev

Hi,
Several good points

  • Wasn’t looking for forum search box in the page header but in the frame where the forum loads … I blame it on the low contrast between header colour and the search box colour. /facepalm
  • Third word into the title of my first post here and I already have a typo ... it’s indeed GPS, not GSP ... fixed. /facepalm

My electronic and programming skills: I have a bachelor degree in electronics where one of my theses was developing hardware & software for an embedded device. My career went entirely in the direction of ICT so it’s been about a decade and a half ago I did anything real with electronics and the larger part of programming I still need to do is scripting and web-application maintenance.

This could very well be the Dunning-Kruger effect speaking but I do think that this project is still possible with my skillset (and yes, I know those two facepalms are not encouraging :stuck_out_tongue: )

Anyway, back on topic.
Both you and DrDiettrich say this should be possible with an Arduino. Worst think that can happen is that I lose some money on hardware I can’t get working and get a dent in my ego.

Thank you both for your reply.

Wim.