This project implements the 15118-20 norm for the use case DC BPT Dynamic using Python.
To install the tool, it is fairly straightforward:
- Download the git repository <https://gitlab.pleiade.edf.fr/R43/15118-20-v2g> and Miniconda <https://docs.conda.io/en/latest/miniconda.html>
git clone https://gitlab.pleiade.edf.fr/R43/15118-20-v2g
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- Setup a virtual environment
conda create -n edf15118-20 python=3.8
- Install dependencies
pip install -r requirements.txt // using pip
conda install -f environment.yml // using conda
- Configure the tool by modifying the .ini files.
- Set up the network settings (ports, interfaces, ChargeController,...)
- Connect to serial terminals using screen
- On the EVCC Charge Controller card, run to launch the driver:
sh start_server.sh // to have the logging on scree
systemctl start tcpserver.service // to have it on background
- Start the EVSE, then the EV
- Plug the cables
python secc/evse_gui.py // run evse
python secc/ev_gui.py // run ev
To stop running, use the stop button on the EV side.
python secc/start_evse.py // run evse
python secc/start_ev.py // run ev
To stop running, press ENTER on the EV side in the terminal.
To generate the documentation, go to doc and run:
make html
To update the XSD files and the associated XML classes:
- Make a backup of the old XSD files in shared/xsd_files/previous_version
- Make a backup of the old EXIG files as well in shared/exig_files/previous_version
- Copy the new XSD files in shared/xsd_files/latest_version
- Generate the new EXIG files using OpenEXI_Example4/OpenEXI_Example4.jar
- Copy the new EXIG files in shared/exig_files/latest_version
- Delete shared/xml_classes package
- Generate the new XML classes:
xsdata shared/xsd_files/latest_version/V2G_CI_AppProtocol.xsd --package shared.xml_classes.app_protocol
xsdata shared/xsd_files/latest_version/V2G_CI_CommonMessages.xsd --package shared.xml_classes.common_messages
xsdata shared/xsd_files/latest_version/V2G_CI_DC.xsd --package shared.xml_classes.dc
To generate new certificates, go to shared/certificates/ and run:
./generateCertificates.sh
To update all pip packages, run:
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
To export dependencies, run:
pip freeze > requirements.txt // using pip
conda env export > environment.yml // using conda
After generating .ui file, run:
pyuic5 <name>.ui > <name>.py