You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Bertrand Lemasle ffc030d011 Moved defines and include around 6 years ago
.vscode Moved all source files inside a src folder 6 years ago
src Moved defines and include around 6 years ago
.editorconfig Started building major bricks and global algorithm 7 years ago
.gitignore Moved files around for vscode 6 years ago
LICENSE.md Added LICENSE.md 6 years ago
README.md Started to lay down some info in README.md 6 years ago
gpstracker.code-workspace Added workspace to scm 6 years ago

README.md

High autonomy automatic GPS tracker system.

This project aims to provides an autonomous GPS tracker system based on an Arduino as the central unit. Battery saving has been incorporated into every step of the design.

Features

The device will fetch and save GPS position and device metrics at regular intervals. Those intervals are dynamiccaly adjusted to try to find the best compromise between accurate tracking of a moving target and battery saving. Additionaly, all those data can be send to an HTTP(S) based web server.

Requirements

Hardware

The project has been build on a ATMega328p for its ease of use, low power consumption and wide support, being at the core of the Arduino UNO. The downside is a relativly limited space. That space gets filled almost completly by the project in its current state, leaving very few possibilities for further improvments and features. Even adding Serial debugging statements can sometimes be impossible.

Appart from the main ATMega328p, several chips are needed :

  • SIM808 : GPRS & GPS module.
  • DS3231 : Real Time Clock, used for time keeping and battery saving.
  • 24LCxxx : EEPROM used to buffer raw data before sending.

Additional Librairies

On top of the hardware librairies, the project use two libraries :

Building the hardware

Using standard Arduino materials

This project can be build using standard Arduino materials and shields. For instance, you can use an Arduino UNO with an Adafruit FONA shield. This should only be done for testing and debugging purpose though, as both are very energy inefficient, and will rapidly consumes all your battery life.

Using a dedicated board

For optimum energy consumption, a double-sided, surface mounted circuit board has been engineered. Taking that path requires some fine soldering skills : the SIM808 package can be quite hard to solder by hand.

Configuration

The projects currently use 9 arduino “named” pins on the ATMega. There are all listed in Pins.h.

How does it work ?

TODO : description of the general principles of the tracker. Which components are used and why/when ?

Limitations

An SD card was firt intended to be used for logging, data saving and configuration purposes. Due to the limited space available on an ATMega328p (32k), it has been removed early in the development process. Parts of the intended code (using SdFat) is still in the repository, buts its use has been disabled.