Skip to content

Jerar/ArduinoOcpp

 
 

Repository files navigation

Icon   ArduinoOcpp

Build Status

OCPP-J 1.6 client for embedded microcontrollers. Portable C/C++. Compatible with Espressif, NXP, Texas Instruments and STM.

Reference usage: OpenEVSE

PlatformIO package: ArduinoOcpp

Website: www.arduino-ocpp.com

Fully integrated into the Arduino platform and the ESP32 / ESP8266. Runs on ESP-IDF, FreeRTOS and generic embedded C/C++ platforms.

Make your EVSE ready for OCPP 🚗🔌🔋

This library allows your EVSE to communicate with an OCPP Backend and to participate in commercial charging networks. You can integrate it into an existing firmware development, or start a new EVSE project from scratch with it.

✔️ Works with SteVe and 15+ commercial Central Systems

✔️ Tested in many charging stations

✔️ Eligible for public chargers (Eichrecht-compliant)

Try it (no hardware required): ArduinoOcppSimulator

Features

  • handles the OCPP communication with the charging network
  • implements the standard OCPP charging process
  • provides an API for the integration of the hardware modules of your EVSE
  • works with any TLS implementation and WebSocket library. E.g.

For simple chargers, the necessary hardware and internet integration is usually far below 1000 LOCs.

Developers guide

Please take examples/ESP/main.cpp as the starting point for your first project. It is a minimal example which shows how to establish an OCPP connection and how to start and stop charging sessions. The API documentation can be found in ArduinoOcpp.h.

Dependencies

Mandatory:

If compiled with the Arduino integration:

In case you use PlatformIO, you can copy all dependencies from platformio.ini into your own configuration file. Alternatively, you can install the full library with dependencies by adding matth-x/ArduinoOcpp in the PIO library manager.

Next development steps

  • reach full compliance to OCPP 1.6 Smart Charging Profile
  • integrate Authorization Cache
  • get ready for OCPP 2.0.1 and ISO 15118

Supported Feature Profiles

Feature profile supported in progress
Core ✔️
Smart charging ✔️
Remote trigger ✔️
Firmware management ✔️

Further help

I hope this guide can help you to successfully integrate an OCPP controller into your EVSE. If something needs clarification or if you have a question, please send me a message.

✉️ : matthias A⊤ arduino-ocpp DО⊤ com

If you want professional assistance for your EVSE project, you can contact me as well. I'm looking forward to hearing about your ideas!

About

OCPP 1.6 client for ESP32 / ESP8266

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.9%
  • Other 1.1%