CI-Sparkplug Niagara Driver

CI-Sparkplug Niagara Driver

A smart, open-source Niagara integration

CI-Sparkplug is an open-source software specification that provides MQTT clients the framework to seamlessly integrate data from their applications, sensors, devices, and gateways within the MQTT infrastructure in a bi directional and interoperable way.

​The Sparkplug specification describes a standard application layer protocol for applications, sensors, devices and gateways.

To achieve this the specification defines three clear goals, that are lacking from current MQTT and IoT implementations:

  1. Define a standard MQTT topic namespace
  2. Define standard MQTT state management
  3. Define the MQTT payload

Why CI-Sparkplug?

CI-Sparkplug cuts the complexity and eliminates the mess, this means no challenges with complicated architectures and custom connections.

SINGLE SOURCE OF TRUTH

Configure process variables one time at the source and deploy to the entire enterprise

DECOUPLED DATA

​No longer maintain custom connections between various data sources

IMMEDIATE DISCOVERY

New machine and sensor data becomes immediately available to all subscribers

INHERItED SECURItY

Leverages TLS for data transport and requires no open port for edge network devices

STATE AWARENESS

Birth and death certificates provide subscribing clients confidence in data validity

Differences between CI-Sparkplug and plain MQTT

  • CI-Sparkplug defines a clear topic namespace so applications know where to subscribe for data straight away

  • MQTT allows custom or vendor-specific topic namespaces so it can be hard to understand topics in a broker

  • CI-Sparkplug defines a very strong message payload, with clear data types, metadata, datasets

  • MQTT has no definition of the payload it carries, MQTT only knows it carries a discrete number of bytes

  • CI-Sparkplug defines how applications can become aware of the state of a Sparkplug node (state awareness) and specifies how applications are notified (by subscribing to a defined topic namespace) of the state of a node

  • MQTT contains no definition of state awareness of a node

  • CI-Sparkplug enables loose coupling between all participants in a system by defining data formats upfront

  • MQTT contains no data formatting definitions so IoT solutions based on plain MQTT are tightly coupled causing design and deployment problems

CI-Sparkplug Screenshots