Introduction: LinkIt ONE GPS Tracker

This topic is to demonstrate how to build a GPS tracker using LinkIt ONE board. LinkIt ONE is a co-designed product byMediaTek and Seeed Studio, aimed at maker community and wearable / IoT market.

LinkIt ONE contains complete communication ability such as Wifi, Bluetooth, GPS and GPRS, I think these are most needed by IoT developers.

This project will show how to upload LinkIt ONE's GPS to MediaTek Cloud Sandboxserver (MCS), you can view this data through web browser or Android app. MCS is the exclusive cloud service for LinkIt ONE. By the Device ID and Device Key, the board can connect to MCS everywhere, not just be constrained in the LAN.

Step 1: LinkIt ONE: Front View

As you can see, the layout of LinkIt ONE is just like Arduino UNO, which means you can add almost every shield onto LinkIt ONE.

On the left hand is the micro USB port, just connect it to your PC and it will be assigned two COM ports.

LinkIt ONE has an audio I/O jack on the top-left, you can listen to music or even make a phone call (SIM card needed, of course).

At the bottom-left is the battery jack. Just connect the rechargeable battery and your LinkIt ONE becomes a standalone system.

Step 2: LinkIt ONE: Back View

At the back side, you can see three antenna connectors, don't get confused! They had clearly stated on the board also the words are pretty small.

At the left hand side is the SD/ SIM card slot.

Step 3: Wifi/ Bluetooth Antenna

LinkIt ONE got its Wifi and Bluetooth feature into one single antenna.

For Wifi, you simply enter the AP name and password into the sketch, LinkIt ONE will try to connect to this AP automatically, easy~

For bluetooth, LinkIt ONE surpport Bluetooth 2.1 and 4.0(BLE).

Step 4: GPS Antenna

Just connect it to your LinkIt ONE, your board will have GPS positioning ability.

Step 5: GPRS Antenna

This is the GPRS antenna, you must get a SIM card to use these features: phonecall, SMS and 3G network.

Notice: LinkIt ONE supports 2G network only, but you can always get a 3G SIM card which also supports 2G network.

Step 6: Rechargeable Battery

LinkIt ONE has a 1000 mAh Li-ion battery, you can plug it to LinkIt ONE to provide power.

Step 7: MediaTek Cloud Sandbox

Please register an account (free, of course!) MediaTek Cloud Sandbox website, then create one prototype. In a prototype you can define data channels, configure notification user privilege, and firmware. Then create data channels for the test device. You can have as many prototypes and test devices as you like for different purposes.

For this project, we have three data channels for GPS (Google Map embedded), lattitude (float) and longitude (float).

You can follow MediaTek Lab's tutorial for more details.

Step 8:

Upload the code at STEP 1. You can open your MCS page by browser.

After about tow minutes, you can see the GPS data is uploaded to your MCS. Come on and get a LinkIt ONE!

More interesting topics: http://www.cavedu.com

Comments

author
ManishP16 made it!(author)2017-03-17

thanks buddy.
it helped a lot.

author
ajaoomokeji made it!(author)2015-10-25

Can i puschase the board from Nigeria

author
PhilippeG1 made it!(author)2015-10-20

Si vous utilisez des librairies arduino non compatibles, vous Aurez des Erreurs de compilations

author
PhilippeG1 made it!(author)2015-10-20

A NOTER: when je ouvre les croquis Directement Dans ce répertoire Puis tente de les compilateur, je ai systématiquement des Erreurs de compilations. Ce Qui Fonctionne, ce est de les ailleurs de copieur et de les Ouvrir salle Avec l'IDE. La Ca compiler ... Fait n'utilisez pas le «carnet de croquis» DEPUIS le menu 'Fichier' de l'IDE.


NOTE: when I open the sketches directly into this directory and then attempts to compile, I have systematically compilations errors. What works is to copy them elsewhere and then open them with the IDE. Here it compiles ... so do not use the 'sketchbook' from the 'File' menu of the IDE.

