ocpp-client

Crates.ioocpp-client
lib.rsocpp-client
version0.1.8
sourcesrc
created_at2024-07-30 14:14:05.696511
updated_at2024-08-02 09:50:54.186704
descriptionOCPP Client Implementation. Use this library to implement an OCPP charge point
homepage
repositoryhttps://github.com/flowionab/ocpp-client
max_upload_size
id1319835
size129,636
Joatin Granlund (Joatin)

documentation

README

OCPP Client

Crates.io Documentation .github/workflows/ci.yaml

Overview

ocpp-client is a Rust library that provides an OCPP (Open Charge Point Protocol) client implementation. This library enables developers to integrate with central system (CSMS) that use the OCPP protocol, allowing for seamless communication and efficient.

Features

  • OCPP 1.6 and 2.0.1 support: Communicate with OCPP 1.6 or 2.0.1 JSON compliant servers (CSMS).
  • Async/Await support: Built using asynchronous Rust for high performance and scalability.
  • Customizable: Easily extendable to add custom message handlers or to support additional OCPP features.
  • Error Handling: Robust error handling and logging to assist in debugging and maintenance.
  • Comprehensive Documentation: Detailed documentation with examples to get you started quickly.

Installation

Add the following to your Cargo.toml:

[dependencies]
ocpp-client = "0.1"

Usage

Here's a simple example to get you started:

use ocpp_client::connect;

#[tokio::main]
async fn main() {
    let client = connect("wss://my-csms.com/CHARGER_IDENTITY").await?;
    
    match client {
        OCPP1_6(client) => {
            // Do 1.6 specific operations
        },
        OCPP2_0_1(client) => {
            // Do 2.0.1 specific operations
        },
    }
}

Documentation

The full documentation is available on docs.rs.

Examples

Check out the examples directory for more usage examples.

Contributing

Contributions are welcome! Please see the CONTRIBUTING.md for more details.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Commit count: 0

cargo fmt