Midd4VC (Middleware for Vehicular Cloud) is a lightweight and extensible middleware designed to support the creation and management of vehicular clouds. It mediates communication between vehicles and Vehicular Cloud Computing entities (e.g., application clients and roadside units), distributing and coordinating jobs among them. The current implementation adopts MQTT (Message Queuing Telemetry Transport), a widely used lightweight messaging protocol, and includes mechanisms for reconnection, message handling, and concurrent job execution.
These instructions will help you get a copy of this project and run it on your local machine for development and testing purposes.
Clone this repository to your local machine:
git clone https://github.com/davidjmc/midd4vc-isc225.gitNavigate into the project directory:
cd midd4vc-isc225This software was developed to run in a Linux environment.
To run the project, you will need to have Python3 and pip3 installed on your machine. You can download Python3 here or install it using the following commands:
# Install Python and pip:
sudo apt install python3 python3-pipAdditionally, install the EMQX:
# Install the EMQX apt repository:
curl -s https://packagecloud.io/install/repositories/emqx/emqx-enterprise5/script.deb.sh | sudo bash
# Install EMQX:
sudo apt-get install emqx
# Start EMQX:
sudo systemctl start emqxAfter cloning the repository, enter the project directory and install the dependencies:
pip3 install paho-mqtt==1.6.1Make sure the EMQX broker is running.
To run the server, use the command below:
cd server/
python3 Midd4VCServer.pyTo run the client, use the command below:
cd client/
# To run vehicle node, use:
python3 vehicle.py
# To run application client, use:
python3 application.pyThe results are stored in the evaluation. The experiment results were saved as CSV files and charts as pdf, which can be used for analysis and data visualization.