|
|
месяцев назад: 9 | |
|---|---|---|
| .. | ||
| .vscode | месяцев назад: 9 | |
| .editorconfig | месяцев назад: 9 | |
| .gitignore | месяцев назад: 9 | |
| .lintstagedrc.js | месяцев назад: 9 | |
| CHANGELOG.md | месяцев назад: 9 | |
| README.md | месяцев назад: 9 | |
| __init__.py | месяцев назад: 9 | |
| poetry.lock | месяцев назад: 9 | |
| pyproject.toml | месяцев назад: 9 | |
| server.py | месяцев назад: 9 | |
| timer.py | месяцев назад: 9 | |
This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python.
This project requires Python 3.7+ and poetry to install the required packages:
poetry install --no-root
To start the server, run the server.py script:
poetry run task server
Or
poetry run python server.py
The server will start listening for connections on port 9000.
You can also specify a command and a period duration with the --command and --period options respectively when running the server. The server will then send your chosen command to the connected client(s) every period seconds.
To run the server and send a GetBaseReport command every 5 seconds, use:
poetry run task server --command GetBaseReport --period 5
To run the server and send a ClearCache command every 5 seconds, use:
poetry run task server --command ClearCache --period 5
Please be mindful that these commands were examples according to the provided scenario, the available commands and their syntax might vary depending on the ocpp version and the implemented functionalities on your client.
The server script waits for connections from clients. When a client connects, the server creates a new instance of the ChargePoint class. This class includes methods for handling various OCPP messages, most of which return a dummy response.
The server script uses the websockets and ocpp libraries to facilitate the implementation.
poetry run task format
poetry run task lint
Primarily, this software is intended for testing applications. The server script don't adhere to the full OCPP specifications and it is advised not to use them in a production environment without additional development.
For reference: https://github.com/mobilityhouse/ocpp