Android Gps And Imu Logger With The Tactigon
About the project
Connect The Tactigon to a GROVE GPS breakout board and send position and euler angles to an Android device for portable data logging
Project info
Difficulty: Difficult
Estimated time: 1 hour
License: GNU General Public License, version 3 or later (GPL3+)
Items used in this project
Hardware components
Story
We connected a GROVE GPS to The Tactigon, to pair position data to Euler's Angles. Libraries offers both Bluetooth Low Energy and Serial communication, so we connected the GPS using UART and we used Bluetooth Low Energy to transmit data to our Android Smartphone, programmed using Processing Android Mode.
KML - Keyhole Markup Language
To format gathered data we used KML files, since we needed a way to pair Global Position data with parameters read by sensors on board (in this case Euler's angles, Pitch, Roll and Yaw). KML format is use4d by Google Earth, Google Maps and many other software to share paths, positions, and is broadly used by programmers. KML file generated by our application is structured as follow:
<Placemark>
<name>172043.0</name>
<ExtendedData>
<Dataname="Roll">
<value>-140.57332°</value>
</Data>
<Dataname="Pitch">
<value>18.839018°</value>
</Data>
<Dataname="Yaw">
<value>-91.80548°</value>
</Data>
</ExtendedData>
<Point>
<coordinates>9.385868,45.57182,0.0</coordinates>
</Point>
</Placemark>
Placemark tag identify our point over the map. This point has a name (<name> tag, we used the UTC timestamp), a point made of geographic coordinates (latitude and longitude, <Point> tag), in DD format, and related data, <ExtendedData>, where in our application are Roll, Pitch and Yaw values recorded in the current position. This format describes now a series of points with all the informations we wanted to monitor, readable with free tools.
In the following images, we can see the path and a point detail, showing Roll, Pitch and Yaw.
Communication - UART - BLE - Arduino Sketch
The Tactigon is connected to GPS Receiver by a serial port, UART, and thanks to The Tactigon's Library is possible to pair a callback triggered by each byte received.
We created a buffer, analyzed when an endline value is retrieved. The sketch parses the lines and grabs latitude and longitude.
Bluetooth Low Energy is used to transmit data (GPS and Angles) to a BLE Central Device, in our case an Android Smartphone.
Android - Logging
Processing code receives data from The Tactigon and log it in KML format file in the internal storage.
We used BLEPDROID library to use Bluetooth Low Energy with Processing Android Mode.
Schematics, diagrams and documents
Code
Credits
The Tactigon
The Tactigon is a brand of Next Industries Milano. Next Industries is a born of a passion to develop devices and sensors fit for Iot Technology. Our team is made of incredible experts in movement detection for big structural monitoring systems, software development and wearable device.
Leave your feedback...