基于Rust实现OPC UA(IEC62541、GB/T33863)协议栈,形成一个平台无关的、可扩展的、开箱即用的通用数据采集服务软件
组织介绍

Bowerbird

介绍

本项目基于Rust实现OPC UA(IEC62541、GB/T33863)标准协议栈,形成一个平台无关的、简单可扩展、开箱即用的数据采集服务软件,降低OPC UA开发集成难度,提高工业互联互通的具体应用。

设计

软件架构

分层结构

OPC UA

OPC UA(IEC62541、GB/T33863)是一套安全、可靠且独立于制造商和平台并用于工业通讯的数据交互规范。该规范使得不同操作系统和不同制造商的设备之间可以进行数据交互。OPC UA是由制造商、终端用户、研究学院以及行业协会共同参与制定的规范,以实现不同系统中的安全信息交换。

OPC UA提供的数据和信息交互标准获得了广大研究机构、行业和协会的广泛认可。OPC UA也因此成为了德国工业4.0、美国工业互联网以及中国智能制造的重要基础性技术标准而得到日益广泛的应用。

主要项目结构

  • iot-ua/arch 基于操作系统的抽象和实现
  • iot-ua/async-* 包括异步运行时、异步任务、异步队列
  • iot-ua/stdlib 对底层操作系统功能的封装,同时兼容 Rust STD。为上层应用提供与系统STD无关的开发环境。
  • iot-ua/opcua IEC62541、GB/T33863协议栈的NO-STD实现,作为bowerbird的OPC UA SDK,也可按需裁剪为不同嵌入式平台的SDK。
  • iot-ua/utils 工具集合
  • ua-service bowerbird的主仓库

第三方依赖

Release dependencies

cfg-if :A macro to ergonomically define an item depending on a large number of #[cfg] parameters. Structured like an if-else chain, the first matching branch is the item that gets emitted.

  • Apache License, Version 2.0
  • MIT license

slab :Pre-allocated storage for a uniform data type.

  • MIT license

waker-fn :Convert closures into wakers.

  • Apache License, Version 2.0
  • MIT license

parking :Thread parking and unparking.

  • Apache License, Version 2.0
  • MIT license

cache-padded :Prevent false sharing by padding and aligning to the length of a cache line.

  • Apache License, Version 2.0
  • MIT license

Development dependencies

hyper :A fast and correct HTTP implementation for Rust.

  • MIT license

tokio :A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language.

  • MIT license

async-io :Async I/O and timers.

  • Apache License, Version 2.0
  • MIT license

Arch dependencies

libc - Apache License, Version 2.0 - MIT license

windows-rs - Apache License, Version 2.0 - MIT license

实现计划

Ver 0.2

  • Rust No-STD
  • Async Running
  • Arch for Unix
  • OPC UA 最小集实现

Ver 0.3

  • OPC UA 标准Profile实现
  • OPC UA 信息模型驱动生成、编译及加载机制实现

Ver 0.4

  • 配置化运行的OPC UA Server实现

Ver 1.0

  • 基于B/S的图形化管理界面支持
  • 用于聚合共享的OPC UA Client实现

更多开发计划参考上述分层结构图。

参与贡献

如果您对Bowerbird感兴趣,并希望参与Bowerbird的开发并成为代码贡献者,请参阅代码贡献指南

许可协议

Bowerbird完全开源,遵循Apache License 2.0开源许可协议

成就
3
Star
4
Fork
成员(1)
Agilor

搜索帮助