This blog is dedicated to open, interoperable manufacturing software and the coolest, latest and greatest things I see every day while conducting business under the banner of Inductive Automation.

Hello, my name is Steve Hechtman and I am president of Inductive Automation. During the span of one day there is more excitement, more discovery than I can possibly keep to myself. This blog is, therefore, my outlet. WARNING: This site is highly biased in favor of the most powerful, affordable manufacturing software in the world - Ignition by Inductive Automation!

Open Source Publish-Clients for IIoT

Cirrus Link will release open-source MQTT publish-client libraries through the Eclipse Foundation in the second quarter of 2016. Libraries will be available in C, C#, Java, Python and JavaScript. Java will be available as a standalone library, as well as a module for Kura. Kura is a Java/OSGi-based framework for IoT gateways.

These libraries leverage the open and popular Google Protobuffers standard, as well as the Kura definition for data which just happens to align nicely with common PLC datatypes. They will be released concurrently with the open Sparkplug standard which tracks "state" though the use of birth and death certificates.

What is little understood by the larger IoT audience is that in the IIoT setting, "state" is required. SCADA is useless without state. The Sparkplug standard wraps up the MQTT definition, Protobuffers for data representation, Kura specifications for datatype definition, birth and death certificates to provide "state" and other simple mechanisms to make MQTT useful in SCADA applications.

Any publish-client compatible with the Sparkplug specification will also be a proper Ignition citizen through the use of the MQTT Distributor module. This makes me want to build some sort of edge of network device using Raspberry Pi or BeagleBone. I've got a few ideas. Now I just need some time.

No comments: