11个版本 (破坏性更新)
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.0 | 2017年7月5日 |
#9 in #opc
每月下载133次
用于 2 crates
4MB
64K SLoC
简介
这是一个OPC UA服务器/客户端API的Rust实现。
Linux | |
Windows |
OPC UA是数据监控的行业标准。它被广泛应用于嵌入式设备、工业控制、物联网等——几乎所有有数据需要被监控、控制或可视化的东西。
Rust是一种系统编程语言,因此它是实现OPC UA的理想选择。这个实现支持嵌入式、微和纳米配置文件,但可能会随着时间的推移而增加更多功能。
阅读兼容性页面,了解实现如何符合OPC UA规范。
阅读变更日志,了解每个版本的变化以及期望的工作。
许可证
代码受MPL-2.0许可证的许可。像所有开源代码一样,您使用此代码存在风险。
设置
阅读设置,了解如何为Rust构建OPCUA的说明。
阅读交叉编译,了解如何将OPC UA交叉编译为Rust到其他平台的提示。
设计
阅读设计,了解实现更深入的描述。
教程
教程/用户指南仍在进行中。
更多文档
API文档是从最新发布的crates生成的。这可能落后于当前的开发。
客户端 | 客户端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-21MB
~320K SLoC