Skip to content

Installing ns3-sigfox module under ns3.33 by using ns-3-dev.

Low-power wide-area network (LPWAN).

Sigfox is a low-power, wide-area network (LPWAN) technology designed for connecting devices and sensors to the internet of things (IoT). It operates on licensed cellular bands, providing better coverage and longer battery life compared to other wireless IoT technologies. NB-IoT is optimized for low-bandwidth, low-power applications that require long-range connectivity and is suitable for use cases such as smart metering, asset tracking, and environmental monitoring.

These networks use low-power radio signals, such as those in the sub-1 GHz range, to send small amounts of data over a large area. LPWANs are used in applications such as wireless sensor networks(WSN), smart energy, smart cities, and the Internet of Things (IoT). 

They are also used to connect devices in remote locations that don’t have access to reliable internet connections. LPWANs are ideal for applications that require low data rates, long battery life, and low cost. 

Examples of LPWANs include Sigfox, LoRaWAN, and Weightless. LPWANs are commonly used in applications including Smart metering, smart lighting, asset monitoring and tracking, smart cities, precision agriculture, livestock monitoring, energy management, manufacturing, and industrial IoT deployments.

The following article presents some introduction to some of the available LPWAN technologies:

 

Low-power wide-area networks(LPWAN) & Internet of Things(IoT)

Sigfox. 

It is a low-power, wide-area network (LPWAN) technology designed for connecting devices to the internet of things (IoT). It operates on unlicensed radio frequencies and provides long-range, low-bandwidth connectivity for IoT devices. Sigfox is optimized for low-power applications that require long battery life and infrequent data transmission, such as asset tracking, environmental monitoring, and smart city infrastructure. Sigfox offers a global network coverage and is typically used in conjunction with a subscription-based service for IoT connectivity.

ns3-Sigfox[1]

It  is a module for the popular network simulator ns-3 that allows simulation of Sigfox network performance. It provides an open-source tool for researchers and developers to model and evaluate the performance of Sigfox networks in various scenarios, such as different network topologies, traffic loads, and radio propagation conditions. ns3-Sigfox can be used to analyze network performance metrics such as throughput, latency, packet loss, and energy consumption, and to optimize network configurations and protocols. It is a useful tool for designing and testing Sigfox-based IoT applications before deploying them in the real world.

 

Installing ns-3.33 from ns-3-dev version

For installing ns-3-dev one may first follow the procedure explained in the following article :

Installing ns-3-dev Under chroot Jail and Compile with CMake

and then downgrade the version to ns-3.33

As follows :

 

copying the ns3-sigfox module under ‘/src’ folder and configure it as follows:

 

$ cd Your_Home/Sigfox/ns-3-dev 
$ ./waf configure

 

if we try to configure it using ‘waf’, then you may end with error

“Could not find a task generator for the name ‘ns3-xxx” … …”

You have to do the following to avoid this error :

Hidden Section! Contact Charles  

The key/passphrase will be given once you have been approved for getting paid research support/assistance from Charles. To get paid support, you may start a 'free' research discussion.  

WhatsApp chatDiscuss Through WhatsApp
 

 
If you try to configure it again, then it will not show any config errors.

 

$ cd Your_Home/Sigfox/ns-3-dev  
$ ./waf configure

So, we may try to compile it as follows.

$ cd Your_Home/Sigfox/ns-3-dev  
$ ./waf 

 

Now compile ns-3 again using waf. After successful compilation, you will see  the following screen as the proof of successful compile of ns-3 along with ns3-sigfox module.
 
 
 
But even after the successful compile, you can not able to run the example simulations or could not able to compile it with –enable-examples configure option. If you try to compile with –enable-examples option or if you try to run any example simulation, then it will end up with some ‘header file missing’ kind of error.
 
To make use of ns3-sigfox module, we need to do the following :
 

Hidden Section! Contact Charles  

The key/passphrase will be given once you have been approved for getting paid research support/assistance from Charles. To get paid support, you may start a 'free' research discussion.  

WhatsApp chatDiscuss Through WhatsApp
 

So, we may try to compile it as follows.

$ cd Your_Home/Sigfox/ns-3-dev  
$ ./waf 

 After successful compilation, you will see the following screen as the proof of successful compile of ns-3 along with ns3-sigfox module. It looks the same as the previous compile. But now it will really work now without any errors.

 

 

 

 

The above screen output proves that the ns3-sigfox module installation is successful and working good.

 

But, still, if we try to run the default energy model simulation examples, we may end with a error as shown below :

 

It can also be corrected as follows :

Hidden Section! Contact Charles  

The key/passphrase will be given once you have been approved for getting paid research support/assistance from Charles. To get paid support, you may start a 'free' research discussion.  

WhatsApp chatDiscuss Through WhatsApp
 

 

Conclusion

In fact, ns3-sigfox is a significant work on simulating Sigfox based IoT/WSN network simulations on ns-3. But, implementing it on machines with latest version of linux OS and latest version of ns-3 will be a challenging task. The reason is: Sigfox is old ns-3 project, originally developed on ns3.33.  Even though the authors of ns3-sigfox tried to include generic wscript support and cmake support to make it work on higher versions of ns-3, still the work seems to be incomplete in that regard – so it needs lot of manual intervention to get it compiled on older version of ns-3 as well as the new versions of ns-3.

Father, as mentioned in [1], the implementation of a complete Sigfox IoT solution including network server is still under development. So it will become a complete Sigfox simulation module in near future. Even one may try to incorporate network server features in the existing module.

 

References :

  1. https://github.com/DEIS-Tools/ns3-sigfox
  2. https://www.projectguideline.com/installing-ns-3-dev-under-chroot-jail-and-compile-with-cmake/
  3. https://www.projectguideline.com/low-power-wide-area-networkslpwan-internet-of-thingsiot/
WhatsApp Discuss Through WhatsApp