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 |
fa16d389 S |
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 | ||
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 |