Introduction: SureTrac - Open Source, Software Integrated GPS
At Gunner Technology we needed a special hardware module that would send GPS coordinates (particularly GPRMC NMEA sentences) to our server every few seconds. We didn't find any solutions that satisfied our requirements, and when we saw the Onion Omega released we jumped and started developing with it. The final product is called SureTrac.
There are two models of our GPS modules - the first one which uses an Adafruit Ultimate GPS and the second which uses an Onion Omega GPS expansion module.
The SureTrac will poll and upload the GPS coordinates at whatever rate you set in the settings - by default we use 1 Hz - and HTTP POST that to whichever server URL you set in the settings.
For both versions you will need:
- An Onion Omega
- An Onion Breakout Board
- Cables to connect everything
IF you are going the Adafruit route
- An Onion Arduino Dock OR Arduino Uno
- An Adafruit Ultimate GPS
IF you are going the Expansion Route
- An Onion GPS Expansion
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: Wire the SureTrac
GPS Expansion Route
- Plug in the GPS expansion into the breakout board by USB
- Place the Onion onto the breakout board
- Connect the Omega to your computer via USB for programming
First we need to wire up the GPS to the Arduino
On the GPS we need four pins - TX, RX, GND, VIN
They go as so to the Arduino:
- TX -> Digital 3
- RX -> Digital 2
- VIN -> 5v - can also go to one of the 5v on the Onion
- GND -> GND - can also go to one of the GND's on the Onion
Next we need to wire the Arduino to the Onion.
- Arduino VIN to one of the 5v on the Onion
- Arduino GND (one next to VIN) to one of the GND's on the Onion
- Arduino A4 to Omega GPIO 21
- Arduino A5 to Omega GPIO 20
Make sure the Omega is on the Onion Breakout, then all you need to do is plug the Omega into your computer via USB for programming.
Step 2: Code
All the code is on Github and ready to go - in the code there are really only two variables that need to be configured, refresh rate and the server URL.
Detailed procedures for programming the project are available in the repository:
Example Server: https://github.com/gunnertech/SureTrac_Example_Server