MiniV2G is a fork of Mininet-WiFi which in turn is a fork of Mininet. It offers the simulation of Vehicle-to-Grid (V2G) environment thanks to the integration with RiseV2G.
MiniV2G only add V2G features and you can work with it like you were working with Mininet/Mininet-WiFi.
- You can use examples/miniedit.py to create a simple topology with a graphical interface
- Alternatively, or to create more complex project, you can write a Python files taking as example examples/v2g-cli.py
- An example of a Man-in-the-Middle attack is provided by examples/v2g-mim.py
- Keep in mind any other recommendations of Mininet-WiFi and Mininet.
Please, let us know if you are doing research with MiniV2G.
The installation could be intricate. We recommend using our VM with MiniV2G preinstalled. You can download it using Vagrant:
vagrant init blackwiz4rd/ubuntu20.04-miniv2g
vagrant up
vm-ubuntu20.04-miniv2g (2.8 GB) (password of the VM: vagrant)
Otherwise, you can go for a standard installation as follows:
We highly recommend using Ubuntu version 16.04 or higher. Some new hostapd features might not work on Ubuntu 14.04.
step 1: $ sudo apt-get install git
step 2: $ git clone https://github.com/donadelden/miniV2G
step 3: $ cd miniV2G
step 4: $ sudo util/install.sh -WlnfvG
If you update the source code use this command to install it:
step n: $ sudo util/install.sh -Wn # e.g. if you update v2g.py install with this command
-W: wireless dependencies
-n: mininet-wifi dependencies
-f: OpenFlow
-v: OpenvSwitch
-l: wmediumd
-G: V2G features with MitM support
optional:
-P: P4 dependencies
-6: wpan tools
I'm a beginner, I do not know Python and I would like to create a customized topology. In this case MiniEdit can serve as support since they provide a GUI to generate Python scripts.
You can take a look at all the properties available in this file.
For instructions about easier development check this helper file, which contains the same informations of Mininet-WiFi.
For the WiFi part, MiniV2G should work fine in any Ubuntu distribution from 14.04, but in some cases (only if you have problems when start it) you have to stop Network Manager with either sudo systemctl stop network-manager
or sudo service network-manager stop
.
Luca Attanasio ([email protected])
Denis Donadel ([email protected])
Federico Turrin ([email protected])
We are members of SPRITZ Security and Privacy Research Group at University of Padua, Italy.
Are you using MiniV2G in your research work? Please, cite us:
@inproceedings{attanasio2021miniv2g,
title={MiniV2G: An Electric Vehicle Charging Emulator},
author={Attanasio, Luca and Conti, Mauro and Donadel, Denis and Turrin, Federico},
booktitle={Proceedings of the 7th ACM on Cyber-Physical System Security Workshop},
pages={65--73},
year={2021}
}