The Linux Channel

TUTORIALS :: GPS Geo-tracking system using LinkIt ONE

Written by: M.Saravanan, edited by Kiran Kankipati - Published: 11-Jan-2017

The LinkIt ONE development platform is an open source, high performance board for prototyping Wearables and IoT devices. It is based on MediaTek Aster (MT2502) combined with high performance Wi-Fi (MT5931) and GPS (MT3332) chipsets. It also provides similar pin-out features to Arduino boards, making it easy to connect various sensors, peripherals, and Arduino shields. LinkIt ONE is an all-in-one prototyping board for IoT/wearables devices. Integrating GSM, GPRS, Wi-Fi, GPS, Bluetooth features into a basic Arduino form factor.

LinkIt ONE :: SKU 102030002 LinkIt ONE :: SKU 102030002 LinkIt ONE :: SKU 102030002

* image courtesy LinkIt ONE
* For more details visit: Seeed Studio :: LinkIt ONE
* Product wiki: LinkIt ONE Introduction


Project Introduction: This is the simple project which let you track any vehicle movement, live by using GPS coordinates to be plotted into Google maps, using Google maps api. Right now in this prototype its implemented as one single trip will be monitored and this can be further extended to store and monitor multiple trips based on requirements.

Architecture overview: There were three main entities involved in the whole process as shown below:

  • LinkIt ONE board
  • Cloud server (123systems, DigitalOcean, Amazon EC2, etc)
  • Web browser (mobile,client computer, etc)

GPS Geo-tracking system using LinkIt ONE board3
GPS Geo-tracking system using LinkIt ONE board2
GPS Geo-tracking system using LinkIt ONE board5
GPS Geo-tracking system using LinkIt ONE board1
GPS Geo-tracking system using LinkIt ONE board4

GPS Geo-tracking system using LinkIt ONE setup

Linkit ONE Board: We have to deploy the code here which should receive GPS data as gpsSentenceInfoStruct, parse with comma separated value and upload into cloud server with predefined interval. (Ex: Udp.beginPacket(gpsReceiver, 1234);) (Fileused: gps_gprs.ino)

Cloud server:

  • Receive and update data into text file: In cloud server its expected, udp server is listening in port 1234 and whenever it receives data from Linkit ONE board it just updates the received data into text file “track.txt” with newline for every entry. This is done in track_udpserver.c (Ex: 2017-1-8,7:4:39,12.924245,77.648439,902.70,0.73,-88.50,282.93,0.00,0.00,1,13)
  • Exposing the data into maps as a web service: Using jquery (jquery-3.1.0.min.js) the track.txt file has to be parsed and plotted into Google maps using maps.googleapis. (This is done in track.php). And php has to be configured and run using apache web server. (Fileused: track.php, track_udpserver.c)

