GithubHelp home page GithubHelp logo

tkouba / sparkplugnet Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sepppenner/sparkplugnet

0.0 0.0 0.0 5.5 MB

SparkplugNet is a library to use the Sparkplug industrial IoT (IIoT) standard in .Net. It uses MQTTnet in the background.

License: MIT License

C# 99.81% Batchfile 0.19%

sparkplugnet's Introduction

SparkplugNet

SparkplugNet is a library to use the Sparkplug industrial IoT (IIoT) standard in .Net. It uses MQTTnet in the background.

Build status GitHub issues GitHub forks GitHub stars License: MIT Nuget NuGet Downloads Known Vulnerabilities Gitter Blogger Patreon PayPal

All Contributors

Available for

  • Net 6.0
  • Net 7.0
  • Net 8.0

Net Core and Net Framework latest and LTS versions

Structure

Sparkplug distinguishes between 5 different types of logical parts:

Part Description
Primary application The main application that needs to be always available to work with the data and store metrics.
Applications Other applications that work with the sent data and metrics.
EoN nodes (Later only called nodes) Logical devices that bundle data from end-of-network devices and publish their data.
MQTT enabled devices Sensors that work as a "hybrid" version of a node and a device and publish metrics and data.
Non MQTT-enabled devices Sensors that push data to nodes where the nodes publish their data to MQTT on their behalf.

Basic usage

For basic usage, see the How to use file or the example project.

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

Recommended brokers

Recommended clients

  • MQTT.fx has a Sparkplug data decoder. The binaries for version 1.7.1 can also be taken from https://github.com/SeppPenner/mqttfx171-backup (The software is now under development by a company and requires a license for version 1.7.1+).
  • mqttMultimeter for general MQTT debugging. I guess, a Sparkplug decoder could be added once this library here is up-to-date.
  • MQTTExplorer for general MQTT debugging.

Supported Sparkplug standards

  • Version 1.3.0 and above: Sparkplug, version 3.0, spAv1.0 (Marked as obsolete) and spBv1.0.
  • Version 1.2.0 and below: Sparkplug, version 2.2, spAv1.0 and spBv1.0.

Special notes

  • Version 1.3.4 renames all events from SomethingAsync to Something. (BREAKING)
  • Version 1.1.0 introduces the async event pattern and deprecates the "old, synchronous" events, Version 1.2.0+ will remove the old events completely. (BREAKING)
  • You can enable the global setting SparkplugGlobals.UseStrictIdentifierChecking which prevents users from using the following chars in identifiers:
.,\@#$%^&*()[]{}|!`~:;'"<>?

Further resources

Change history

See the Changelog.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

HansM
HansM

💻 📖 💡 🚧 📆 ⚠️
insightdocs
insightdocs

⚠️
OffTravel
OffTravel

💻 ⚠️
cjmurph
cjmurph

💻 ⚠️
Bo Biene
Bo Biene

💻 ⚠️
Tim Jöhnk
Tim Jöhnk

💻
Patrick.GK
Patrick.GK

💻 ⚠️ 🚇
Gerald Asp
Gerald Asp

⚠️ 💻
adityashahazilen
adityashahazilen

⚠️ 💻
shouidar
shouidar

⚠️ 💻

This project follows the all-contributors specification. Contributions of any kind welcome!

sparkplugnet's People

Contributors

sepppenner avatar allcontributors[bot] avatar bobiene avatar patrick2607 avatar insightdocs avatar timjoehnk avatar shouidar avatar adityashahazilen avatar geraldasp avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.