SparkplugNet
SparkplugNet is a library to use the Sparkplug industrial IoT (IIoT) standard in .Net. It uses MQTTnet in the background. The assembly was written and tested in .Net 5.0.
Available for
- NetFramework 4.6.2
- NetFramework 4.7
- NetFramework 4.7.2
- NetFramework 4.8
- NetStandard 2.0
- NetStandard 2.1
- NetCore 2.1
- NetCore 3.1
- Net 5.0
Net Core and Net Framework latest and LTS versions
- https://dotnet.microsoft.com/download/dotnet-framework
- https://dotnet.microsoft.com/download/dotnet-core
- https://dotnet.microsoft.com/download/dotnet/5.0
Basic usage
//Todo
The project can be found on nuget.
Requirements
- MQTT broker that implements 100% of the MQTT 3.1.1 specification
- MQTT broker with QoS 0 and 1 support
- MQTT broker with retained messages support
- MQTT broker with last will and testament support
- MQTT broker with a flexible security system
MQTTnet.Server is recommended.
Supported Sparkplug standards
- Version 2.2, spAv1.0 and spBv1.0.
Further resources
- https://www.eclipse.org/tahu/spec/Sparkplug%20Topic%20Namespace%20and%20State%20ManagementV2.2-with%20appendix%20B%20format%20-%20Eclipse.pdf
- https://documents.opto22.com/2357_Industrial_Strength_MQTT_Sparkplug_B.pdf
- https://github.com/eclipse/tahu
- https://github.com/eclipse/kura/blob/develop/kura/org.eclipse.kura.core.cloud/src/main/protobuf/kurapayload.proto
- https://github.com/eclipse/tahu/blob/master/sparkplug_b/sparkplug_b_c_sharp.proto
- https://protogen.marcgravell.com/
- https://stackoverflow.com/questions/66199386/protobuf-net-how-to-use-the-any-data-type
Change history
See the Changelog.