LoRaWAN
The LoRa Alliance first defined the LoRaWAN standard with the objective of creating a medium access scheme and a set of network management policies that leverage the properties of the modulation to achieve good network performance at a low price in the complexity of the devices[5].
The topology of a LoRaWAN network is represented in the figure Topology of the LoRaWAN architecture., where dotted lines represent a LoRa wireless link while solid lines are other kinds of high throughput, high reliability connections. It can be seen that there are three kinds of devices in a LoRaWAN network: End Devices (EDs), Gateways (GWs) and a Network Server (NS). End Devices are basic network nodes: typically inexpensive, they are constrained by low computational capabilities and are usually powered by a battery. Gateways are high-end, mains powered devices that are tasked with collecting the data transmitted by End Devices leveraging the LoRa modulation. After a packet is correctly received, it is forwarded to the Network Server via a link with high reliability and speed. The Network Server functions as a sink for data coming from all devices, and as a controller of the network that can leverage some MAC commands to change transmission settings in the End Devices.
Topology of the LoRaWAN architecture[5].
LoRaWAN Module[5]
This module contains a series of classes and examples aimed at modeling the modulation and medium access technology of a LoRaWAN network. Thanks to a simple underlying physical layer model and to the regulations imposed on traffic in the unlicensed bands this technology operates on, this module can support simulations featuring a large number of devices that access the wireless channel infrequently.
The following previous article explains the installation of lorawan ns-3 extension on ns-3.35.
This article explains the installation of ‘lorawan’ extension module version v0.3.1 under ns-3.42.
Installation Steps
Step 0 : Installing ns-3.42
First, we may need to install ns-3.42 as explained in the following procedure :
Step 1: Clone the lorawan repository under src folder of ns-3.42
$ cd /home/your_home/ns-allinone-3.42/ns-3.42
$ git clone https://github.com/signetlabdei/lorawan src/lorawan
Step 2: Reconfigure ns-3
$ cd /home/your_home/ns-allinone-3.42/ns-3.42
$ ./ns3 configure
The following output shows the configured modules. You can now see the lorawan module in this list.
Step 3: Rebuild ns-3
$ cd /home/your_home/ns-allinone-3.42/ns-3.42
$ ./ns3 build -j2
Now the build process starts to compile lowawan and its dependent components of ns-3.
Step 4: Testing lorawan Installation by Running an Example
$ cd /home/your_home/ns-allinone-3.42/ns-3.42
$ ./ns3 run simple-network-example
The following screen output shows the successful run of that example.
Running ADR example:
$ cd /home/your_home/ns-allinone-3.42/ns-3.42
$ ./ns3 run adr-example
Visualizing ADR scenario under NetAnim:
The following NetAnim output shows what simulated LoRaWAN network.
For better visualization of ED nodes and other nodes, we may zoom in to the network scenario.
Doing Scholarly Research on LoRaWAN
The above outputs are elementary ones. In fact, it is possible to do an excellent research work on LoRaWAN since it has lot of scope for new innovations in WSN and IoT.
It is possible to do a research quality evaluation and new innovations on this area and attain results such as the one shown in the following article.
Generating Genuine, Quality Tables & Graphs for Publication.
It is possible to do the WSN/IoT based research works under ns-3 using ns3-sigfox moudule also. The following article explains the way of installing ns3-sigfox module under ns-3:
Installing ns3-sigfox on higher versions of ns-3 using CMake
Further, it is possible to do the WSN/IoT based research works under ns-3 using NB-IoT moudule also. The following article explains the way of installing NB-IoT module under ns-3:
References:
- https://en.wikipedia.org/wiki/LoRa
- https://apps.nsnam.org/app/lorawan/
- https://github.com/signetlabdei/lorawan
- https://signetlabdei.github.io/lorawan-docs/models/build/html/lorawan.html
- https://signetlabdei.github.io/lorawan/models/build/html/lorawan.html
- https://www.projectguideline.com/simulation-and-analysis-of-iot-lorawan-networks-under-ns-3/
- https://www.projectguideline.com/ns-3-42/