author
earlvanze made it!(author)2015-08-08

Why am I getting all of these errors in compiling? I've commented out a bunch of references to:
int err = http.skipResponseHeaders();

int bodyLen = http.contentLength();

And decommented LWiFiClient c; and commented LGPRSClient c; in order to use Wi-Fi, but there's still a lot of errors:

Arduino: 1.5.7 (Mac OS X), Board: "LinkIt ONE"

LinkIt_MCS_20150114.ino:45:19: error: no matching function for call to 'HttpClient::HttpClient(LWiFiClient&)'

LinkIt_MCS_20150114.ino:45:19: note: candidates are:

In file included from LinkIt_MCS_20150114.ino:6:0:

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: HttpClient::HttpClient()

HttpClient();

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: candidate expects 0 arguments, 1 provided

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: HttpClient::HttpClient(const HttpClient&)

class HttpClient : public Process {

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: no known conversion for argument 1 from 'LWiFiClient' to 'const HttpClient&'

upload.ino: In function 'void uploadstatus()':

upload.ino:17:21: error: no matching function for call to 'HttpClient::HttpClient(LWiFiClient&)'

upload.ino:17:21: note: candidates are:

In file included from LinkIt_MCS_20150114.ino:6:0:

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: HttpClient::HttpClient()

HttpClient();

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: candidate expects 0 arguments, 1 provided

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: HttpClient::HttpClient(const HttpClient&)

class HttpClient : public Process {

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: no known conversion for argument 1 from 'LWiFiClient' to 'const HttpClient&'

upload.ino: In function 'void uploadGPS()':

upload.ino:79:21: error: no matching function for call to 'HttpClient::HttpClient(LWiFiClient&)'

upload.ino:79:21: note: candidates are:

In file included from LinkIt_MCS_20150114.ino:6:0:

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: HttpClient::HttpClient()

HttpClient();

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:26:5: note: candidate expects 0 arguments, 1 provided

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: HttpClient::HttpClient(const HttpClient&)

class HttpClient : public Process {

^

/Applications/Arduino 1.5.7.app/Contents/Java/libraries/Bridge/src/HttpClient.h:24:7: note: no known conversion for argument 1 from 'LWiFiClient' to 'const HttpClient&'

This report would have more information with

"Show verbose output during compilation"

enabled in File > Preferences.

author
tattoo4electronics made it!(author)2015-08-02

I love your instructables. But I cannot get it to update in MCS. I got the Latitude, longtitude and altitude to display on serial montior. but cannot provide tracking in MCS. please help update code or update your instructables. thank you.

author
%E5%85%83%E5%82%91%E9%84%AD made it!(author)2015-05-08

I made it and I found out some change.

Sandbox GPS upload form have changed -> String data = "location,,12,13,14"
Now I need to upload "Latitude" + "Longitude" + "Altitude"

Altitude could detect from GPS
I change bellow
void parseGPGGA(const char* GPGGAstr)

{
......
tmp = getComma(2, GPGGAstr);
latitude = getDoubleNumber(&GPGGAstr[tmp]);

tmp = getComma(4, GPGGAstr);
longitude = getDoubleNumber(&GPGGAstr[tmp]);
tmp = getComma(9, GPGGAstr);
altitude = getDoubleNumber(&GPGGAstr[tmp]);
sprintf(buff, "latitude = %10.4f, longitude = %10.4f,altitude = %10.4f", latitude, longitude, altitude);
Serial.println(buff);

.......
}

linkit_test.jpg
author
tattoo4electronics made it!(author)2015-08-02

Hi could you please help? Can you please provide your entire code for the gps?

I got it working on serial moniter but it does not update in MCS?

please help. I would appreciate it.

About This Instructable

20,445views

69favorites

License:

More by cavedu:DFRobot LattePanda With Microsoft Azure - Getting StartedIBM TJbot Construction Guide - CAVEDU Modified[LinkIt ONE] GPS Tracker + MediaTek Cloud Sandbox tutorial
Add instructable to: