Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

10antz22/lorawan

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

LoRaWAN ns-3 module

Gitter chat Build Status

This is an ns-3 module that can be used to perform simulations of a LoRaWAN network.

Getting started

Prerequisites

To run simulations using this module, you will need to install ns-3, and clone this repository inside the src directory. Required dependencies include mercurial and a build environment.

Installing dependencies

On Ubuntu, run the following to install all the required packets:

sudo apt install git mercurial build-essential

On macOS, you can install the command line tools with:

xcode-select --install

while Mercurial and git can be installed via Homebrew:

brew install mercurial git

Downloading

Assuming you have mercurial installed, the procedure to get both ns-3 and the lorawan module is the following:

hg clone http://code.nsnam.org/ns-3-dev
cd ns-3-dev/src
git clone git@github.com:DvdMgr/lorawan

Compilation

If you are interested in only compiling the lorawan module and its dependencies, copy the .ns3rc file from ns-3-dev/utils to ns-3-dev, and only enable the desired module by making sure the file contains the following line:

modules_enabled = ['lorawan']

To compile, move to the ns-3-dev folder, configure and then build ns-3:

./waf configure --enable-tests --enable-examples
./waf build

Finally, make sure tests run smoothly with:

./test.py -s lorawan

If the script returns that the lorawan test suite passed, you are good to go. Otherwise, if tests fail or crash, consider filing an issue.

Usage examples

The module includes the following examples:

  • simple-lorawan-network-example
  • complete-lorawan-network-example
  • network-server-example

Examples can be run via the ./waf --run example-name command.

Contributing

Refer to the contribution guidelines for information about how to contribute to this module.

Documentation

For a complete description of the module, refer to doc/lorawan.rst.

Getting help

To discuss and get help on how to use this module, you can write to us on our gitter chat.

Authors

  • Davide Magrin
  • Stefano Romagnolo
  • Michele Luvisotto
  • Martina Capuzzo

License

This software is licensed under the terms of the GNU GPLv2 (the same license that is used by ns-3). See the LICENSE.md file for more details.

Acknowledgments and relevant publications

The initial version of this code was developed as part of a master's thesis at the University of Padova, under the supervision of Prof. Lorenzo Vangelista, Prof. Michele Zorzi and with the help of Marco Centenaro.

Publications:

About

An ns-3 module for simulation of LoRaWAN networks.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 99.3%
  • Python 0.7%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.