@samtec-ash/resindevicesdk

1.1.1 • Public • Published

Resin Device SDK

Overview

Enables device application to interact with Resin Supervisor API in Node.js.
This is essentially a wrapper for Resin's Device Supervisor Agent HTTP API.

Supports running commands both locally from the device or remote. For remote, address will be https://api.resin.io/supervisor.

Class ResinDeviceSDK

Available methods:

  • setSupervisorSettings
  • getDeviceOnline
  • getAppStatus (V1)
  • getDeviceStatus (V1)
  • performBlink (V1)
  • performUpdate (V1)
  • performReboot (V1)
  • performShutdown (V1)
  • performPurgeData (V1)
  • performAppStart (V1)
  • performAppStop (V1)
  • performRestart (V1)
  • performAppPurgeData (V2)
  • getServiceState (V2)
  • getAppState (V2)
  • performRestartService (V2)
  • performAppRestart (V2)
  • performStopService (V2)
  • performStartService (V2)

Usage

Installation

# Add package to project
yarn add @samtec-ash/resindevicesdk

Example:

import { ResinDeviceSDK } from '@samtec-ash/resindevicesdk';

async function deviceTest(device) {
  const isOnline = await device.getDeviceOnline();
  if (isOnline) {
    const deviceStatus = await device.getDeviceStatus();
    const { status } = deviceStatus;
    console.log(`App status is ${status}.`);
    await device.performBlink();
    console.log(`LED on board will blink for 15 sec.`);
  }  
}

const config = {
  address: process.env.RESIN_SUPERVISOR_ADDRESS,
  apiKey: null,
  appId: process.env.RESIN_APP_ID,
  authToken: process.env.RESIN_SUPERVISOR_AUTH_TOKEN,
  deviceUUID: process.env.RESIN_DEVICE_UUID
};
const device = new ResinDeviceSDK(config);  
deviceTest(device).then(() => {
  console.log('Success');
}).catch((err) => {
  console.log(`Received following error ${err}`);
});

Development

Building

yarn run prepublish

API

The autogenerated API can be accessed in following mediums:

Publishing

New versions are published to npmjs.com. BitBucket Pipelines is used to build, test, stage, & deploy. Refer to the pipeline configuration.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Adam Page

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Readme

Keywords

none

Package Sidebar

Install

npm i @samtec-ash/resindevicesdk

Weekly Downloads

1

Version

1.1.1

License

MIT

Unpacked Size

49.3 kB

Total Files

14

Last publish

Collaborators

  • nelson_a_penn_samtec
  • julianlechner
  • nathanpage
  • adamtec
  • virtchris