Flow Director is based on the SwiftMQ messaging system, which natively supports the most widely used IoT protocol MQTT. It provides you an out of the box edge solution to connect devices, add realtime analytics, and provide you valuable insights into the data produced by your devices.
You can quickly scale Flow Director to support thousands of devices by adding as many SwiftMQ Routers to the network as needed.
Connecting IoT Edge and IoT Cloud
IoT Cloud solutions like Amazon AWS, Microsoft Azure, or Google GCP provide much more scalability and capability to analyze and process IoT data than one can do at the IoT Edge. Therefore, the perfect solution is to handle time-sensitive data at the edge and only send aggregated data to the cloud for further processing, analytics, and storage. This approach saves bandwidth and cloud costs in terms of transfer volume.
Connecting Industrial Devices by Gateways
Although MQTT is a standard IoT protocol, it is quite young. Most industrial devices are, however, quite old, so they don't speak MQTT. These devices talk older so-called fieldbus protocols like PROFIBUS, MODBUS etc. Hence, we need to translate these protocols into MQTT by adding a gateway between the device and Flow Director.
A gateway is dedicated hardware that has interfaces for industrial devices talking fieldbus protocols and a network interface to send and receive MQTT. The gateway software translates fieldbus into MQTT and vice versa. We tested several gateways and had very good experience with the INSYS Gateways.
Automatic Provisioning of Industrial Devices at the Cloud
Flow Director supports automatic cloud provisioning of devices for Amazon AWS, Microsoft Azure, and Google GCP.
Devices are sending MQTT data through their gateways connected by non-encrypted MQTT connections to a SwiftMQ Router managed by Flow Director.
When they join the first time, an automatic provisioning process initiates in the background while the devices send data. Messages are retained and sent to the cloud upon provisioning is finished. After that, messages are routed directly to the cloud.
The provisioning consists of generating X509 certificates per device and registering them at the cloud provider. Device messages are stored in dedicated device spaces (i.e., topics, queues) in the cloud for further processing.
It's all done automatically; neither the gateway nor the content of the messages needs to be modified in any way. All you need to do is to send messages on a non-encrypted MQTT connection.