GPS Tracker with two way GSM/GPRS Communication

Hi there,

I have a need for a device that does the following:

  • Logs GPS at x interval
  • Sends the log to a GSM/GPRS module. The log is then sent via SMS/GPRS at x interval.
  • I would also need to send the GSM/GPRS module commands that would trigger a couple of relays. i.e.: ‘relay1,1’ - trigger relay 1 - and read the input from a couple of relays too.

I have done some basic research and it seems that an Arduino unit with a couple of ‘plug in’ units might fit the bill, but I’m not 100% certain.

I am an experienced programmer but have never attempted a ‘hardware’ project before (except much fun with a lego mindstorm set!).

I currently have 2 separate ‘off the shelf’ units that do what i need, but they are both a) very expensive and b) not flexible enough to do exactly what we need - limited i/o ports and programming functionality. :frowning:

I would be very interested to hear the arduino communities view on the feasibility of the project, along with any tips and advise!

Many thanks for your assistance in advance,
Chaost :slight_smile:

  • Logs GPS at x interval

Logs or reads? If you really need to log it, where?

  • Sends the log to a GSM/GPRS module. The log is then sent via SMS/GPRS at x interval.

Is that the same interval as the data is read?

  • I would also need to send the GSM/GPRS module commands that would trigger a couple of relays. i.e.: 'relay1,1' - trigger relay 1 - and read the input from a couple of relays too.

What do you expect to get when you "read the input from a relay", since a relay is an output device?

I have done some basic research and it seems that an Arduino unit with a couple of 'plug in' units might fit the bill, but I'm not 100% certain.

The "plug in units" are called shields. You need one with a GSM/GPRS module and one with a GPS module and one with a SD card reader/writer.

Feasible? Certainly. Well, at least maybe.

What are you sending SMS data to that will turn a relay on/off? Or did you mean that the Arduino would turn the relay on or off based on data received by the GSM module?

Easy? Parts of it - reading GPS data, logging that data, turning relays off or on are easy; sending/receiving SMS data is more challenging.

Hi Paul - thanks for the superfast response!

Logs or reads? If you really need to log it, where?

Reads and logs i guess - here is a project i found that creates the log by the looks of it:

http://blog.bobcravens.com/2010/08/create-a-gps-data-logger-using-the-arduino/

Is that the same interval as the data is read?

The gps data should be sent, say every minute. It is quite possible that there will be no GSM signal and so the sending of the data would fail. that's why i was considering setting up a log and purging that log every minute, so if there was no GSM signal for 5 minutes, the log would still build up and send when the GSM signal returns. Yeesh, hope that makes sense!

Or did you mean that the Arduino would turn the relay on or off based on data received by the GSM module?

Exactly That :)

sending/receiving SMS data is more challenging.

I do have some experience here - but not sure how much of it would be relevant to programming the hardware.

Easy? Parts of it - reading GPS data, logging that data, turning relays off or on are easy;

Excellent! So would you suggest i get some kits and start playing around? The Arduino community seems quite active for support.

The gps data should be sent, say every minute. It is quite possible that there will be no GSM signal and so the sending of the data would fail. that's why i was considering setting up a log and purging that log every minute, so if there was no GSM signal for 5 minutes, the log would still build up and send when the GSM signal returns. Yeesh, hope that makes sense!

So, you want to send the GPS data once a minute. If that fails, you want to log the data to send later.

Getting the data, logging the data, and sending the data are three separate activities that you can combine in any order (though getting the data should probably come first).

So would you suggest i get some kits and start playing around?

I prefer the term experimenting, but, yes. Jump in. It's fun.