#opc-ua #opc #ua #encryption-decryption

opcua-crypto

OPC UA客户端和服务器使用的加密/解密

4个版本

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

#2 in #opc-ua

Download history 42/week @ 2024-03-11 57/week @ 2024-03-18 21/week @ 2024-03-25 77/week @ 2024-04-01 35/week @ 2024-04-08 23/week @ 2024-04-15 42/week @ 2024-04-22 24/week @ 2024-04-29 46/week @ 2024-05-06 47/week @ 2024-05-13 44/week @ 2024-05-20 44/week @ 2024-05-27 14/week @ 2024-06-03 62/week @ 2024-06-10 35/week @ 2024-06-17 53/week @ 2024-06-24

166 每月下载量
用于 4 crates

MPL-2.0 许可证

3.5MB
59K SLoC

简介

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

Linux
Windows

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

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

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

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

许可证

代码根据MPL-2.0许可。像所有开源代码一样,您使用此代码的风险自负。

设置

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

阅读交叉编译,了解如何将Rust的OPC UA交叉编译到其他平台的提示。

设计

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

教程

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

更多文档

API文档是从最新发布的crates生成的。这可能落后于当前的开发。

客户端 客户端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服务器。

依赖项

~6–9MB
~164K SLoC