8000 GitHub - arduino/iot-client-js at 15f4d00c0cd31755cc1b28e6464cd19fe60bc11d
[go: up one dir, main page]

Skip to content

arduino/iot-client-js

Repository files navigation

Arduino iot-api Javascript client

Installation

For the time being and untile we publish a package on Npm, install it via:

git clone git@github.com:bcmi-labs/iot-api-client-js.git
cd iot-api-client-js
npm install
npm run build
npm link

Then, go to your project folder and

npm link iot_api

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var IotApi = req
89E7
uire('iot_api');

var client = IotApi.ApiClient.instance;
// Configure OAuth2 access token for authorization: oauth2
var oauth2 = client.authentications['oauth2'];
oauth2.accessToken = "YOUR ACCESS TOKEN";

var api = new IotApi.DevicesV2Api(client);
api.devicesV2List(null).then(devices => {
  console.log(devices);
}, error => {
  console.error(error);
});

For a working example, see the example folder in this repo.

Authentication

The client requires a valid OAuth2 access token, you can get one like this:

var rp = require('request-promise');

var options = {
    method: 'POST',
    url: 'https://login.arduino.cc/oauth/token',
    headers: { 'content-type': 'application/x-www-form-urlencoded' },
    json: true,
    form: {
        grant_type: 'client_credentials',
        client_id: 'YOUR_CLIENT_ID',
        client_secret: 'YOUR_CLIENT_SECRET',
        audience: 'https://api2.arduino.cc/iot'
    }
};

try {
    const response = await rp(options);
    console.log("Access token: " + response['access_token']);
}
catch (error) {
    console.error("Failed getting an access token: " + error)
}

About

Javascript client for Arduino IoT API

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8

0