13 个版本 (8 个重大更新)

0.9.1 2022年4月7日
0.9.0 2022年3月20日
0.8.1 2021年8月24日
0.8.0 2020年10月10日
0.1.1 2017年7月5日

#6 in #opc-ua

Download history 16/week @ 2024-03-09 20/week @ 2024-03-16 3/week @ 2024-03-23 47/week @ 2024-03-30 17/week @ 2024-04-06 1/week @ 2024-04-13 8/week @ 2024-04-20 17/week @ 2024-04-27 31/week @ 2024-05-04 25/week @ 2024-05-11 25/week @ 2024-05-18 27/week @ 2024-05-25 5/week @ 2024-06-01 27/week @ 2024-06-08 18/week @ 2024-06-15 43/week @ 2024-06-22

每月下载量 97

MPL-2.0 许可证

9.5MB
218K SLoC

简介

这是一个为 Rust 实现的 OPC UA 服务器/客户端 API。

Linux
Windows

OPC UA 是一个用于数据监控的行业标准。它广泛应用于嵌入式设备、工业控制、物联网等——几乎任何需要监控、控制或可视化的数据。

Rust 是一种系统编程语言,因此它是实现 OPC UA 的自然选择。此实现支持嵌入式、微和纳米配置文件,但随着时间的推移可能会扩展到支持更多功能。

阅读 兼容性 页面了解该实现如何符合 OPC UA 规范。

阅读 变更日志 了解每个版本的更改以及即将到来的工作。

许可证

代码根据 MPL-2.0 许可证授权。像所有开源代码一样,您使用此代码存在风险。

设置

阅读 设置 了解如何为 Rust 构建OPCUA的说明。

阅读 交叉编译 了解如何将 OPC UA 交叉编译到其他平台。

设计

阅读 设计 了解实现更深入描述。

教程

教程/用户指南仍在进行中。

更多文档

API 文档是从最新发布的 crate 生成的。这可能比当前的开发有些滞后。

客户端 客户端 API,用于连接到 OPC UA 服务器。
服务器 服务器端 API,用于托管 OPC UA 服务器、地址空间、创建新节点、订阅。
加密 安全配置文件、加密、散列、签名/验证、证书管理。
核心 客户端和服务器共享的核心功能 - 安全通道、TCP 编码、TCP 消息、分块。
类型 OPC UA 核心类型和二进制编码实现。

示例

如果您想深入研究,在 samples/ 文件夹中有多个示例。其中 simple-clientsimple-server 项目分别是最小化的客户端和服务器程序。

# In one bash
cd opcua/samples/simple-server
cargo run
# In another bash
cd opcua/samples/simple-client
cargo run

示例列表

  1. simple-server - 一个 OPC UA 服务器,添加了 4 个变量 v1, v2, v3 和 v4,并通过推送和拉取机制从定时器更新它们。
  2. simple-client - 一个 OPC UA 客户端,连接到服务器并订阅 v1, v2, v3 和 v4 的值。
  3. discovery-client - 一个 OPC UA 客户端,连接到发现服务器并列出其上注册的服务器。
  4. chess-server - 一个 OPC UA 服务器,连接到象棋引擎作为其后端,并更新表示游戏状态的变量。
  5. demo-server - 一个比简单服务器更复杂的 OPC UA 服务器,可用于合规性测试。
  6. mqtt-client - 一个 OPC UA 客户端,订阅一些值并将它们发布到 MQTT 代理。
  7. web-client - 一个 OPC UA 客户端,订阅一些值并将它们通过 websocket 流式传输。
  8. modbus-server - 一个将 MODBUS 变量翻译的 OPC UA 服务器。

依赖关系

~12–24MB
~375K SLoC