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.
- 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.
Add the following to your Cargo.toml
:
[dependencies]
ocpp-client = "0.1"
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
},
}
}
The full documentation is available on docs.rs.
Check out the examples directory for more usage examples.
Contributions are welcome! Please see the CONTRIBUTING.md for more details.
This project is licensed under the MIT License. See the LICENSE file for details.