1. Introduction
MyQttHub.com (MQTT platform) fully support SparkPlug specification and requirements as defined at:
- Specification: https://www.eclipse.org/tahu/spec/Sparkplug%20Topic%20Namespace%20and%20State%20ManagementV2.2-with%20appendix%20B%20format%20-%20Eclipse.pdf
- Homepage: https://sparkplug.eclipse.org/
This article evaluates the impact and scope required by SparkPlug specification and how it relates to MyQttHub.com platform.
2. Sparkplag top level description
SparkPlug is a specification that attempts to normalize and provide a ready to use schema for topics and message encoding use by applications developing #MQTT based products.
From a server side #MQTT point of view, it requires the server to at least support v3.1.1 protocol, which MyQttHub.com does, and also to be able to handle load in a production ready fashion (which is the target of MyQttHub.com too).
Sparkplug also provides recommendations about Authentication (how clients identify them selves to connect to your #MQTT hub), authorization (how you can filter and control what and who can access and publish) and also encryption. All these options are supported by MyQttHub.com, see:
- Authentication options:
- Authorization:
- PUBLISH and SUBSCRIBE filtering support: Managing MQTT filters with MyQttHub to control what can be published
- Encryption:
- MyQttHub.com supports MQTT TLS over standard port tcp/8883
- Web interface and API is also provided under HTTPS TLS protection: REST API to manage MyQttHub service
Sparkplug also place requirements to manage state by using LWT (Last Will and testament) provided by #MQTT standard and also fully supported by MyQttHub.com, see:
- Managing and tracking LWT for your devices: Inspecting LWT (WILL) configurations and status for your MyQTT HUB
3. About message encoding (version A and B)
SparkPlug specification provides a ready to use framework for message format and topics to be used for #SCADA solutions. MyQttHub.com provides standard #MQTT support in a way that is possible for all formats required by SparkPlug specification to be deployed and used with MyQttHub.com as central broker or part of a bigger scheme.