Заключение - Моделирование беспроводных сенсорных сетей

В соответствии с техническим заданием был дан общий обзор области, к которой относится тема дипломной работы, рассмотрены и проанализированы альтернативы для реализации поставленной задачи. Программный комплекс OMNET++ и симулятор Castalia, по результатам анализа, признаны отвечающими поставленным требованиям.

Был дан обзор возможностей и функционала беспроводных сенсорных сетей на базе стандарта 802.15.4. Приведены расчеты эффективной скорости передачи данных, энергопотребления и времени работы при заявленной и рассчитанной скорости.

В ходе выполнения дипломного проектирования была построена событийно-имитационная модель беспроводной сенсорной сети, на ее основе сымитирована работа и определено максимальное время работы сети (130 часов).

В технологической части изложен процесс установки, настройки и проверки работоспособности программного комплекса OMNET++ и симулятора Castalia.

В разделе "Экономическая часть" был проведен анализ экономической эффективности данного дипломного проекта.

В разделе "Охрана труда" приведены обзор и рекомендации по защите здоровья от вредных и опасных факторов, возникающих при работе с ЭВМ, таких как: поражение электрическим током и влияние излучение монитора на здоровье человека.

Приложение 1. Листинг

Листинг 1. Файл SensorNetwork. ned

Import src. wirelessChannel. WirelessChannel;

Import src. physicalProcess. iPhysicalProcess;

Import src. node. Node;

Network SN

{ parameters:

Int field_x = default(100);

Int field_y = default(100);

Int field_z = default(0);

Int numNodes;

String deployment = default("");

Int numPhysicalProcesses = default(1);

String physicalProcessName = default("CustomizablePhysicalProcess");

String debugInfoFileName = default("Castalia-Trace. txt");

@display("bgb=315,305");

Submodules:

WirelessChannel: src. wirelessChannel. WirelessChannel {

Gates:

ToNode[numNodes];

FromNode[numNodes]; }

PhysicalProcess[numPhysicalProcesses]: <physicalProcessName> like src. physicalProcess. iPhysicalProcess {

Gates:

ToNode[numNodes];

FromNode[numNodes]; }

Node[numNodes]: src. node. Node {

Gates:

ToPhysicalProcess[numPhysicalProcesses];

FromPhysicalProcess[numPhysicalProcesses]; }

Connections:

For i=0..numNodes - 1 {

Node[i].toWirelessChannel --> wirelessChannel. fromNode[i];

Node[i].fromWirelessChannel <-- wirelessChannel. toNode[i]; }

For i=0..numNodes - 1, for j=0..numPhysicalProcesses - 1 {

Node[i].toPhysicalProcess[j] --> physicalProcess[j].fromNode[i];

Node[i].fromPhysicalProcess[j] <-- physicalProcess[j].toNode[i];

} }

Листинг 2. Файл Node. ned

Package src. node;

Import src. node. mobilityManager. iMobilityManager;

Module Node

{ parameters:

Double xCoor = default(0);

Double yCoor = default(0);

Double zCoor = default(0);

Double phi = default(0);

Double theta = default(0);

Double startupOffset = default(0);

Double startupRandomization = default(0.05);

String ApplicationName;

String MobilityManagerName = default("NoMobilityManager");

Gates:

Output toWirelessChannel;

Output toPhysicalProcess[];

Input fromWirelessChannel;

Input fromPhysicalProcess[];

Submodules:

MobilityManager: <MobilityManagerName> like src. node. mobilityManager. iMobilityManager;

ResourceManager: src. node. resourceManager. ResourceManager;

SensorManager: src. node. sensorManager. SensorManager {

Gates:

FromNodeContainerModule[sizeof(toPhysicalProcess)];

ToNodeContainerModule[sizeof(toPhysicalProcess)]; }

Communication: src. node. communication. CommunicationModule {

@display("p=162,70"); }

Application: <ApplicationName> like src. node. application. iApplication;

Connections:

Communication. toNodeContainerModule --> toWirelessChannel;

FromWirelessChannel --> Communication. fromNodeContainerModule;

Application. toCommunicationModule --> Communication. fromApplicationModule;

Application. toSensorDeviceManager --> SensorManager. fromApplicationModule;

Communication. toApplicationModule --> Application. fromCommunicationModule;

SensorManager. toApplicationModule --> Application. fromSensorDeviceManager;

For i=0..sizeof(toPhysicalProcess) - 1 {

FromPhysicalProcess[i] --> SensorManager. fromNodeContainerModule[i];

SensorManager. toNodeContainerModule[i] --> toPhysicalProcess[i];

}

ResourceManager. toSensorDevManager --> SensorManager. fromResourceManager;

ResourceManager. toApplication --> Application. fromResourceManager;

ResourceManager. toNetwork --> Communication. fromResourceManager2Net;

ResourceManager. toMac --> Communication. fromResourceManager2Mac;

ResourceManager. toRadio --> Communication. fromResourceManager2Radio; }

