Skip to content

OpenChargingCloud/OpenOCPP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenOCPP

Multi-platform OCPP 1.6/2.0.1 embedded software for charging stations.

Website: https://openocpp.com

Certifications

This project has been tested and passed core test cases as part of the OCTT 2.0.1 Vendor Declaration of Conformance: Screenshot of Vendor Declaration of Conformance summary

For more information on specific capabilities please contact support@openocpp.com

ESP32 Demo

Getting started

The ESP32 demo in this project depends on the ESP-IDF toolchain version v5.2.3. Setup instructions can be found here:

An example setup process on an Ubuntu VM is provided below:

# Install Prerequisites
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0

# Get ESP-IDF
mkdir -p ~/esp
cd ~/esp
git clone -b v5.2.5 --recursive https://github.com/espressif/esp-idf.git

# Set up the Tools
cd ~/esp/esp-idf
./install.sh esp32

# Activate ESP-IDF
. $HOME/esp/esp-idf/export.sh

Note: the activation step above must be run every time a new terminal is opened before running any of the idf.py commands.

Building the project

Open a terminal in the OpenOCPP project directory and run the following commands:

# Navigate to the demo-esp32 folder (if necessary) 
cd demo-esp32

# Active ESP-IDF (if necessary)
. $HOME/esp/esp-idf/export.sh

# Build the project - note: this step will take a few minutes
idf.py build

Running the project

From a terminal in the OpenOCPP project run the following commands:

# Navigate to the demo-esp32 folder (if necessary) 
cd demo-esp32

# Active ESP-IDF (if necessary)
. $HOME/esp/esp-idf/export.sh

# Flash and run the project
idf.py -p /dev/ttyUSB0 flash && idf.py -p /dev/ttyUSB0 monitor

Note that the above assumes that the ESP32 module/dev kit is connected to the /dev/ttyUSB0 interface in the system/VM.

For example: an ESP32 dev kit plugged into the host machine can generally be exposed to a KVM VM as follows:

  • Press: Add Hardware
  • Select: USB Host Device
  • Select: Silicon Labs CP210x UART Bridge
  • Press: Finish

Assuming the firmware is flashed successfully onto the ESP32 module the monitor command will restart the firmware and begin trailing the log messages. This should look something like the following:

I (31) boot: ESP-IDF v5.2.3 2nd stage bootloader
I (31) boot: compile time Feb 24 2025 10:14:06
I (31) boot: Multicore bootloader
I (35) boot: chip revision: v3.0
I (39) boot.esp32: SPI Speed      : 80MHz
I (44) boot.esp32: SPI Mode       : DIO
I (48) boot.esp32: SPI Flash Size : 4MB
I (53) boot: Enabling RNG early entropy source...
I (58) boot: Partition Table:
I (62) boot: ## Label            Usage          Type ST Offset   Length
I (69) boot:  0 nvs              WiFi data        01 02 00009000 00003000
I (77) boot:  1 pmjournal        Unknown data     01 06 0000c000 00002000
I (84) boot:  2 otadata          OTA data         01 00 0000e000 00002000
I (92) boot:  3 app1             OTA app          00 11 00010000 001e0000
I (99) boot:  4 app0             OTA app          00 10 001f0000 001e0000
I (106) boot:  5 spiffs           Unknown data     01 82 003d0000 0002f000
I (114) boot:  6 sernr            NVS keys         01 04 003ff000 00001000
I (122) boot: End of partition table
...

Provisioning to the simulator

When the firmware finishes initializing it begins broadcasting an open wifi access point for provisioning purposes named Charger Simulator. Connect to the access point and perform the following steps to connect the device to an OCPP back-end:

  • Open https://192.168.4.1 in your browser
    • Note that both an HTTP and HTTPS server (with a self-signed certificate) is run for the purpose of the demo
  • Accept the self-signed certificate
  • Submit the provisioning information:
    • Select the Wifi network (may take a moment to load)
    • Enter/confirm the Wifi password
    • Enter the OCPP network URL - for example:
      • ws://0123456789abcdef.octt.openchargealliance.org:25316
      • wss://my-ocpp-backend.com
    • Enter the OCPP ID to use
      • The value here is appended to the network URL, for example with an OCPP ID of TEST the simulator will connect to the following URLs in the examples above:
        • ws://0123456789abcdef.octt.openchargealliance.org:25316/TEST
        • wss://my-ocpp-backend.com/TEST
    • Select the OCPP protocol to use
    • Press: Submit

After the above is completed the simulator will restart and connect to the provided OCPP back-end.

Connecting to the running simulator

The running simulator can be controlled either by connecting to the simulator's IP address on the Wifi network it's connected to, or by re-connecting to the Charger Simulator Wifi network. Note that the Charger Simulator network will require the same password used to connect to the Wifi network after provisioning is complete.

When connected to the simulator the state of the device can be controlled via a web interface:

  • Connect to the simulator
    • Connect to the simulator's IP address on the local Wifi network: https://192.168.1.X
    • Connect directly to the simulator's access point:
      • Open https://192.168.4.1 in your browser (if your local network does not use the 192.168 prefix), otherwise
      • Open https://10.0.0.1 in your browser (if your local network does use the 192.168 prefix)
  • Select the Configuration tab to alter the charger's configuration, such as:
    • Altering the default networking profile slot/configuration
  • Select the Control tab to control the simulator, such as:
    • Simulate connecting/disconnecting a vehicle
    • Simulate charging suspended by EV/EVSE
    • Simulate an RFID or other local authorization

About

Multi-platform OCPP 1.6/2.0.1 embedded software for charging stations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.3%
  • HTML 1.9%
  • Other 0.8%