27 个版本 (4 个稳定版)

1.0.3 2024 年 8 月 16 日
1.0.0 2024 年 6 月 5 日
0.4.4 2024 年 4 月 18 日
0.4.1 2024 年 1 月 22 日
0.1.24 2021 年 11 月 12 日

#114 in 网页编程

Download history 1148/week @ 2024-05-03 1140/week @ 2024-05-10 112/week @ 2024-05-17 94/week @ 2024-05-24 288/week @ 2024-05-31 165/week @ 2024-06-07 108/week @ 2024-06-14 149/week @ 2024-06-21 42/week @ 2024-06-28 53/week @ 2024-07-05 113/week @ 2024-07-12 65/week @ 2024-07-19 170/week @ 2024-07-26 260/week @ 2024-08-02 217/week @ 2024-08-09 437/week @ 2024-08-16

1,100 每月下载量
用于 ocpp-client

MIT/Apache

265KB
4K SLoC

rust-ocpp

crates.io workflow codecov

rust-ocpp 库实现了充电站使用的开放充电点协议 (OCPP)。您可以在官方的 开放充电联盟 网站上了解更多信息。

已实现并验证了 OCPP v1.6 和 v2.0.1,使用的是开放充电联盟的官方 json 架构。

您可以在 schema_validation.rs 文件中找到针对 v1.6v2.0.1 的测试。

仓库结构

src/ : v1.6 和 v2.0.1 的库文件

docs/ : 官方的 ocpp 规范

使用方法

rust-ocpp 添加到您的 Cargo.toml 中的依赖项。它将默认使用 OCPP 的 2.0.1 版本。

[dependencies]
rust-ocpp = "1.0"

要使用 1.6,您需要使用功能标志指定协议版本

[dependencies]
rust-ocpp = { version = "1.0", features = ["v1_6"] }

或使用两个版本

[dependencies]
rust-ocpp = { version = "1.0", features = ["v2_0_1", "v1_6"] }

构建方法

要构建 rust-ocpp 库,您需要在您的系统上安装 Rust 和 Cargo。您可以通过访问官方的 Rust 网站 中的说明进行安装。

安装 Rust 和 Cargo 后,您可以使用以下步骤构建库

  1. 克隆 rust-ocpp 仓库

    git clone https://github.com/codelabsab/rust-ocpp.git
    
  2. 切换到 rust-ocpp 目录

    cd rust-ocpp
    
  3. 使用 Cargo 构建 1.62.0.1 的库

    cargo build --all-features
    

    此命令将编译库及其依赖项。如果构建成功,您将在 target/debug 目录中找到编译后的工件。

  4. 在两个版本上运行测试

    cargo test --all-features
    
    

    此命令将执行OCPP两个版本的测试。如果所有测试都通过,则表示库正在正确运行。

  5. 构建特定版本

    要构建rust-ocpp的特定版本,您可以在运行构建命令时使用适当的特性标志。例如,要构建v1_6

    cargo build --features v1_6
    

    要构建v2_0_1

    cargo build --features v2_0_1
    
  6. (可选) 构建发布版本

    如果您想构建带有优化功能的库,可以使用以下命令

    cargo build --features v2_0_1 --release
    

    发布版本的构建将在target/release目录中生成优化后的工件。

  7. (可选) 安装库

    如果您想在您的系统上全局安装库,可以使用以下命令

    cargo install --path .
    

    此命令将编译库及其依赖项,并将其安装到Cargo的二进制目录中,这样您就可以在其他项目中作为依赖项使用。

就是这样!您已成功构建了rust-ocpp库。如果在构建过程中遇到任何问题,请检查GitHub上的项目问题跟踪器或打开新问题以获得帮助。

测试

rust-ocpp为OCPP v1.6和v2.0.1版本提供对json模式进行的测试。要运行测试,您可以使用Cargo内置的测试运行器。

运行测试

要运行特定版本的测试,请在运行测试时使用适当的特性标志。

对于OCPP v1.6测试

cargo test --features v1_6

对于OCPP v2.0.1测试

cargo test --features v2_0_1

运行所有测试

cargo test

或特定版本

cargo test --features v1_6

测试覆盖率

使用Codecov测量rust-ocpp的测试覆盖率。您可以在codecov上找到当前的测试覆盖率报告。

对测试做出贡献

非常欢迎对测试套件做出贡献。如果您遇到任何错误、发现边缘情况或有额外的测试用例想法,请随时打开问题或提交拉取请求。我们将很乐意审查并合并您的贡献。

请在提交任何更改之前运行测试并维护或提高整体测试覆盖率。此外,请遵守现有的测试约定并遵循代码风格指南以保持一致性。

贡献

在PR之前使用rustfmt

提供了pre-commit配置。您可以在pre-commits网站上了解更多信息,并在github上检查它们的存储库。

发布新版本

  1. 更新库的版本并将更改推送到主分支。
  2. 在GitHub上创建一个新发布,包含新版本号和一些发布说明(可选)。

这将触发发布工作流程,该工作流程将新版本发布到crates.io。

依赖关系

~6–8.5MB
~176K SLoC