Skip to main content

Aqua Sim for NS2 - Underwater Sensor Networks


Sensor nodes deployed inside water are known to be underwater sensor networks. These network is helpful in fish cultivation, habitat monitoring, predicting ptusami, etc.

Updated 9th April 2016 : the link to download the Aquasim is updated, the regular link is not working

This network uses different MAC protocol, routing protocol, etc. Real test bed are costlier and one cannot afford it. Simulators are the ultimate solution to know about these networks. Aquasim is one such tool that is integrated in ns2 for handling underwater sensor networks. This simulator supports new mac layer, new protocols that are helpful in routing inside water. There are examples also to simulate these networks.

Here is the installation steps of Aquasim.  Some points to be taken care of
  • ns-allinone-2.30 is used in creating the underwater sensor networks 
  • nam misbehaves (or does not work) in recent Ubuntu and Mint distributions. 
  •  Need to have the X11, automake and build essential tools to install Aquasim. 
Installation of AquaSim
OS Tested:  Ubuntu 14.04+ and Linux Mint 17+
AquaSim: 1.0 Version (It does not have a 3D version)

Download the aquasim simulator
Here are steps to install the libraries needed to install Aquasim

pradeep@localhost $] sudo apt-get update
pradeep@localhost $] sudo apt-get install libxmu-dev build-essential autoconf automake 

Create a folder called aquasim/ and extract the Aquasim-1.0.tgz inside this folder

pradeep@localhost $] mkdir aquasim 
pradeep@localhost $] cd aquasim/
copy the Aquasim-1.0.tgz in aquasim folder and extract it using 
pradeep@localhost $] tar zxvf Aquasim-1.0.tgz
pradeep@localhost $] ./install 

You may get an error as stated below: to clear this error, do the following step

Open the file (~aquasim/ns-2.30/linkstate/ls.h)  using gedit or vi or vim 

In line number 137, change the following line
void eraseAll() { erase(baseMap::begin(), baseMap::end()); }
to
void eraseAll() { this->erase(baseMap::begin(), baseMap::end()); }

and again issue the command ./install . After successful installation, some paths will be provided. You need to paste those paths in the /home/pradeepkumar/.profile or .bashrc (/home/pradeepkumar/ is my home, you have to use your corresponding directory where the software is installed)

Here is the sample path in my .profile file

export PATH=$PATH:/home/pradeepkumar/aquasim/bin:/home/pradeepkumar/aquasim/tcl8.4.13/unix:/home/pradeepkumar/aquasim/tk8.4.13/unix
export LD_LIBRARY_PATH=/home/pradeepkumar/aquasim/otcl-1.12:/home/pradeepkumar/aquasim/lib
export TCL_LIBRARY=/home/pradeepkumar/aquasim/tcl8.4.13/library


After setting these paths, you logout and login back and aquasim works well now.

Open the terminal and type ns, if it indicates a %, then aquasim was installed successfully.

Nam as i said earlier, may not work well, here is a workaround - please follow the link - http://www.nsnam.com/2015/07/nam-installation-segmentation-fault.html

Once installed, you can explore the folder /home/pradeepkumar/aquasim/ns-2.30/underwatersensor

This folder contains all the source codes relevant to the under water sensor networks. The above folder has five sub folders like uw_common/, uw_routing/, uw_mac/, uw_mobility_pattern/ and uw_tcl/ 

pradeep@localhost $] cd uw_tcl/ 
will give you the examples of under water sensor networks. 

pradeep@localhost $] ns vbf_example_5.tcl 
pradeep@localhost $] nam vbf_example_5.nam 
Here is the screenshot of the example run using nam
aquasim
Aquasim
This post does not handle the Aqua 3d where you have the option of viewing the nodes inside a water using a 3D view. Users are requested to try themselves for installing Aqua 3D. 

Comment below for any queries related to this installation.

 T S Pradeep Kumar

Comments

  1. sir , some files are missing, as it is not getting installed. i tried many times. can u please help me out

    ReplyDelete
  2. Hey! I am having this issue,

    make: gcc-4.3: Command not found
    make: *** [Makefile:92: libotcl.a] Error 127
    otcl-1.12 make failed! Exiting ...
    See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

    Did you successfully install aquasim? If yes please reply...

    ReplyDelete
    Replies
    1. I am getting same error. Did you solve this?

      Delete

Post a Comment

Popular posts from this blog

Installing ns-3.34 in Ubuntu 20.04

This post shows how to install ns 3.34 in Ubuntu 20.04 LTS Prerequisites: Fresh installation of Ubuntu Version 20.04 LTS  ns3.34 can be downloaded from here Follow the video link for complete step by step instructions on the installation.  This version fixes the compilation issues of vanet-routing-compare.cc (bug in ns3.33)  Issue the following commands after opening a terminal  $ sudo apt update $ sudo apt install g++ python3 python3-dev python-dev pkg-config sqlite3 python3-setuptools git qt5-default gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython3 openmpi-bin openmpi-common openmpi-doc libopenmpi-dev autoconf cvs bzr unrar openmpi-bin openmpi-common openmpi-doc libopenmpi-dev tcpdump wireshark libxml2 libxml2-dev Unzip or untar the ns-allinone-3.34.tar.bz2 in the home folder (in my case its /home/pradeepkumar) $ cd ns-allinone-3.34/ $ ./build.py --enable-examples --enable-tests  Once the installation is completed, you may get an output show

Installation of ns3 in Windows 10 and Windows 11 OS using WSL (Windows Subsystem for Linux)

This post shows how to install ns-3.33 in Windows 10 through WSL (Windows Subsystem for Linux) This posts works for Windows 11 also (I have tested it on a Windows 11 ISO and it works the Same way as mentioned in the following post.) This post will work for ns-3.3x version. Prerequisites : Install Windows Subsystem for Linux with GUI: Please refer the following video  System Information: OS used: Windows 10 and WSL (Ubuntu 20.04) GUI: XServer for Windows NS3 Version: ns-3.33 See the following complete video on how to install ns3 in Windows 10 Step 0 : Open XLaunch Step 1 :  Open WSL using PowerShell and open it as Administrator Command:/  wsl $ xfce4-session The GUI of Ubuntu Opens within Windows 10 OS. Step 2 : Download ns3 from nsnam.org website through Mozilla Firefox browser Step 3: Open a Terminal  $ sudo apt update $ sudo apt install build-essential autoconf automake libxmu-dev python3-pygraphviz cvs mercurial bzr git cmake p7zip-full python3-matplotlib python-tk python3-dev qt5-q

Installing NS-3.32 in Ubuntu 20.04

This is about installing ns version 3.32 in Ubuntu 20.04 LTS. #ns3 #ns3 .32 #networksimulation The commands used in the video are given here. $] sudo apt update $] sudo apt install build-essential autoconf automake libxmu-dev python3-pygraphviz cvs mercurial bzr git cmake p7zip-full python3-matplotlib python-tk python3-dev qt5-qmake qt5-default gnuplot-x11 wireshark Download the ns-allinone-3.32.tar.bz2 package from nsnam.org and copy it to /home/ folder See the full video for detailed instructions Extract it either in GUI or using command $] tar jxvf ns-allinone-3.32.tar.bz2 $] cd ns-allinone-3.32/ $] ./build.py --enable-examples --enable-tests The above command will take some time to install all the packages  You can see the output as shown below ns3 To check whether ns3 installed successfully, use the following commands. $] cd ns-3.32/ $] ./waf --run hello-simulator You should get the output as Hello Simulator $] ./waf --run first This is the example from the ns-3.32/exa