TUTORIALS 》 GPS Geo-tracking system using LinkIt ONE
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
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)
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)
- 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)
Join The Linux Channel :: Facebook Group ↗
Visit The Linux Channel :: on Youtube ↗
💗 Help shape the future: Sponsor/Donate
To do the same you have to register (and include) your custom Kernel Module's Kconfig and Makefile to the existing Kconfig and Makefile of the Linux Kernel source Here is a detailed multi-episode video of mine which gives the overall idea and the big-picture.
> Linux founder tells Intel to stop inventing 'magic instructions' and 'start fixing real problems'
> QNAP launches its first 2.5GbE network switch - QSW-1105-5T
> Japan's ARM-based Fugaku is the world's fastest supercomputer
> FreeBSD Back To Seeing Progress On 802.11ac WiFi Support, Ath10k Driver
> Sparkfun Launches the ZED-F9R GPS Dead Reckoning Raspberry Pi pHAT for Mobile Robots
> ODROID-N2 Plus SBC Gets Amlogic S922X Rev. C Processor Clocked at up to 2.4 GHz
> Rock Pi E SBC Comes with WiFi, Bluetooth, Two Ethernet Ports, and Optional PoE