Web browser: This is just any web browser from client system, has to point to the web server ip address with track.php and input and track.txt as parameter to php. (Ex URL: http://x.y.z.a:801/maps/track.php?file=track.txt)

GPS Geo-tracking system using LinkIt ONE tracking on Google Maps

* All the mentioned code can be downloaded HERE for reference. Kindly contact me back for any further queries.


References:


Featured Video:

(API) Watch Video: 0x1a9 Become a Windows or a Linux Programmer ? || The Linux Channel
0x1a9 Become a Windows or a Linux Programmer ? || The Linux Channel
* Click the image to watch this video on Youtube ↗


Suggested Topics:


Network Software Development:
C code to check valid IP Address (IPv4) - Live Demo and Example ↗
18-Jun-2018

Bufferbloat in a Networking Device or an Appliance ↗
27-Jun-2018

iPerf tool - for network channel analysis, bandwidth tests and system & network benchmarking ↗
04-Jul-2018

Introduction to Network Processors (NPU) ↗
03-Nov-2019

Data-Plane and Control-Plane of a Networking Device ↗
30-Oct-2019

UDP sample socket code for Systems and Network software developers ↗
02-Feb-2017

Network MTU and Path MTU Discovery PMTUD - WAN and Internet Performance Optimization ↗
30-Jan-2019

Tail Drop - by Network Schedulers to Drop Packets in Network Appliances ↗
27-Jun-2018


Research and Projects:
Data Profiling and Visual Analysis tool for Deep Learning and AI - VLOG - The Linux Channel ↗
21-Jun-2018

CYRIL INGÉNIERIE - CoreFreq Linux CPU monitoring software ↗
19-Jun-2018

Difference between Intel Xeon Server vs Desktop Core i7 vs Intel Mobile Atom vs ARM Processors ↗
19-Jun-2018

Research Socket overhead in Linux vs Message Queues and benchmarking ↗
21-Jun-2017

Tour of my new Home Networking Lab within VirtualBox VM ↗
16-May-2017


Linux (user-space), Systems Architecture:
Coding a simple look-up-table in C - without Linked lists and a binary search ↗
17-Jun-2018

Linux user-space - Shared Memory IPC - Live Demo and Example ↗
18-Jul-2018

A Linux system call in C without a standard library ↗
10-Mar-2017

Linux user-space Pthread Synchronization via Mutex - Live Demo and Example ↗
03-Jun-2018

Dynamic linking without STDLIB in Linux user-space C programming ↗
05-May-2017

Linux user-space Atomic Operations via GCC Atomic builtins ↗
22-Mar-2017

C code to read a /proc file in Linux user-space - Live Demo and Example ↗
11-Jun-2018

Synchronization in Linux user-space - Architecting multi-process and multi-threads ↗
18-Sep-2018


Linux Kernel Software Development:
KERNEL - The Linux Channel - a High Performance Linux Kernel ↗
12-Dec-2018

Tracking Linux Kernel bugs in Kernel.org Bugzilla (or Bugzee as we call it in the Industry) ↗
24-Sep-2018

Linux Networking Stack :: RFS: Receive Flow Steering ↗
09-Dec-2017

Tracking code changes in Linux Kernel Source code ↗
19-Nov-2018

Kernel customization via make menuconfig - Linux Kernel Compilation (or a Kernel Build) ↗
11-Jul-2018

How to upgrade or install a latest current release Linux Kernel version manually in Ubuntu? ↗
05-Jan-2018

How to submit your Linux Kernel Patch ↗
07-Feb-2017


Linux Kernel Internals (PDFs) - by Ramin Farajpour:
Linux Kernel Internals :: Linux Kernel Boot Process ↗
19-Nov-2018

Linux Kernel Internals :: Linux Kernel Development ↗
03-May-2019

Linux Kernel Internals :: Implementing a Linux Kernel System Call ↗
03-May-2019


Software Development (Programming) Tools:
What is a BSP | Board Support Package | Big Picture | Embedded Systems Software Development ↗
24-Jun-2019

Bluefish IDE - a simple versatile light-weight best editor to edit kernel source files, html files, c source code, text files, SQL schema and so on. ↗
19-Jun-2018

Kompare GUI patch and diff tool in Linux ↗
19-Jun-2018

What is a Toolchain | gcc Cross-Compiler | Libraries | BSP (Board Support Package) | Embedded ↗
24-Jun-2019

SNMP and MIB Browsers ↗
12-Feb-2019


Embedded Projects:
Using a GPS Sensor ↗
28-Jul-2017

GPS Geo-tracking system using LinkIt ONE ↗
11-Jan-2017

 

Join The Linux Channel :: Facebook Group


Join a course:

💎 Linux, Kernel, Networking and Device Drivers: PDF Brochure
💎 PhD or equivalent (or Post Doctoral) looking for assistance: Details
💎 ... or unlimited life-time mentorship: Details


💗 Help shape the future: Sponsor/Donate


Recommended Topics:
MI Earphones Basic with Mic (Black)
Buy at Amazon Buy at Amazon

Featured Video:
(API) Watch Video: 0x18b Network MTU and Path MTU Discovery PMTUD | WAN and Internet Performance Optimization - Part2
0x18b Network MTU and Path MTU Discovery PMTUD | WAN and Internet Performance Optimization - Part2
* Click the image to watch this video on Youtube ↗

Download: Linux Kernel Booting_1.pdf


Trending Video:
(API) Watch Video: 0x1c4 Texas Instruments BroadBand SoC TNETV1055 MIPS32 4KEc V4.8 | BusyBox Embedded Linux | VLOG
0x1c4 Texas Instruments BroadBand SoC TNETV1055 MIPS32 4KEc V4.8 | BusyBox Embedded Linux | VLOG
* Click the image to watch this video on Youtube ↗

TUTORIALS :: Research Socket overhead in Linux vs Message Queues and benchmarking:


Linux ioctl() API interface:


Research :: Content Delivery Networks (CDN):
CDN Networks


Recommended Video:
(API) Watch Video: 0x1cf It is not HR who hires you ! #TheLinuxChannel #KiranKankipati
0x1cf It is not HR who hires you ! #TheLinuxChannel #KiranKankipati
* Click the image to watch this video on Youtube ↗