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
每月下载量 97
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-client
和 simple-server
项目分别是最小化的客户端和服务器程序。
# In one bash
cd opcua/samples/simple-server
cargo run
# In another bash
cd opcua/samples/simple-client
cargo run
示例列表
simple-server
- 一个 OPC UA 服务器,添加了 4 个变量 v1, v2, v3 和 v4,并通过推送和拉取机制从定时器更新它们。simple-client
- 一个 OPC UA 客户端,连接到服务器并订阅 v1, v2, v3 和 v4 的值。discovery-client
- 一个 OPC UA 客户端,连接到发现服务器并列出其上注册的服务器。chess-server
- 一个 OPC UA 服务器,连接到象棋引擎作为其后端,并更新表示游戏状态的变量。demo-server
- 一个比简单服务器更复杂的 OPC UA 服务器,可用于合规性测试。mqtt-client
- 一个 OPC UA 客户端,订阅一些值并将它们发布到 MQTT 代理。web-client
- 一个 OPC UA 客户端,订阅一些值并将它们通过 websocket 流式传输。modbus-server
- 一个将 MODBUS 变量翻译的 OPC UA 服务器。
依赖关系
~12–24MB
~375K SLoC