3个版本 (破坏性)

0.12.0 2024年1月1日
0.11.0 2022年8月24日
0.10.0 2022年4月12日

#362 in 网络编程

Download history 463/week @ 2024-04-27 250/week @ 2024-05-04 227/week @ 2024-05-11 247/week @ 2024-05-18 275/week @ 2024-05-25 211/week @ 2024-06-01 186/week @ 2024-06-08 321/week @ 2024-06-15 270/week @ 2024-06-22 249/week @ 2024-06-29 374/week @ 2024-07-06 383/week @ 2024-07-13 258/week @ 2024-07-20 346/week @ 2024-07-27 279/week @ 2024-08-03 391/week @ 2024-08-10

每月下载量 1,306次

MPL-2.0 许可证

9.5MB
224K SLoC

简介

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

Build Status

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

Rust是一种系统编程语言,因此是实现OPC UA的自然选择。这个实现支持嵌入式、微和纳米配置文件,但可能会随着时间的推移增加对其他功能的支持。

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

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

许可证

代码根据MPL-2.0授权。像所有开源代码一样,您使用此代码风险自担。

设置

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

阅读交叉编译,获取将OPC UA交叉编译为Rust到其他平台的提示。

迁移说明

如果您正在使用Rust的较早版本的OPC UA,请阅读迁移说明。

设计

阅读设计,了解更多关于实现的详细信息。

教程

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

更多文档

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

示例

如果您想开始,在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-26MB
~413K SLoC