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>
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);
Hi all,
ReplyDeletehow to calculate a buffer size in aodv.cc file? please help me.
thank you
khozaimi
Sir,
ReplyDeleteI followed as per your instructions .But I didnt get the values of nodes position and energy .Can u help me??
Thank You
I get a segmentation fault when i use this code ... can u plz help ...
ReplyDeleteuse energy model for the node configuration, you wont get segmentation fault...
Deletesir 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