OpcLabs.EasySparkplug 5.83.477

Prefix Reserved
dotnet add package OpcLabs.EasySparkplug --version 5.83.477
                    
NuGet\Install-Package OpcLabs.EasySparkplug -Version 5.83.477
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpcLabs.EasySparkplug" Version="5.83.477" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OpcLabs.EasySparkplug" Version="5.83.477" />
                    
Directory.Packages.props
<PackageReference Include="OpcLabs.EasySparkplug" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OpcLabs.EasySparkplug --version 5.83.477
                    
#r "nuget: OpcLabs.EasySparkplug, 5.83.477"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OpcLabs.EasySparkplug@5.83.477
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OpcLabs.EasySparkplug&version=5.83.477
                    
Install as a Cake Addin
#tool nuget:?package=OpcLabs.EasySparkplug&version=5.83.477
                    
Install as a Cake Tool

Rapid Toolkit for Sparkplug

Sparkplug is a trademark of Eclipse Foundation, Inc. "MQTT" is a trademark of the OASIS Open standards consortium. Other related terms are trademarks of their respective owners. Any use of these terms on this site is for descriptive purposes only and does not imply any sponsorship, endorsement or affiliation.

Rapid Toolkit for Sparkplug allows rapid Sparkplug application and edge node development. Supports Sparkplug A and B. It allows you to create Sparkplug software with minimal effort, and without having to deal with the underlying MQTT protocol and the Sparkplug encoding and messaging rules.

Rapid Toolkit for Sparkplug is a commercially licensed product. Without a license key, it runs in a trial mode. The trial provides valid edge node or host application data for 30 minutes; after that period, the component (your app) needs to be re-started, and so on. You must also comply with licensing terms for 3rd-party material redistributed with Rapid Toolkit for Sparkplug. For details, see the documentation.

Ready to purchase? See full price list.

Remember that NuGet packages are primarily a tool for resolving build-time dependencies. The amount of functionality that you get through Rapid Toolkit for Sparkplug NuGet packages is smaller than what the toolkit can actually do for you. If you want a full coverage of the features, you would be better off downloading the Setup program from OPC Labs Web site. Further below you will find a list of differences between the two distribution forms.

Rapid Toolkit for Sparkplug requires .NET Framework 4.7.2 or .NET 8.0 as a minimum. Under .NET 8.0+, it is supported on Linux, macOS and Microsoft Windows.

PLEASE DO NOT USE PRE-RELEASE PACKAGES UNLESS INSTRUCTED TO DO SO.

Need help, or missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.

What is included in the NuGet packages

  • Runtime assemblies for all programming models.
  • IntelliSense support (XML comments).

What is only available from the Setup program

  • Complete set of Examples and Demo applications.

What is only available from the Setup program or the Web site

Knowledge Base link - Tool Downloads

  • Various tools, such as Launcher, Sparkplug Demo Edge Node, SparkplugCmd Utility.
  • License Manager (GUI or console-based) utility.

How to start

If you do not mind reading the documentation: Getting Started with Rapid Toolkit for Sparkplug. Or, the whole User's Guide.

Otherwise, just instantiate one of the following objects, and explore its methods:

  • OpcLabs.EasySparkplug.EasySparkplugConsumer (for developing Sparkplug host applications)
  • OpcLabs.EasySparkplug.EasySparkplugEdgeNode (for developing Sparkplug edge nodes)

Example code for Sparkplug edge node

C#:

using OpcLabs.EasySparkplug;
...

// Note that the default port for the "mqtt" scheme is 1883.
var hostDescriptor = new SparkplugHostDescriptor("mqtt://localhost");

// Instantiate the edge node object.
var edgeNode = new EasySparkplugEdgeNode(hostDescriptor, "easyGroup", "easySparkplugDemo");

// Define a metric providing random integers.
var random = new Random();
edgeNode.Metrics.Add(new SparkplugMetric("MyMetric").ReadValueFunction(() => random.Next()));

// Start the edge node.
edgeNode.Start();

Example code for Sparkplug host application

C#:

using OpcLabs.EasySparkplug;
...

// Note that the default port for the "mqtt" scheme is 1883.
var hostDescriptor = new SparkplugHostDescriptor("mqtt://localhost");

// Instantiate the consumer object.
var consumer = new EasySparkplugConsumer();

Console.WriteLine("Subscribing...");
// The callback is a lambda expression the displays the value
// In this example, we specify the precise Sparkplug group ID, edge node ID, and metric name.
consumer.SubscribeEdgeNodeMetric(hostDescriptor, 
    "easyGroup", "easySparkplugDemo", "Random",
    (sender, eventArgs) =>
    {
        if (eventArgs.Succeeded)
        {
            if (eventArgs.HasData)
                Console.WriteLine("Value: {0}", eventArgs.MetricData.Value);
        }
        else
            Console.WriteLine("*** Failure: {0}", eventArgs.ErrorMessageBrief);
    });

Examples on GitHub

As opposed to the sample NuGet packages, the examples on GitHub also include Web, Windows Forms, Windows Service and WPF projects.


Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on OpcLabs.EasySparkplug:

Package Downloads
OpcLabs.ConnectivityStudio.Sample.CS

OPC Wizard, QuickOPC and Rapid Toolkit for Sparkplug console-based examples in C# (source code). OPC client, subscriber and server development. Sparkplug edge node and host application development. Supports OPC Data Access, XML-DA, Alarms&Events and Unified Architecture (OPC UA), including PubSub.

OpcLabs.ConnectivityStudio.Sample.VB

OPC Wizard, QuickOPC and Rapid Toolkit for Sparkplug console-based examples in VB.NET (source code). OPC client, subscriber and server development. Sparkplug edge node and host application development. Supports OPC Data Access, XML-DA, Alarms&Events and Unified Architecture (OPC UA), including PubSub.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.83.477 245 11/24/2025

Table of all versions, with their basic requirements, and links to "What's New" pages: https://kb.opclabs.com/EasySparkplug_Versions .