
OS | CONSOLE | DISPLAY | Standalone App |
---|---|---|---|
[Windows] | ✅ | ✅ | ❌ |
[Linux] | ✅ | ✅ | ❌ |
[MacOS] | ✅ | ✅ | ✅ |
GE_EvChargingStation is a lightweight charger and vehicle simulator designed to help users simulate charging flows, explore connectivity types, and understand the fundamentals of electric vehicle charging.
🌍 "Electric vehicles are the future of sustainable transportation."
- ⚡ Run Server: Start charger and vehicle servers to simulate charging sessions.
- 🛠️ Edit Settings: Customize charger and vehicle configurations.
- 🔌 Simulate Charging: Run charge sessions for one or two outlets simultaneously.
- 📊 Real-Time Monitoring: View logs or use a dedicated display (Electron app supported).
Technology | Description |
---|---|
[FastAPI] | High-performance web framework. |
[Python] | Version 3.11 or higher. |
[JavaScript] | For front-end and Electron integration. |
[Electron] | Desktop app for real-time monitoring. |
-
Prerequisites:
Ensure Python v3.11+ is installed. -
Clone the Repository:
git clone <repository-url> cd GE_EvChargingStation
-
Install Dependencies:
pip3 install -r ./requirements.txt
Open two terminal tabs and execute the following commands:
First Tab:
cd GE_EvChargingStation
python3 CHARGER/charger_server.py
Second Tab:
cd GE_EvChargingStation
python3 VEHICLE/vehicle_server.py
It should create also directories where you will find log files
📝 NOTE - *_history.json files will create when first connection CHARGER ↔ VEHICLE will up
cd GE_EvChargingStation/BUILDER
Here you should see structure as below.
- Structure begins of component - then out_(date of build)
⚠️ If you want to make another build just performafter some time it should create directory with actual date of build and application inside.venv/bin/pyinstaller BUILDER/[component].spec
⚠️ Old build will not be deleted automatically!
From here just run these apps
- Logs and Authorization directory will create in your current directory
In a third terminal tab, send a curl
request or use Postman:
curl http://127.0.0.1:5000/is_alive
- You can paste 📋 it to ${GLOBAL_AUTH_KEY} in ./tests/ROBOT_TESTS/testdata/variables/globals.resource to perform automation tests
- Use it as authorization header via Postman
- Send curls via terminal
Collection of requests can be find in ./postman_collection
- To open setup for display please follow this link -> CLICK HERE
MIT License.
Free Software, Hell Yeah!
For questions or feedback, feel free to reach out:
🌐 GitHub: Majkel-code