thinx-firmware
v0.1.8
Published
THiNX IoT Remote Device Management client library
Downloads
5
Readme
THiNX Lib (JavaScript)
JavaScript client library for Remote Things Management using THiNX platform. Connects to WiFI and reports to main THiNX server; or through thinx-connect proxy, if found on your local network.
What's New
- Example of Slack webhook as Status Transformer
Installation
QuickStart
- Fork the base repository.
- Edit configuration file in
conf/config.json
. - Start with
node test.js
Using NPM
- Install the node package:
npm install thinx-firmware
- Create ./conf/config.json file and insert your THiNX API Key and Owner ID
- Run following code:
var thinx = require('thinx-firmware');
var defaults = require("./conf/config.json");
thinx.init(defaults.thinx.api_key, defaults.thinx.owner);
thinx.setCheckinCallback(function() {
console.log("Checkin completed.");
});
Configurations Priority
JavaScript version of the library expects device to be already configured for network connections.
THiNXLib is built with null default values (mostly).
THiNXLib is configured from thinx.json file.
Additional data are saved into local storage, where saved Owner ID takes precedence before user value to support OTA device migration.
On successful checkin, incoming data incl. UDID (unique device identifier) and Owner ID is stored for further use after reboot.
Configuration Push can be used to inject custom Environment Variables over the network, without need to have them stored anywhere in the code on the device (e.g. WiFi credentials)
Finalize callback
When THiNX connects safely to network and connection is working, you'll get this callback.
thx.setCheckinCallback(function() {
/* Called after library gets connected and registered */
});
Location Support
You can update your device's location acquired e.g. by GPS module using thx.setLocation(double lat, double lon)
.
Device will be forced to checked in when you change those values.