[thing-it-node] is a scalable Operating System for Things and allows you to
- connect multiple Devices (e.g. Heart Rate Monitors, Sensor Tags, Drones) as well as low-level Actors and Sensors managed via Microcontrollers like an Arduino to your Device Gateway computer (e.g. a regular server, a Raspberry Pi Zero or a BeagleBone Black)
- invoke REST Services on all Devices and Actors,
- receive WebSocket Notifications on all Device, Actor and Sensor state changes and events,
- define Higher-level REST Services to control multiple Actors,
- define Complex Event Processing to react to Device, Actor and Sensor events and state changes,
- define Storyboards for the timeline-based invocation of Node, Device and Actor Services (e.g. for robotics),
- define Job Schedules for a calendar-based, recurring execution of Services including start of Storyboards,
- define Complex Data Variables to persistently store Event Data for later evaluation or for configurations
- manage Users an their Entitlements to access the above elements and
- use a Mobile App to monitor and control arbitrary Devices.
All of the above is controlled by a nodejs server which is bootstrapped from a simple JSON Configuration File, which allows you to e.g. configure a complex Device control in minutes.
There are two relevant release branches:
To build one of these, check it out and run
npm ci. The build process might take a while.
Once your release is ready to be published, make sure to fulfill the following prerequisites:
- the correct branch is checked out
- you are logged in to NPM
- you are a member of the thing-it NPM organization (á la
npm team add thing-it:developers <username>)
- you have appropriate publish permissions (á la
npm owner add <username> <thing-it-node|thing-it-node-x86-jessie|thing-it-node-armv7-boron>)
If you satisfy all those requirements, the only thing left to do is to run
npm version <major|minor|patch|a_specific_version>.
After finishing the above build and publish process, you will be able to pull the created docker image from AWS ECR or DockerHub, respectively.
If you want to create a virtual TIN that runs on AWS, it will be added to the ECS cluster named thing-it-node-cluster (happens automatically when checking “Virtual Gateway” in TIP’s node configuration view).
Otherwise, pulling the correct docker image and running it on a physical node is explained in tin-docker’s README.
You can use www.thing-it.com to create and simulate your setup for [thing-it-node] and then just push the configuration file or connect your Device Gateways safely to the Internet.