#HACKATHON 2022
This Python program simulates a basic Smart Energy Management System (SEMS), particularly focusing on how it might intelligently manage energy resources to charge Electric Vehicles (EVs).
The system simulates a scenario where you have:
- Electric Vehicles (EVs): Each with a specific name and battery capacity.
- Energy Sources:
- PV (Photovoltaic/Solar): Simulates solar energy availability.
- ESU (Energy Storage Unit): Simulates a battery storage system.
- Grid: Represents the conventional power grid.
- Time Zones: The simulation considers different time zones and their potential impact on energy availability (e.g., solar energy being more readily available during the day).
-
Data Input: The system reads data from a JSON file (
formated_data.json
), which contains information about:- Available cars (name, capacity).
- Time zones and their corresponding PV, ESU, and Grid energy availability.
-
User Interaction:
- The program presents the user with a list of available cars and time zones.
- You can select one or more cars to charge and specify the time zone for the simulation.
-
Energy Management Logic:
- The program calculates the total energy demand based on the selected cars.
- It prioritizes energy sources in the following order:
- PV (Solar): If enough solar energy is available, it's used first.
- ESU (Battery): If solar energy is insufficient or unavailable, the battery storage is utilized.
- Grid: The power grid is used as a last resort if PV and ESU can't meet the demand.
- The system determines the most efficient charging mode (e.g.,
PV2EV
,ESU2EV
,GRID2EV
).
-
Output:
- The program displays:
- A summary of available cars, their capacities, and time zones.
- The calculated energy demand, energy source usage, and the charging mode for each selected car.
- The results can also be optionally written to a text file.
- The program displays:
-
Prerequisites: Make sure you have Python 3 installed on your system. You'll also need to install the required libraries:
pip install colorama prettytable requests
-
Data File: Ensure that you have a properly formatted JSON file (formated_data.json) with the required data structure as shown in the example file.
-
Run the Program:
python Main.py or python universal_smart_charging_infrastructure.py
Interact with the Simulation:
- Follow the on-screen prompts to:
- Select car numbers (separated by commas).
- Enter the time zone.
- Use the following commands for additional options:
- get help: Display help information.
- get update: Check for and download updates (if available).
- get clear: Clear the screen.