Framework

StreamBlocks provides a scaleable platform for the management of your IoT devices.  Whether you are automating your home, or are a manufacturer of IoT devices, the StreamBlocks framework can provide a complete solution for your IoT needs. 

The framework can be viewed as a technology stack addressing various aspects of an IoT system. Starting with the devices themselves, whether simple sensors and  switches, to complex devices, which operate autonomously. The figure opposite outlines the main components of the StreamBlocks Technology stack.

For hardware manufacturers, integrators and hobbyists, Streamblocks can interface directly to any Espressif based device (ESP8266 & ESP32) . Each IoT device has a unique global identifier. These identifiers follow the device throughout it’s lifetime in the IoT framework. IoT devices in turn, have various levels of local software. StreamBlocks  includes a software layer for managing firmware and microcode on each device. In addition for users of Mongoose-OS or Arduino, or TICC32 these can be readily integrated into StreamBlocks.

 

Sensor Software to Go

At a higher level, Streamblocks provides communication blocks to a plethora of devices, using a variety of protocols from MQTT, websockets, USB drivers, REST, as well as providing standard interfaces for SmartLife, Amazon Alexa, Home Assistant, Google Assistant, Apple HomeKit and many others. All provided as standard as part of the framework.

The control strategies for the devices are available as function blocks, which vary depending on device type. These include On/Off for digital devices, power usage, temperature, humidity, RGB values for RGB lights, linear and non-linear functions between states, as well as support for scripting languages, such as java script, python, for control strategies as well as the integration of tools such as NodeRed, which provides a graphical interface for programmers. Once a function or method has been created, it will be available to any device in your project which meet the criteria for execution (normally in terms of inputs and outputs), Gyros, GPS, cameras using RTSP or communicating directly can be integrated to create new functional blocks.

Execution of control strategies can be central or local, depending on the project needs and latency of the overall system. There are advantages and disadvantages to every approach. Using Edge servers has the advantage of reducing latency but also providing access to enhanced functions, such as Neural Network & vision libraries, which can be used for a variety of applications, from edge detection to access control through artificial vision, on an enterprise wide basis.

Simple Devices Powerful Services

New devices can also be created by combining functions and control strategies with other devices, due to the object orientated nature of configuration. This makes customisation of functions and building strategies a very straightforward process.

StreamBlocks automatically generates monitoring templates for device groups, which show the status of devices live and which allows user operation through a mobile phone app. The database structure of StreamBlocks allows manufacturers to build forms for monitoring all devices online, and with facilities such as upgrading firmware or adding new functionality.

StreamBlocks software can run on a LAN or can operate as a hub, and any number of hubs or nodes can be made aware of each other, sharing the same dataset. The decisions about the number of nodes, is normally determined by the level of isolation required and whether there is a need for high availability and low latency.

StreamBlocks is born with communication capability to databases. For larger installations, which can include millions of IoT devices, the database is usually MS-SQL, including Azure SQL. Not only does this provide a very flexible and powerful backbone, but it unleashes Business Intelligence capabilities.

StreamBlocks Technology Stack
Compact RGB degfinition template
Light Sequence Definition