Skip to main content

Finding the Node Position, speed and Velocity of a Node while using AODV

Finding the Node Position, speed and Velocity of a Node while using AODV

Steps
1. ~ns-2.34/aodv/aodv.h
include the following header line in aodv.h

   1: #include<mobilenode.h>
2.In protected scope declare the variables you would be using to store the node parameters.


   1: double xpos;
   2: double ypos;
   3: double zpos;
   4: double iEnergy;
   5: int node_speed;
   6: MobileNode *iNode;
   7: FILE *fp;

3.In aodv.cc initialize the declared variables.



   1: xpos = 0.0;
   2: ypos = 0.0;
   3: zpos = 0.0;
   4: node_speed = 0;
   5: iEnergy=0.0;
   6: fp=fopen("pradeep.csv","w");
   7: MobileNode *iNode;

4.Finally access the required functions from mobilenode.h. Paste the following lines in the AODV::forward() function


//Code by pradeepkumar
/***This code retrieves node 
position*****/
fprintf(fp,"Position is, X, Y, Z, Velocity is, X, Y, Z, 
Velocity, Node Speed, Energy \n");
iNode = (MobileNode*) 
(Node::get_node_by_address(index));
((MobileNode *) 
iNode)->getLoc(&xpos,&ypos,&zpos);
//Position of %d , X, Y, 
Z
fprintf(fp,"%d,%f,%f,%f,", index, xpos, ypos, zpos);
/***This code retrieves the nodes velocity*****/
iNode = (MobileNode*) 
(Node::get_node_by_address(index));
((MobileNode *) 
iNode)->getVelo(&xpos, &ypos, &zpos);
//Velocity of %d , X, Y, 
Z
fprintf(fp,"%d,%f,%f,%f,", index, xpos, ypos, zpos);
/***This code retrieves the nodes speed*****/
iNode = (MobileNode*) 
(Node::get_node_by_address(index));
node_speed = ((MobileNode *) 
iNode)->speed();
iEnergy=iNode->energy_model()->energy();
//Velocity 
of %d , Node Speed in m/s Energy in joules 
fprintf(fp,"%d,%d,%f,", index, 
node_speed,iEnergy);

Comments

  1. Hi all,

    how to calculate a buffer size in aodv.cc file? please help me.

    thank you

    khozaimi

    ReplyDelete
  2. Sir,
    I followed as per your instructions .But I didnt get the values of nodes position and energy .Can u help me??

    Thank You

    ReplyDelete
  3. I get a segmentation fault when i use this code ... can u plz help ...

    ReplyDelete
    Replies
    1. use energy model for the node configuration, you wont get segmentation fault...

      Delete
  4. sir i need help in adding multi interface in NS2. i want to modify mobile node architecture with multiple interface support can u help me sir

    ReplyDelete

Post a Comment

Popular posts from this blog

Installing ns3 in Ubuntu 22.04 | Complete Instructions

In this post, we are going to see how to install ns-3.36.1 in Ubuntu 22.04. You can follow the video for complete details Tools used in this simulation: NS3 version ns-3.36.1  OS Used: Ubuntu 22.04 LTS Installation of NS3 (ns-3.36.1) There are some changes in the ns3 installation procedure and the dependencies. So open a terminal and issue the following commands Step 1:  Prerequisites $ sudo apt update In the following packages, all the required dependencies are taken care and you can install all these packages for the complete use of ns3. $ sudo apt install g++ python3 python3-dev pkg-config sqlite3 cmake python3-setuptools git qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools 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 gsl-bin libgsl-dev libgslcblas0 wireshark tcpdump sqlite sqlite3 libsqlite3-dev  libxml2 libxml2-dev libc6-dev libc6-dev-i386 libc...

Installation of NS2 in Ubuntu 22.04 | NS2 Tutorial 2

NS-2.35 installation in Ubuntu 22.04 This post shows how to install ns-2.35 in Ubuntu 22.04 Operating System Since ns-2.35 is too old, it needs the following packages gcc-4.8 g++-4.8 gawk and some more libraries Follow the video for more instructions So, here are the steps to install this software: To download and extract the ns2 software Download the software from the following link http://sourceforge.net/projects/nsnam/files/allinone/ns-allinone-2.35/ns-allinone-2.35.tar.gz/download Extract it to home folder and in my case its /home/pradeepkumar (I recommend to install it under your home folder) $ tar zxvf ns-allinone-2.35.tar.gz or Right click over the file and click extract here and select the home folder. $ sudo apt update $ sudo apt install build-essential autoconf automake libxmu-dev gawk To install gcc-4.8 and g++-4.8 $ sudo gedit /etc/apt/sources.list make an entry in the above file deb http://in.archive.ubuntu.com/ubuntu/ bionic main universe $ sudo apt update Since, it...

How to Create Ubuntu 24.04 Bootable USB Using Rufus [Step-by-Step Guide]

How to Create Ubuntu 24.04 Bootable USB Using Rufus [Step-by-Step Guide] Are you planning to install or try Ubuntu 24.04 LTS ? The easiest and most reliable method is to create a bootable USB drive using Rufus on a Windows system. This detailed guide will help you create a Ubuntu 24.04 USB bootloader using Rufus with easy-to-follow steps and screenshots (optional). Here is the complete video of the bootloader creation and OS installation in Windows 11. 🧰 Requirements A USB flash drive (minimum 8GB recommended) A Windows PC Ubuntu 24.04 LTS ISO file Rufus USB creation tool 🧾 Steps to Create a Ubuntu 24.04 Bootable USB Using Rufus ✅ Step 1: Download Ubuntu 24.04 ISO Visit the official Ubuntu website and download the Ubuntu 24.04 LTS ISO file . ✅ Step 2: Download and Run Rufus Head to Rufus official site and download the latest version. Open the executable file (no installation required). ✅ Step 3: Insert USB Drive Plug in your USB drive. Rufus ...