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. |
f937c172 | 4 | https://github.com/mobilityhouse/ocpp/blob/master/ocpp/v201/enums.py |
fa16d389 S |
5 | |
6 | ## Prerequisites | |
7 | ||
c11be92a | 8 | This project requires Python 3.7+ and [poetry](https://python-poetry.org/) to install the required packages: |
f93800e5 | 9 | |
f937c172 S |
10 | ```shell |
11 | pip install poetry | |
12 | ``` | |
f93800e5 | 13 | |
f937c172 | 14 | then |
dd4588bb | 15 | |
ac96356c | 16 | ```shell |
c11be92a | 17 | poetry install |
fa16d389 S |
18 | ``` |
19 | ||
20 | ## Running the Server | |
21 | ||
22 | To start the server, run the `server.py` script: | |
23 | ||
ac96356c | 24 | ```shell |
3a89ffcb | 25 | poetry run task server |
fa16d389 | 26 | ``` |
f93800e5 | 27 | |
f937c172 | 28 | or |
fa16d389 | 29 | |
f937c172 S |
30 | ```shell |
31 | poetry run task server --request GetBaseReport --period 5 | |
32 | ``` | |
f93800e5 | 33 | |
fa16d389 S |
34 | The server will start listening for connections on port 9000. |
35 | ||
36 | ## Overview of the Server Scripts | |
37 | ||
38 | ### Server.py | |
39 | ||
4c69efea | 40 | 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 | 41 | |
4c69efea | 42 | The server script uses the `websockets` and `ocpp` libraries to facilitate the implementation. |
fa16d389 | 43 | |
ac96356c JB |
44 | ## Development |
45 | ||
46 | ### Code formatting | |
47 | ||
48 | ```shell | |
49 | poetry run task format | |
50 | ``` | |
51 | ||
52 | ### Code linting | |
53 | ||
54 | ```shell | |
55 | poetry run task lint | |
56 | ``` | |
57 | ||
fa16d389 S |
58 | ## Note |
59 | ||
c11be92a | 60 | 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 |
61 | |
62 | For reference: | |
63 | https://github.com/mobilityhouse/ocpp |