StreamBlocks offers a flexible architecture which can start with a single light switch and expand to millions of IoT devices. Third party device integration, communication, or application level interface are all standard components in StreamBlocks, which was designed with expandability and flexibility in mind.
Integration starts at the firmware level, with StreamBlocks providing the building blocks for the management of ESP32 devices, including firmware. Control strategies for IoT devices can be stored in the cloud, and can be executed at a number of levels depending on the architecture selected. The global time keeper, ensures synchronisation of device actions across the network, especially those that are part of a control function. This maintains the execution sequence, regardless of network latency or bandwidth.
For time-critical applications, control strategies can be executed in a LAN based StreamBlocks server, or even at a LAN based controller/device level. For this StreamBlocks supports developer kits, based on Arduino, for prototyping, Mongoose-OS, ModBus, OpenPLC as well as devices that support Websockets or MQTT.
Control sequences can be written using Java script, Python, Ladder Logic, Structured Text, or using SFC blocks.
In addition StreamBlocks supports the integration of various libraries, ranging from OpenCV, OpenVINO and many others, which can be executed on a cloud server, or on an edge server.