Листинг 3. Файл CommunicationModule. ned

Package src. node. communication;

Module CommunicationModule {

Parameters:

String MACProtocolName = default ("BypassMAC");

String RoutingProtocolName = default ("BypassRouting");

Gates:

Output toApplicationModule;

Output toNodeContainerModule;

Input fromApplicationModule;

Input fromNodeContainerModule;

Input fromResourceManager2Net;

Input fromResourceManager2Mac;

Input fromResourceManager2Radio;

Submodules:

Radio: src. node. communication. radio. Radio;

MAC: <MACProtocolName> like src. node. communication. mac. iMac;

Routing: <RoutingProtocolName> like src. node. communication. routing. iRouting;

Connections:

FromApplicationModule --> Routing. fromCommunicationModule;

Routing. toCommunicationModule --> toApplicationModule;

Routing. toMacModule --> MAC. fromNetworkModule;

MAC. toNetworkModule --> Routing. fromMacModule;

MAC. toRadioModule --> Radio. fromMacModule;

Radio. toMacModule --> MAC. fromRadioModule;

FromNodeContainerModule --> Radio. fromCommunicationModule;

Radio. toCommunicationModule --> toNodeContainerModule;

FromResourceManager2Net --> Routing. fromCommModuleResourceMgr;

FromResourceManager2Mac --> MAC. fromCommModuleResourceMgr;

FromResourceManager2Radio --> Radio. fromCommModuleResourceMgr;

}

Листинг 4. Файл gen. txt

Castalia| what:[General] (1)

Castalia| when:2011-05-25 17:59

Castalia| label:General

Castalia| module:SN. wirelessChannel

Castalia| histogram name:Fade depth distribution

Castalia| histogram_min:-50 histogram_max:15

Castalia| histogram_values 1081 2181 3818 11212 26451 63197 136446 288518 546297 785648 677515 187285 5995 0

Castalia| module:SN. node[0].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 11.0658

Castalia| module:SN. node[0].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 28 Failed with interference

Castalia| 79404 Failed, below sensitivity

Castalia| 8 Failed, non RX state

Castalia| 23 Received despite interference

Castalia| 5384 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 35156 TX pkts

Castalia| module:SN. node[0].Communication. MAC

Castalia| simple output name:Number of beacons sent

Castalia| 29749

Castalia| module:SN. node[1].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.36202

Castalia| module:SN. node[1].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 121 Failed with interference

Castalia| 30909 Failed, below sensitivity

Castalia| 20795 Failed, non RX state

Castalia| 100 Received despite interference

Castalia| 64785 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 13955 TX pkts

Castalia| module:SN. node[1].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 0.0965132

Castalia| simple output name:Number of beacons received

Castalia| 19788

Castalia| module:SN. node[2].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 2.94032

Castalia| module:SN. node[2].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 133 Failed with interference

Castalia| 38682 Failed, below sensitivity

Castalia| 2636 Failed, non RX state

Castalia| 144 Received despite interference

Castalia| 87775 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 3 TX pkts

Castalia| module:SN. node[2].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 0.000108213

Castalia| simple output name:Number of beacons received

Castalia| 28964

Castalia| module:SN. node[3].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 4.85701

Castalia| module:SN. node[3].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 25 Failed with interference

Castalia| 31037 Failed, below sensitivity

Castalia| 11427 Failed, non RX state

Castalia| 28 Received despite interference

Castalia| 38271 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 49215 TX pkts

Castalia| module:SN. node[3].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 0.26923

Castalia| simple output name:Number of beacons received

Castalia| 15549

Castalia| module:SN. node[4].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 2.9656

Castalia| module:SN. node[4].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 60 Failed with interference

Castalia| 32608 Failed, below sensitivity

Castalia| 18471 Failed, non RX state

Castalia| 145 Received despite interference

Castalia| 72331 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 5939 TX pkts

Castalia| module:SN. node[4].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 0.0454776

Castalia| simple output name:Number of beacons received

Castalia| 22173

Castalia| module:SN. node[5].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 4.13945

Castalia| module:SN. node[5].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 12 Failed with interference

Castalia| 42258 Failed, below sensitivity

Castalia| 15723 Failed, non RX state

Castalia| 8 Received despite interference

Castalia| 35658 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 32542 TX pkts

Castalia| module:SN. node[5].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 0.186799

Castalia| simple output name:Number of beacons received

Castalia| 17183

Castalia| module:SN. node[6].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00667

Castalia| module:SN. node[6].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 446 Failed with interference

Castalia| 17 Failed, below sensitivity

Castalia| 140 Received despite interference

Castalia| 136219 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[6].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 9.61271e-06

