Set up the control plane
In its core runs Python, the repository can be found in SDWSN-Controller.
Control plane Requirements
Python 3.10 or newer
Docker (Docker Engine)
NumPy (base N-dimensional array package)
Pandas (library for data manipulation and analysis)
stable_baselines3 (For reinforcement learning)
python-daemon (daemon process)
networkx (manipulation of complex networks)
pip-docker (Docker SDK for Python)
Installing the controller
Install
Before jumping into the following steps, you at least need to install Python, and Docker (For Cooja simulations).
Then, install the package, execute the below commands.
Clone the repository.
$ git clone https://github.com/fdojurado/SDWSN-controller.git
You may want to create a virtual environment, in the repository folder run.
$ python -m venv venv
Activate the virtual environment.
$ source venv/bin/activate
In the repository folder run.
$ python -m pip install .
Run under development
You may want to run the package in development mode by.
$ python -m pip install -e .
Verify control plane installation
You can verify the installation of the control plane by running.
$ python -m pip list
You should be able to see the package sdwsn-controller in the list.
Running the data plane in Cooja
If you want to run the data plane in the Cooja network simulator, you first need to setup your data plane by following the instructions in here.