Add simulation scripts

This commit is contained in:
Loic Guegan 2019-04-24 16:49:40 +02:00
parent 39507e0bb5
commit 1da73fb609
18 changed files with 4043 additions and 2 deletions

View file

@ -0,0 +1,46 @@
#include "modules/modules.hpp"
NS_LOG_COMPONENT_DEFINE ("WIFISensorsSimulator");
/**
* To get more details about functions please have a look at modules/modules.hpp
*/
int main(int argc, char* argv[]){
uint32_t sensorsFrequency=1;
uint32_t sensorsPktSize=150;
uint32_t sensorsNumber=2;
uint32_t nbHop=5;
uint32_t linksBandwidth=5;
uint32_t linksLatency=2;
CommandLine cmd;
cmd.AddValue ("sensorsSendInterval", "Number of sensors measurement per second", sensorsFrequency);
cmd.AddValue ("sensorsPktSize", "Sensors packet size (bytes)", sensorsPktSize);
cmd.AddValue ("sensorsNumber", "Number of sensors connected to AP", sensorsNumber);
cmd.AddValue ("nbHop", "Number of hop between AP and Cloud", sensorsNumber);
cmd.AddValue ("linksBandwidth", "Links bandwidth between AP and Cloud", linksBandwidth);
cmd.AddValue ("linksLatency", "Links latency between AP and Cloud", linksLatency);
cmd.Parse (argc, argv);
//LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
//LogComponentEnable("PacketSink", LOG_LEVEL_INFO);
// ---------- Setup Simulations ----------
CloudInfos cloud=createCloud(nbHop,linksBandwidth,linksLatency); // Create cloud P2P node chain o--o--o--o--o
setupCloudEnergy(cloud); // DO IT JUST AFTER createCloud !!!!! Otherwise you will be in trouble
Cell cell=createCell(sensorsNumber,cloud.first.Get(0)); // Use first cloud node as Access Point
setupScenario(cell,cloud,sensorsPktSize,sensorsFrequency); // Send data from Sensors to Cloud
setupCellEnergy(cell);
// Don't forget the following
Ipv4GlobalRoutingHelper::PopulateRoutingTables ();
// Run Simulations
Simulator::Stop (Seconds (20));
Simulator::Run ();
Simulator::Destroy ();
return(0);
}