opcfoundation / ua-iiot-starterkit Goto Github PK
View Code? Open in Web Editor NEWSamples and tutorials to illustrate how to build OPC UA PubSub applications.
License: MIT License
Samples and tutorials to illustrate how to build OPC UA PubSub applications.
License: MIT License
Discussions are the space for your community to have conversations, ask questions, and post answers without opening issues.
DataSetMessage.SequenceNumber should be incremented by exactly one. In my observation, it is far more common for it to be incremented by 2 or even larger amount.
/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)
The metadata topic names are $metadata, but according to the OPC UA specification, the recommended name is $Metadata.
The project UaMqttConsole/UaMqttConsole.csproj mentioned in https://github.com/OPCFoundation/UA-IIoT-StarterKit/blob/master/docs/setup/linux/README.md does not exist (anymore?).
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.
Affected projects are:
Warnings reported are:
Hi,
I have included a latest preview version of OPC.Ua.PubSub into MqttAgent.
Whole application has been build success.
But after running app I'm getting error sequence contains more than one matching element.
I'm not able to identify a place in code when this exception is throwen.
Any idea what can be wrong?
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.
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.
The information that it is required to add --recurse-submodules
to the git clone is missing in readme.
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?
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
:
Here is a fork that reproduces the issue: https://github.com/jnsjll/UA-IIoT-StarterKit
Do you have any suggestions?
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.
JSON
encoding? Is it possible to use binary encoding instead?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?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?A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.