我做了这个 .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
资源管理器:消耗的能量 +---------+---------+--------+---------+------ ---+--------+---------+---------+---------+------- --+ | 节点=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 通信的范围内,而其他节点消耗的能量最大由于与协调器的距离而定义。