Commit | Line | Data |
---|---|---|
fa16d389 S |
1 | # OCPP2 Mock Server |
2 | ||
dd4588bb | 3 | This project includes an Open Charge Point Protocol (OCPP) version 2.0.1 mock server implemented in Python. |
fa16d389 S |
4 | |
5 | ## Prerequisites | |
6 | ||
c11be92a | 7 | This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages: |
dd4588bb | 8 | |
ac96356c | 9 | ```shell |
c11be92a | 10 | poetry install |
fa16d389 S |
11 | ``` |
12 | ||
13 | ## Running the Server | |
14 | ||
15 | To start the server, run the `server.py` script: | |
16 | ||
ac96356c | 17 | ```shell |
3a89ffcb | 18 | poetry run task server |
fa16d389 S |
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 | ||
4c69efea | 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 messages, most of which return a dummy response. |
fa16d389 | 28 | |
4c69efea | 29 | The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation. |
fa16d389 | 30 | |
ac96356c JB |
31 | ## Development |
32 | ||
33 | ### Code formatting | |
34 | ||
35 | ```shell | |
36 | poetry run task format | |
37 | ``` | |
38 | ||
39 | ### Code linting | |
40 | ||
41 | ```shell | |
42 | poetry run task lint | |
43 | ``` | |
44 | ||
fa16d389 S |
45 | ## Note |
46 | ||
c11be92a | 47 | 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. |
fa16d389 S |
48 | |
49 | For reference: | |
50 | https://github.com/mobilityhouse/ocpp |