{"id":38106015,"url":"https://github.com/signetlabdei/lorawan","last_synced_at":"2026-01-16T21:36:57.336Z","repository":{"id":48437795,"uuid":"105378742","full_name":"signetlabdei/lorawan","owner":"signetlabdei","description":"An ns-3 module for simulation of LoRaWAN networks","archived":false,"fork":false,"pushed_at":"2025-11-08T16:34:16.000Z","size":1280,"stargazers_count":211,"open_issues_count":31,"forks_count":140,"subscribers_count":18,"default_branch":"develop","last_synced_at":"2025-11-08T17:25:05.895Z","etag":null,"topics":["lora","lora-alliance","lorawan","network-analysis","network-simulator","simulation"],"latest_commit_sha":null,"homepage":"https://apps.nsnam.org/app/lorawan","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/signetlabdei.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-09-30T15:18:11.000Z","updated_at":"2025-10-30T13:08:25.000Z","dependencies_parsed_at":"2023-09-24T16:56:47.942Z","dependency_job_id":"e64b5e28-6747-4663-b540-7cfee59ce797","html_url":"https://github.com/signetlabdei/lorawan","commit_stats":{"total_commits":189,"total_committers":12,"mean_commits":15.75,"dds":0.4814814814814815,"last_synced_commit":"b32b8cfbafef62436de81e7d8f5810986d7d5cf9"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/signetlabdei/lorawan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/signetlabdei%2Florawan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/signetlabdei%2Florawan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/signetlabdei%2Florawan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/signetlabdei%2Florawan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/signetlabdei","download_url":"https://codeload.github.com/signetlabdei/lorawan/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/signetlabdei%2Florawan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28483401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lora","lora-alliance","lorawan","network-analysis","network-simulator","simulation"],"created_at":"2026-01-16T21:36:56.674Z","updated_at":"2026-01-16T21:36:57.330Z","avatar_url":"https://github.com/signetlabdei.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LoRaWAN ns-3 module\n\n[![CI](https://github.com/signetlabdei/lorawan/actions/workflows/per-commit.yml/badge.svg)](https://github.com/signetlabdei/lorawan/actions)\n[![codecov](https://codecov.io/gh/signetlabdei/lorawan/graph/badge.svg?token=EVBlTb4LgQ)](https://codecov.io/gh/signetlabdei/lorawan)\n\nThis is an [ns-3](https://www.nsnam.org \"ns-3 Website\") module that can be used\nto perform simulations of a [LoRaWAN](https://lora-alliance.org/about-lorawan\n\"LoRa Alliance\") network.\n\nQuick links:\n\n* [Simulation Model Overview](https://signetlabdei.github.io/lorawan/models/build/html/lorawan.html)\n\n* [API Documentation](https://signetlabdei.github.io/lorawan/html/d5/d00/group__lorawan.html)\n\n## Getting started\n\n### Prerequisites\n\nTo run simulations using this module, you first need to install ns-3. If you are on Ubuntu/Debian/Mint, you can install the minimal required packages as follows:\n\n```bash\nsudo apt install g++ python3 cmake ninja-build git ccache\n```\n\nOtherwise please directly refer to the [prerequisites section of the ns-3 installation page](https://www.nsnam.org/wiki/Installation#Prerequisites).\n\n\u003e Note: While the `ccache` package is not strictly required, it is highly recommended. It can significantly enhance future compilation times by saving tens of minutes, albeit with a higher disk space cost of approximately 5GB. This disk space usage can be eventually reduced through a setting.\n\nThen, you need to:\n\n1. Clone the main ns-3 codebase,\n1. Clone this repository inside the `src` directory therein, and\n1. Checkout the current ns-3 version supported by this module.\n\nTo install this module at the latest commit, you can use the following all-in-one command:\n\n```bash\ngit clone https://gitlab.com/nsnam/ns-3-dev.git \u0026\u0026 cd ns-3-dev \u0026\u0026\ngit clone https://github.com/signetlabdei/lorawan src/lorawan \u0026\u0026\ntag=$(\u003c src/lorawan/NS3-VERSION) \u0026\u0026 tag=${tag#release } \u0026\u0026 git checkout $tag -b $tag\n```\n\n**Note**: When switching to any previous commit, *including the latest release*, always make sure to also checkout ns-3 to the correct version (`NS3-VERSION` file at the root of this repository) supported at that point in time.\n\n### Compilation\n\nNs-3 adopts a development-oriented philosophy. Before you can run anything, you'll need to compile the ns-3 code. You have two options:\n\n1. **Compile ns-3 as a whole:** Make all simulation modules available by configuring and building as follows (ensure you are in the `ns-3-dev` folder!):\n\n   ```bash\n   ./ns3 configure --enable-tests --enable-examples \u0026\u0026\n   ./ns3 build\n   ```\n\n1. **Focus exclusively on the lorawan module:** To expedite the compilation process, as it can take more than 30/40 minutes on slow hardware, change the configuration as follows:\n\n   ```bash\n   ./ns3 clean \u0026\u0026\n   ./ns3 configure --enable-tests --enable-examples --enable-modules lorawan \u0026\u0026\n   ./ns3 build\n   ```\n\n   The first line ensures you start from a clean build state.\n\nFinally, ensure tests run smoothly with:\n\n```bash\n./test.py\n```\n\nIf the script reports that all tests passed you are good to go.\n\nIf some tests fail or crash, consider filing an issue.\n\n## Usage examples\n\nThe module includes the following examples:\n\n* `simple-network-example`\n* `complete-network-example`\n* `network-server-example`\n* `adr-example`\n* `aloha-throughput`\n* `frame-counter-update`\n* `lora-energy-model-example`\n* `parallel-reception-example`\n\nExamples can be run via the `./ns3 run example-name` command (refer to `./ns3 run --help` for more options).\n\n## Documentation\n\n* [Simulation Model Overview](https://signetlabdei.github.io/lorawan/models/build/html/lorawan.html): A description of the foundational models of this module (source file located at `doc/lorawan.rst`).\n* [API Documentation](https://signetlabdei.github.io/lorawan/html/d5/d00/group__lorawan.html): documentation of all classes, member functions and variables generated from Doxygen comments in the source code.\n\nOther useful documentation sources:\n\n* [Ns-3 tutorial](https://www.nsnam.org/docs/tutorial/html/ \"ns-3 Tutorial\"): **Start here if you are new to ns-3!**\n* [Ns-3 manual](https://www.nsnam.org/docs/manual/html/ \"ns-3 Manual\"): Overview of the fundamental tools and abstractions in ns-3.\n* The LoRaWAN specification can be downloaded at the [LoRa Alliance\n  website](http://www.lora-alliance.org).\n\n## Getting help\n\nTo discuss and get help on how to use this module, you can open an issue here.\n\n## Contributing\n\nRefer to the [contribution guidelines](.github/CONTRIBUTING.md) for information\nabout how to contribute to this module.\n\n## Authors\n\n* Davide Magrin\n* Martina Capuzzo\n* Stefano Romagnolo\n* Michele Luvisotto\n\n## License\n\nThis software is licensed under the terms of the GNU GPLv2 (the same license\nthat is used by ns-3). See the LICENSE.md file for more details.\n\n## Acknowledgments and relevant publications\n\nThe initial version of this code was developed as part of a master's thesis at\nthe [University of Padova](https://unipd.it \"Unipd homepage\"), under the\nsupervision of Prof. Lorenzo Vangelista, Prof. Michele Zorzi and with the help\nof Marco Centenaro.\n\nPublications:\n\n* D. Magrin, M. Capuzzo and A. Zanella, \"A Thorough Study of LoRaWAN Performance Under Different\n  Parameter Settings,\" in IEEE Internet of Things Journal. 2019.\n  [Link](http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=\u0026arnumber=8863372\u0026isnumber=6702522).\n* M. Capuzzo, D. Magrin and A. Zanella, \"Confirmed traffic in LoRaWAN: Pitfalls\n  and countermeasures,\" 2018 17th Annual Mediterranean Ad Hoc Networking\n  Workshop (Med-Hoc-Net), Capri, 2018. [Link](https://ieeexplore.ieee.org/abstract/document/8407095).\n* D. Magrin, M. Centenaro and L. Vangelista, \"Performance evaluation of LoRa\n  networks in a smart city scenario,\" 2017 IEEE International Conference On\n  Communications (ICC), Paris, 2017. [Link](http://ieeexplore.ieee.org/document/7996384/).\n* Network level performances of a LoRa system (Master thesis). [Link](http://tesi.cab.unipd.it/53740/1/dissertation.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignetlabdei%2Florawan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsignetlabdei%2Florawan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignetlabdei%2Florawan/lists"}