Back to rankings

eclipse-milo/milo

Javaeclipse.org/milo

Eclipse Milo™ - an open source implementation of OPC UA (IEC 62541).

opc-uaopcuaiec62541javaclientiec-62541industrial-automationiotmilosdkserverstack
Star Growth
Stars
1.4k
Forks
474
Weekly Growth
Issues
2
5001k
May 2016Sep 2019Feb 2023Jul 2026
ArtifactsMavengit clone https://github.com/eclipse-milo/milo.git
README

Eclipse Milo

Actions Maven Central

Milo is an open-source implementation of OPC UA (currently targeting 1.05). 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

Requirements

The repository pins its Java and Maven toolchain with mise:

mise install

If mise reports that the config is not trusted, review .mise.toml and run mise trust .mise.toml once. After installation, run Maven through mise exec -- so the pinned Java 17 and Maven versions are used.

Maven

Building Milo

Using JDK 17, run this from the project root:

mise exec -- mvn clean install

To maintain compatibility with Java 17 it is recommended that you build using JDK 17, however the library is runtime compatible with versions 17 and later (e.g. JDK 21, JDK 24).

Releases

Releases are published to Maven Central and snapshots to Sonatype.

OPC UA Client SDK

<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>milo-sdk-client</artifactId>
    <version>1.1.5</version>
</dependency>

OPC UA Server SDK

<dependency>
    <groupId>org.eclipse.milo</groupId>
    <artifactId>milo-sdk-server</artifactId>
    <version>1.1.5</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>

Public Demo Server

An internet-facing instance of this demo server is accessible at opc.tcp://milo.digitalpetri.com:62541/milo.

It accepts both unsecured and secured connections. All incoming client certificates are automatically trusted.

Authenticate anonymously or with one of the following credential pairs:

  • User / password
    • roles: WellKnownRole_AuthenticatedUser
  • UserA / password
    • roles: SiteA_Read, SiteA_Write
  • UserB / password
    • roles: SiteB_Read, SiteB_Write
  • SiteAdmin / password
    • roles: SiteA_Read, SiteB_Read
  • SecurityAdmin / password
    • roles: WellKnownRole_SecurityAdmin

The code powering the demo server is available here: https://github.com/digitalpetri/opc-ua-demo-server

Related repositories
frangoteam/FUXA

Web-based Process Visualization (SCADA/HMI/Dashboard) software

TypeScriptnpmMIT Licensescadahmi
frangoteam.org
4.7k1.3k
IoT-Technology/IoT-Technical-Guide

:honeybee: IoT Technical Guide --- 从零搭建高性能物联网平台及物联网解决方案和Thingsboard源码分析 :sparkles: :sparkles: :sparkles: (IoT Platform, SaaS, MQTT, CoAP, HTTP, Modbus, OPC, WebSocket, 物模型,Protobuf, PostgreSQL, MongoDB, Spring Security, OAuth2, RuleEngine, Kafka, Docker)

JavaMavenApache License 2.0coapnosql
iot.mushuwei.cn
4.5k1.1k
open62541/open62541

Open source implementation of OPC UA (OPC Unified Architecture) aka IEC 62541 licensed under Mozilla Public License v2.0

CMozilla Public License 2.0opc-uasdk
open62541.org
3.2k1.4k
absmach/magistrala

IoT Platform Framework

GoGo ModulesApache License 2.0golangiot-platform
absmach.eu/products/magistrala
2.6k688
absmach/supermq

Event-driven Infrastructure for Modern Cloud

GoGo ModulesApache License 2.0golangiot-platform
abstractmachines.fr/magistrala.html
2.5k671
thingsboard/thingsboard-gateway

Open-source IoT Gateway - integrates devices connected to legacy and third-party systems with ThingsBoard IoT Platform using Modbus, CAN bus, BACnet, BLE, OPC-UA, MQTT, ODBC and REST protocols.

PythonPyPIApache License 2.0iotiot-gateway
thingsboard.io/docs/iot-gateway/what-is-iot-gateway/
2.2k990
node-opcua/node-opcua

Unlocking the Full Potential of OPC UA with Typescript and NodeJS - http://node-opcua.github.io/

TypeScriptnpmMIT Licenseiot-platformopc-ua
1.6k515
FreeOpcUa/python-opcua

LGPL Pure Python OPC-UA Client and Server

PythonPyPIGNU Lesser General Public License v3.0pythonopc-ua
freeopcua.github.io
1.5k669
FreeOpcUa/opcua-asyncio

OPC UA library for python >= 3.10

PythonPyPIGNU Lesser General Public License v3.0python3opc-ua
1.4k445
Edgenesis/shifu

Kubernetes-native IoT gateway

GoGo ModulesApache License 2.0iotinternet-of-things
shifu.dev
1.4k138
gopcua/opcua

Native Go OPC-UA library

GoGo ModulesMIT Licenseopc-uagolang
1.1k313