@samtec-ash/resindevicesdk
v1.1.1
Published
Enables device to communicate with Resin Supervisor
Downloads
10
Keywords
Readme
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