Presentation¶
This project implements the 15118-20 norm for the use case DC BPT Dynamic using Python.
Installation and configuration¶
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.
Usage¶
GUI¶
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.
Log-based¶
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.
Extras¶
Generating documentation¶
To generate the documentation, go to doc and run:
make html
Updating XSD files and associated XML classes¶
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 :see:`http://openexi.sourceforge.net/tutorial/example4.htm`
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
Generating new certificates¶
To generate new certificates, go to shared/certificates/ and run:
./generateCertificates.sh
Updating packages¶
To update all pip packages, run:
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Exporting dependencies¶
To export dependencies, run:
pip freeze > requirements.txt // using pip
conda env export > environment.yml // using conda
Generating python file from QtDesigner¶
After generating .ui file, run:
pyuic5 <name>.ui > <name>.py