Milo is an open-source implementation of OPC UA (currently targeting 1.03). It includes a high-performance stack (channels, serialization, data structures, security) as well as client and server SDKs built on top of the stack.
Stack Overflow tag: milo
Mailing list: https://dev.eclipse.org/mailman/listinfo/milo-dev
Using JDK 8, run mvn clean install
from the project root.
To maintain compatibility with Java 8 it is recommended that you build using JDK 8, however the library is runtime compatible with versions 8 and later (e.g. JDK 11, JDK 17).
Releases are published to Maven Central and snapshots to Sonatype.
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>sdk-client</artifactId>
<version>0.6.6</version>
</dependency>
<dependency>
<groupId>org.eclipse.milo</groupId>
<artifactId>sdk-server</artifactId>
<version>0.6.6</version>
</dependency>
Referencing a SNAPSHOT
release requires the Sonatype snapshot repository be added to your pom file:
<repository>
<id>oss-sonatype</id>
<name>oss-sonatype</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
An internet-facing demo server is accessible at opc.tcp://milo.digitalpetri.com:62541/milo
.
It accepts both unsecured and secured connections. Before connecting with security you must upload your client's DER-encoded X509 certificate using the form at http://milo.digitalpetri.com.
Authenticate anonymously or with one of the following credential pairs:
user1
/password
user2
/password
admin
/password
The code powering the demo server is available here: https://github.com/digitalpetri/opc-ua-demo-server