Demo: https://wiaio.github.io/wia-location-tracker-example-web/
Project Requirements- Node.js and NPM must be installed. How to install Node.js on a Raspberry Pi: http://blog.wia.io/installing-node-js-on-a-raspberry-pi-3
- A Wia account. You can create one for free here: https://www.wia.io/signup
- First thing you will want to do is to create a folder on your location device. Let's call it
wia-location-device
.
- Go into the folder and initialize the project by creating a package.json file using the command "
npm init
" (use defaults for everything).
- Install the Wia SDK using the command "
npm install --save wia
".
- Your
package.json
file should look something like the code below.
{
"name": "wia-location-device",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Your Name Here",
"license": "ISC",
"dependencies": {
"wia": "^1.3.3"
}
}
Creating your Location Tracking Device- Go to the Wia dashboard and select Devices.
- From here, click on the + symbol and the Add New Device modal will appear.
- Enter 'Location Device' as the name and click Add Device.
- Click on View device to go to the device's overview page.
- Take a note of the device's secret key, we'll need this later.
- We need to create a file for our program, let's call it
index.js
- Copy the code from the example below add to the
index.js
file.
- Replace the
device-secret-key
on line 3 with your device's secret key that you made a note of earlier.
- Now to test that you have done your setup correctly, simply run
node index.js
- Your device should have updated in the dashboard under the Location tab, with your sensor readings. You can also view in in real-time in the Debugger tab.
'use strict'
var wia = require('wia')('Your secret key');
// collection of cities
var cities = [{"city":"Dublin","lat":"53.349805","lng":"-6.260310"},
{"city":"London","lat":"51.5013673","lng":"-0.1440787"},
{"city":"Paris","lat":"48.8922431","lng":"2.2380753"},
{"city":"Toronto","lat":"43.6426731","lng":"-79.3928402"}];
// Using the MQTT stream
wia.stream.on('connect', function() {
console.log('Stream connected!');
// randomly choosing city location to publish
var random = Math.floor(Math.random() * 4);
var randomcity = cities[random];
// setting the interval at which to publish location i.e. every second
setInterval(function() {
// function to publish location data
wia.locations.publish(
{
"latitude": randomcity.lat,
"longitude": randomcity.lng,
"altitude": 2
},
function(err, published) {
if (err) console.log(err);
if (published) console.log("Location published.");
}
);
}, 1000);
});
wia.stream.connect();
We’ve included a folder in the project files which contains the Wia JavaScript SDK and the basic template for the location tracking app, index.html
.
- First thing we need to do is initialize our application with an application key from the Wia Dashboard. So, go to My account and then go to the Applications tab.
- Click the Create Application Key button and give your application a name (e.g. Location Tracker) and select the type Desktop from the dropdown menu.
- Next, update the initialize function by replacing the placeholder with our new application key.
- Now let’s update the “
Device Id
” placeholder in theWia.locations.subscribe
function with our “Device Id
” from the Wia dashboard. This can be located in under the name of our device in the device list, in the page header, or finally in the Settings tab of our device.
- Now if you copy the path of your
index.html
file and open it in Google Chrome, we should see a live feed from our weather device.
Cormac Chisholm
4 projects • 23 followers
Hi there! My name is Cormac and I'm a Software Developer at Wia. Wia provides Full stack for the Internet of Things. We bring your ideas to life in minutes.
Comments