This repository presents an MQTT-SN implementation using the discrete event simulator OMNeT++. The development is mostly compliant with the protocol standards. See details in the MQTT-SN specification.
The primary aim of the work is academic, serving as the completion of my final MSc thesis. For more information, please access the related documentation.
-
Install OMNeT++: Download and install OMNeT++ from OMNeT++.
-
Install INET Framework: Download and integrate the INET framework into OMNeT++. Learn more about INET.
-
Clone the Repository: Clone this repository using:
git clone https://github.com/taygumus/mqtt-sn.git
-
Include JSON library: Download the
json.hpp
file from the nlohmann JSON repository and place it in thesrc/externals/nlohmann
directory.
To run simulations:
-
Open the OMNeT++ IDE.
-
Either use the existing simulation model or make edits to the
simulations/WifiNetwork.ned
file as required. -
Use the existing parameters or modify them in the
simulations/omnetpp.ini
file as needed. -
Run the simulation.
-
Results can be found within the
simulations/results
directory.
There are certainly opportunities for refinement and enhancement, particularly in terms of addressing a few minor omitted functionalities, some method refactoring and overall performance improvement. The project meets the academic goals for the final thesis. Contributions are warmly welcomed and your input would be highly appreciated.
-
OMNeT++: Licensed under its own Academic Public License.
-
INET Framework: GNU Lesser General Public License. For details, see INET License repository.
-
JSON for Modern C++ by Niels Lohmann: Used under the MIT License. The license details can be viewed in the nlohmann JSON MIT License.