Я сделал этот файл .ini, чтобы попытаться смоделировать количество энергии, потребляемой в линейном WSN, размещенном на железной дороге, но потребление энергии не соответствует ожиданиям, и я не понимаю, кто-то знает, что происходит?
Я хочу, чтобы узел 0 был следующим, а узел 9 - узлом, способным воспринимать и пересылать данные узлу 0
, код:
[General]
include ../Parameters/Castalia.ini
repeat = 2
sim-time-limit = 7000s
SN.numNodes = 10
SN.node[1].xCoor = 10
SN.node[2].xCoor = 20
SN.node[3].xCoor = 30
SN.node[4].xCoor = 40
SN.node[5].xCoor = 50
SN.node[6].xCoor = 60
SN.node[7].xCoor = 70
SN.node[8].xCoor = 80
SN.node[9].xCoor = 90
SN.node[0..9].ResourceManager.initialEnergy = 1000
SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/CC2420.txt"
SN.node[*].Communication.Radio.collectTraceInfo = false
SN.node[*].Communication.Radio.TxOutputPower = "-5dBm"
SN.node[*].Communication.MAC.collectTraceInfo = false
SN.node[*].Communication.Routing.collectTraceInfo = true
SN.node[*].Application.collectTraceInfo = false
SN.wirelessChannel.onlyStaticNodes = true
SN.wirelessChannel.sigma = 0
SN.wirelessChannel.bidirectionalSigma = 0
#amount of packets sent
SN.node[*].ApplicationName = "ThroughputTest"
SN.node[9].Application.packet_rate = 300
# Here i define the static routing
SN.node[9].Application.nextRecipient = "8"
SN.node[8].Application.nextRecipient = "7"
SN.node[7].Application.nextRecipient = "6"
SN.node[6].Application.nextRecipient = "5"
SN.node[5].Application.nextRecipient = "4"
SN.node[4].Application.nextRecipient = "3"
SN.node[3].Application.nextRecipient = "2"
SN.node[2].Application.nextRecipient = "1"
SN.node[1].Application.nextRecipient = "0"
SN.node[*].Communication.Radio.collisionModel = 2
SN.node[*].Communication.MACProtocolName = "Basic802154"
SN.node[0].Communication.MAC.isFFD = true
SN.node[0].Communication.MAC.isPANCoordinator = true
SN.node[*].Communication.MAC.phyDataRate = 30
SN.node[*].Communication.MAC.phyBitsPerSymbol = 4
Вот результаты: ./../../bin/CastaliaResults -i 180424-155036.txt -s потреблено -n
ResourceManager: потребляемая энергия + --------- + --------- + -------- + --------- + --------- + -------- + --------- + --------- + --------- + --------- + |узел = 0 |узел = 1 |узел = 2 |узел = 3 |узел = 4 |узел = 5 |узел = 6 |узел = 7 |узел = 8 |узел = 9 |+ --------- + --------- + -------- + --------- + --------- +-------- + --------- + --------- + --------- + --------- + |475,988 |158,176 |162,13 |475,997 |475,999 |476 |475,998 |475,998 |475,997 |475,999 |+ --------- + --------- + -------- + --------- + --------- +-------- + --------- + --------- + --------- + --------- +
Эти результаты не верны, потому что Узел 0 должен быть тем, у которого потребление энергии намного выше, потому что он должен кординировать сеть, и должно быть постепенное увеличение энергопотребления с 9 до 1, когда 9 узел сменьше энергопотребления.
Для того, что я вижу в результатах, которые я получил от Castalia, кажется, что статическая маршрутизация не работает, так как узлы 1 и 2 потребляют меньше энергии, потому что находятся в диапазоне, чтобы соединиться с узлом 0а другие узлы потребляют максимальное количество энергии, определенное из-за расстояния до координатора.