Castalia| simple output name:Number of beacons received

Castalia| 29748

Castalia| module:SN. node[7].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00661

Castalia| module:SN. node[7].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 457 Failed with interference

Castalia| 16 Failed, below sensitivity

Castalia| 129 Received despite interference

Castalia| 136216 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[7].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 4.18073e-05

Castalia| simple output name:Number of beacons received

Castalia| 29743

Castalia| module:SN. node[8].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00687

Castalia| module:SN. node[8].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 466 Failed with interference

Castalia| 12 Failed, below sensitivity

Castalia| 120 Received despite interference

Castalia| 136197 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[8].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 4.22215e-05

Castalia| simple output name:Number of beacons received

Castalia| 29747

Castalia| module:SN. node[9].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00613

Castalia| module:SN. node[9].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 420 Failed with interference

Castalia| 2 Failed, below sensitivity

Castalia| 166 Received despite interference

Castalia| 136234 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[9].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 1.051e-05

Castalia| simple output name:Number of beacons received

Castalia| 29746

Castalia| module:SN. node[10].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00656

Castalia| module:SN. node[10].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 438 Failed with interference

Castalia| 16 Failed, below sensitivity

Castalia| 148 Received despite interference

Castalia| 136193 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[10].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 4.15762e-05

Castalia| simple output name:Number of beacons received

Castalia| 29746

Castalia| module:SN. node[11].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00665

Castalia| module:SN. node[11].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 455 Failed with interference

Castalia| 4 Failed, below sensitivity

Castalia| 131 Received despite interference

Castalia| 136232 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[11].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 9.07657e-06

Castalia| simple output name:Number of beacons received

Castalia| 29746

Castalia| module:SN. node[12].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00605

Castalia| module:SN. node[12].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 470 Failed with interference

Castalia| 6 Failed, below sensitivity

Castalia| 27 Failed, non RX state

Castalia| 116 Received despite interference

Castalia| 136203 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[12].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 8.59512e-06

Castalia| simple output name:Number of beacons received

Castalia| 29743

Castalia| module:SN. node[13].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00625

Castalia| module:SN. node[13].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 437 Failed with interference

Castalia| 18 Failed, below sensitivity

Castalia| 149 Received despite interference

Castalia| 136218 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[13].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 8.11368e-06

Castalia| simple output name:Number of beacons received

Castalia| 29747

Castalia| module:SN. node[14].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00654

Castalia| module:SN. node[14].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 451 Failed with interference

Castalia| 31 Failed, below sensitivity

Castalia| 134 Received despite interference

Castalia| 136206 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[14].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 8.97809e-06

Castalia| simple output name:Number of beacons received

Castalia| 29748

Castalia| module:SN. node[15].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00576

Castalia| module:SN. node[15].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 454 Failed with interference

Castalia| 21 Failed, below sensitivity

Castalia| 28 Failed, non RX state

Castalia| 131 Received despite interference

Castalia| 136188 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[15].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 8.46386e-06

Castalia| simple output name:Number of beacons received

Castalia| 29747

Castalia| module:SN. node[16].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00687

Castalia| module:SN. node[16].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 436 Failed with interference

Castalia| 1 Failed, below sensitivity

Castalia| 150 Received despite interference

Castalia| 136235 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[16].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 9.97381e-06

Castalia| simple output name:Number of beacons received

Castalia| 29747

Castalia| module:SN. node[17].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00653

Castalia| module:SN. node[17].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 479 Failed with interference

Castalia| 13 Failed, below sensitivity

Castalia| 107 Received despite interference

Castalia| 136223 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[17].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 8.3544e-06

Castalia| simple output name:Number of beacons received

Castalia| 29747

Castalia| module:SN. node[18].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00595

Castalia| module:SN. node[18].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 459 Failed with interference

Castalia| 5 Failed, below sensitivity

Castalia| 127 Received despite interference

Castalia| 136231 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[18].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 9.21881e-06

Castalia| simple output name:Number of beacons received

Castalia| 29744

Castalia| module:SN. node[19].ResourceManager

Castalia| simple output name:Consumed Energy

Castalia| 3.00695

Castalia| module:SN. node[19].Communication. Radio

Castalia| simple output name:RX pkt breakdown

Castalia| 451 Failed with interference

Castalia| 37 Failed, below sensitivity

Castalia| 28 Failed, non RX state

Castalia| 135 Received despite interference

Castalia| 136148 Received with NO interference

Castalia| simple output name:TXed pkts

Castalia| 1 TX pkts

Castalia| module:SN. node[19].Communication. MAC

Castalia| simple output name:Fraction of time without PAN connection

Castalia| 4.20683e-05

Castalia| simple output name:Number of beacons received

Castalia| 29745

Похожие статьи




Заключение - Моделирование беспроводных сенсорных сетей

Предыдущая | Следующая