Z-Control GPS-Localizer

From openPicus Wiki
Jump to: navigation, search



Imagine you have left your car somewhere or someone has taken your car without your permission.
If you this "GPRS position tracker" installed in your car (also works on a boat on a lake or a bike etc.), you will be able to find it with your Smartphone!
Just send a secret word by SMS to your "GPRS tracker" and it will send you back a link allowing you to locate it immediately on your Smartphone map!



The GPRS tracker firmware will be in standby until a SMS message is received.
There are two messages pre-programmed in the GPRS tracker, "Apos" will return the iPhone format position, "Gpos" will return a Google map link.
The GPRS tracker does not need a phone number to return the SMS to, it will identify the phone number from the phone who sent the message and reply with the position to the same phone.
The only requirement is that the phone is powered up and installed at a location where it can receive GPS data and where it has connection to the GPRS network.
An OLED display connected to the GROVE board will indicate the “GPRS tracker” status, i.e. if a networks is available and connected and if a GPS signal is available.


  • Grove module with GPRS module and an active sim-card installed.
  • Grove GPS module connected to DIG2 Port
  • Grove OLED module connected to I2C Port
  • Correct power supply to power the GPRS module (USB power is not always working!)

OLED information

Once started, the GPS-Tracker will wait until it has a valid GPS data indicating it is "waiting for satellite". Once the position is known, it will indicate the GPS position, GMT time and Speed on the OLED display.

If no GPS module is connected to the Grove board, this will also be indicated on the OLED display.

If a valid message was received, the OLED will indicate when an SMS was sent and to which number. OLED starting display OLED display with locked GPS.


SMS messages

Two formats of map application are supported iPhone map and Google map.

  • Sending "Apos" will return the position in iPhone map format.
  • Sending "Gpos" will return the position in Google map format.

The phone number to use is the one of your GPRS sim-card, so you need to remember this one in order to communicate. Once you send a message from your Smartphone to your GPRS tracker, it will automatically return an SMS within a couple of seconds, you will then just need to click on the link received.
This will automatically open the correct application and center the map to the received position.

! No position will be returned if a wrong key-word is received. This means the key-word acts as a password at the same time. A wrong message will just be ignored, also saving SMS costs that would occur if we are sending a message each time a wrong message is received, but it is possible to change the code to answer each call.


Connected to the your PC during programming, the GPRS module will be able to send a position to your mobile phone, this allows testing the communication before going out in the field. In order to use the debugging mode, you will need to program your personal phone number in line 21 of "taskFlyport.c". Once this is done, you can enter the two commands on the Serial console, same as you would send an SMS.


All code is included in the attached ZIP file. The GPRS tracker uses standard Grove libraries, all the customized code is included inside TaskFlyport.c, and minor addition was made to GSM_Event.c in order to display the status of the GPRS on the OLED display. The documents used to create the code are included under the doc folder inside the ZIP file.
Here is Source Code

Rolf Ziegler
February 2014

Personal tools