Code Monkey home page Code Monkey logo

ua-iiot-starterkit's People

Contributors

fpethig avatar opcfoundation-org avatar randy-armstrong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ua-iiot-starterkit's Issues

Switch on the Discussions

Discussions are the space for your community to have conversations, ask questions, and post answers without opening issues.

Error on build

  1. When setting up the linux computer as prescribed here, the repository provided for cloning the project (git clone https://github.com/OPCF-Members/UA-IIoT-StarterKit.git) seems not to exist. Is it for members of the OPC UA foundation only?
  2. Given that the provided repository doesn't work, I cloned this one into my local repo, but can't build the mqttagent successfully. I tried also with same config as given (vscode 19, dotnet 50...) Yet, no success.
    Can someone help with a hint?
    Here is the error build message from cmd

/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: ---> System.DllNotFoundException: Unable to load shared library '/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/MSBuildCore/../runtimes/ubuntu.18.04-x64/native/libgit2-106a5f2.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libssl.so.1.1: cannot open shared object file: No such file or directory [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.InteropServices.NativeLibrary.LoadFromPath(String libraryName, Boolean throwOnError) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.InteropServices.NativeLibrary.Load(String libraryPath) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.Loader.AssemblyLoadContext.LoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.GitLoaderContext.LoadUnmanagedDll(String unmanagedDllName) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.git_libgit2_init() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.InitializeNativeLibrary() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods..cctor() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: --- End of inner exception stack trace --- [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.git_libgit2_opts(Int32 option, UInt32 level, String path) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.Proxy.git_libgit2_opts_set_search_path(ConfigurationLevel level, String path) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.GlobalSettings.SetConfigSearchPaths(ConfigurationLevel level, String[] paths) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.GitExtensions.OpenGitRepo(String pathUnderGitRepo, Boolean useDefaultConfigSearchPaths) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.VersionOracle.Create(String projectDirectory, String gitRepoDirectory, ICloudBuild cloudBuild, Nullable`1 overrideBuildNumberOffset, String projectPathRelativeToGitRepoRoot) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]

Build FAILED.

/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: The "Nerdbank.GitVersioning.Tasks.GetBuildVersion" task failed unexpectedly. [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: System.TypeInitializationException: The type initializer for 'LibGit2Sharp.Core.NativeMethods' threw an exception. [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: ---> System.DllNotFoundException: Unable to load shared library '/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/MSBuildCore/../runtimes/ubuntu.18.04-x64/native/libgit2-106a5f2.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libssl.so.1.1: cannot open shared object file: No such file or directory [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.InteropServices.NativeLibrary.LoadFromPath(String libraryName, Boolean throwOnError) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.InteropServices.NativeLibrary.Load(String libraryPath) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.Loader.AssemblyLoadContext.LoadUnmanagedDllFromPath(String unmanagedDllPath) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.GitLoaderContext.LoadUnmanagedDll(String unmanagedDllName) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.git_libgit2_init() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.InitializeNativeLibrary() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods..cctor() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: --- End of inner exception stack trace --- [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.NativeMethods.git_libgit2_opts(Int32 option, UInt32 level, String path) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.Core.Proxy.git_libgit2_opts_set_search_path(ConfigurationLevel level, String path) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at LibGit2Sharp.GlobalSettings.SetConfigSearchPaths(ConfigurationLevel level, String[] paths) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.GitExtensions.OpenGitRepo(String pathUnderGitRepo, Boolean useDefaultConfigSearchPaths) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.VersionOracle.Create(String projectDirectory, String gitRepoDirectory, ICloudBuild cloudBuild, Nullable`1 overrideBuildNumberOffset, String projectPathRelativeToGitRepoRoot) [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
/home/roma/.nuget/packages/nerdbank.gitversioning/3.2.31/build/Nerdbank.GitVersioning.targets(71,5): error MSB4018: at Nerdbank.GitVersioning.Tasks.GetBuildVersion.ExecuteInner() [/home/roma/UA-IIoT-StarterKit/OpcUa/Libraries/Opc.Ua.Security.Certificates/Opc.Ua.Security.Certificates.csproj]
0 Warning(s)
1 Error(s)

Project setting "Treat warnings as errors" fails compilation

Projects are failing compilation in Visual Studio 2022 (my installed version is 17.6.4) because of the setting "Treat warnings as errors".
I don't know whether earlier versions of VS didn't have the warnings that are now appearing in VS 2022.

Either the warnings should be fixed or the setting disabled. Since there are only two warnings reported I would strongly suggest fixing them and keeping the zero-warning policy.

grafik

Affected projects are:

  • Opc.Ua.Configuration
  • Opc.Ua.PubSub
  • Opc.Ua.Server

Warnings reported are:

  • CA1854: Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a 'ContainsKey' check to avoid double lookup
  • CA1852: Type 'CertValidationSuppressibleStatusCodes' can be sealed because it has no subtypes in its containing assembly and is not externally visible

Publisher: MetaDataVersion is invalid

Observed behavior: Published messages contain "MetaDataVersion":{"MajorVersion":1,"MinorVersion":0}

This does not look like a valid metadata version. The fields actually represent timestamps (of type VersionTime). And, MinorVersion can never be smaller than MajorVersion.

Expected behavior: MetaDataVersion should be a valid and realistic ConfigurationVersionDataType.

Double command line argument for "-p" for MqttAgent.dll subscribe

This issue is similar to issue #16. Maybe it isn't yet fixed, or was not properly fixed!!

As on the image, MqttAgent.dll subscribe --help shows a duplicate for the argument -p, password and publisher. This creates an invalid operation index error, and the subscriber doesn't receive the published message.

Inspiring from the comment on issue #16 , I could fix it by including the app.option() method for password argument only in the else{} section of the options in the MqttAgentApplication code.

subscribe_options

Use of official NuGet Packages

Why does the IIoT-StarterKit isn't based on the official NuGet packages from OPC Foundation? I would assume that anything that is required for this StartKit is also part of the NuGets, isn't it?

Thread pool exhaustion issues for many writer groups

Hello there,

I am running into thread pool starvation issues when publishing to a couple (~50) of MQTT topics.

The problem seems to be that the IntervalRunner used for each WriterGroupDataType / UaPublisher calls the PublishMessages method on a thread pool thread which will block on a lock in MqttPubSubConnection.PublishNetworkMessage:

pubsubthreadpoolexhaustion

Here is a fork that reproduces the issue: https://github.com/jnsjll/UA-IIoT-StarterKit

Do you have any suggestions?

UADP NetworkMessage support

Great work. Very useful, but still some topics are not clear. @randy-armstrong as you asked I try to do my homework. Let me stress, the main purpose of the following questions is to learn how to improve (update) the description I have provided many years ago and maybe it is obsolete now.

  1. What is the reason to use JSON encoding? Is it possible to use binary encoding instead?
  2. What is the relationship between the metadata and the Information Model? (see also What is Information Model vs Semantic-data
  3. Is there any relationship between the metadata, Information Model, and MQTT topic?
  4. PubSub can use four protocols and two encodings. It yields an impressive number of incompatible combinations. How to select an appropriate one? Are there any best practice rules helping to select the appropriate combination?
  5. Based on this example what I need to do to select a different combination of the underlying protocol/encoding?
  6. Somones call MQTT a transport protocol. I know it is not a transport layer, but what is the difference between a transport and no transport protocol? Is IP a transport protocol for UDP for example? Is proposed by me the Transport protocol stack architecture correct?

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.