The Illuminator is an easy-to-use Energy System Integration Development kit to demystify energy system operation, illustrate challenges that arise due to the energy transition and test state-of-the-art energy management concepts. we utilise Raspberry Pis as the individual components of the energy system emulator, and the simulation engine is based on Mosaik.
- This project is supported by TU Delft PowerWeb and Stichting 3E.
- For more comprehensive support, please contact us at [email protected]. Additionally, you can reach out to the main contributors for specific inquiries: Aihui Fu: [email protected] Dr.ir. Milos Cvetkovic: [email protected]
The setup consists of one leader RasPi and several follower RasPis. The leader RasPi has permission to access and control the follower RasPis through Secure Shell Protocol (SSH). Once we set the simulation configuration, the leader RasPi will engage the follower RasPis to run the specified simulators. During the simulation, the information will be exchanged between RasPis via socket connection. The leader RasPi shows the results through Dashboard and saves the results to a ’.csv’ file for later analysis. Since the Illuminator is Python based, this code can also run on regular machines(PC). If you run the Illuminator in one regular PC, then you don't need to do the Illuminator environment set up.
- Install Raspberry pi OS using raspberry pi imager.
- Set static IP address for the Raspberry Pi.
Use the following command from in terminal to open the dhcpcd.conf file:
In the dhcpcd.conf file, find the information to change the IP address as static as following:
sudo nano /etc/dhcpcd.conf
Finally reboot the Raspberry Pi throughinterface etho static ip_address=192.168.0.1/24#change the IP address as you want
sudo reboot
in the terminal. - Set leader RasPi to connect followers without password.
- Install the required packages in the python.
pandas tk python-csv datetime python-math numpy scipy arrow mosaik mosaik_api mosaik.util wandb matplotlib itertools
- Send the Illuminator package to all follower Raspberry Pis. Use the following command in the leader Raspberry Pi terminal to check the connection
between leader and follower Raspberry Pis.
ssh illuminator@ip #ip represent your follower IP address
- Run the ‘buildcilentremoterun.py’ file at each follower and give all users execute permission to all the documents in “runshfile” in order
to make sure the leader can access the follower model.
chmod -R a+X *dir*
More detialed instructions are given in the user guide document and model build up document.
Illuminator is available under a GNU Lesser General Public License (LGPL) license. The Illuminator team accepts contributions to the Illuminator source, test files, documentation, and other materials distributed with the program. If you are interested in contributing, please start there, and feel free to reach out to the team using [email protected]. The Illuminator team does not take any responsibility for the damage or loss that this code might provide.
Reference for the Illuminator: A. Fu, R. Saini, R. Koornneef, A. van der Meer, P. Palensky and M. Cvetković, "The Illuminator: An Open Source Energy System Integration Development Kit," 2023 IEEE Belgrade PowerTech, Belgrade, Serbia, 2023, pp. 01-05, doi: 10.1109/PowerTech55446.2023.10202816.
The Illuminator team extends its sincere gratitude for the invaluable support and contributions from our dedicated members:
- Aihui Fu, who played a pivotal role as the main developer for both Versions 1.0 and 2.0.
- Remko Koornneef, whose expertise in hardware development has been instrumental.
- Siva Kaviya, for her significant contributions to the development of the initial version.
- Raghav Saini, for his substantial involvement in developing the models for Version 1.0.
- Niki Balassi, for his crucial role in advancing the multi-energy system models in Version 2.0.
Each of these individuals has been essential in shaping the success and evolution of our project. We are profoundly thankful for their dedication and expertise.