| 1 | # OCPP2 Mock Server |
| 2 | |
| 3 | This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python. |
| 4 | |
| 5 | ## Prerequisites |
| 6 | |
| 7 | This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages: |
| 8 | |
| 9 | ``` |
| 10 | poetry install |
| 11 | ``` |
| 12 | |
| 13 | ## Running the Server |
| 14 | |
| 15 | To start the server, run the `server.py` script: |
| 16 | |
| 17 | ``` |
| 18 | python server.py |
| 19 | ``` |
| 20 | |
| 21 | The server will start listening for connections on port 9000. |
| 22 | |
| 23 | ## Overview of the Server Scripts |
| 24 | |
| 25 | ### Server.py |
| 26 | |
| 27 | 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 actions (`BootNotification`,`GetBaseReport`), most of which return a dummy response. The `GetBaseReport` method prints the received request and returns a simple confirmation message. |
| 28 | |
| 29 | The server script uses the websockets and ocpp libraries to facilitate the WebSocket and OCPP communication. |
| 30 | |
| 31 | ## Note |
| 32 | |
| 33 | 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. |
| 34 | |
| 35 | For reference: |
| 36 | https://github.com/mobilityhouse/ocpp |