Skip to content

Majkel-code/GE_EvChargingStation

Repository files navigation

🌿 GE_EvChargingStation

Green Energy for a Sustainable Future

GE_EvChargingStationLOGO

🛠️ Tested OS

OS CONSOLE DISPLAY Standalone App
[Windows]
[Linux]
[MacOS]

📖 Table of Contents


🚀 Overview

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."


Features

  • 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).

🛠️ Tech Stack

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.

📦 Installation

  1. Prerequisites:
    Ensure Python v3.11+ is installed.

  2. Clone the Repository:

    git clone <repository-url>
    cd GE_EvChargingStation
  3. Install Dependencies:

    pip3 install -r ./requirements.txt

▶️ RUN

1️⃣ Running the Server (from Code)

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

img

📝 NOTE - *_history.json files will create when first connection CHARGER ↔ VEHICLE will up

2️⃣ Running the server (Standalone App)

cd GE_EvChargingStation/BUILDER

Here you should see structure as below.

img

  • Structure begins of component - then out_(date of build)
  • ⚠️ If you want to make another build just perform
    .venv/bin/pyinstaller BUILDER/[component].spec
    after some time it should create directory with actual date of build and application inside
    • ⚠️ Old build will not be deleted automatically!

From here just run these apps

  • Logs and Authorization directory will create in your current directory

3️⃣ Use the Server (Without Display)

In a third terminal tab, send a curl request or use Postman:

curl http://127.0.0.1:5000/is_alive

⚠️ Some of the endpoints needs AUTHORIZATION_KEY (host_key.txt) Charger will create it in first run

Collection of requests can be find in ./postman_collection

4️⃣ Optional: Running the Display

  • To open setup for display please follow this link -> CLICK HERE

📜 License

MIT License.
Free Software, Hell Yeah!


💬 Contact

For questions or feedback, feel free to reach out:
🌐 GitHub: Majkel-code