Я просто высказываю свое мнение на тот случай, если кто-то уже был в моей ситуации:
В венах (старая версия, которую я использую - 4.4), «менеджер соединений» отвечает за оценку «потенциальный «обмен пакетами, таким образом, его мощность передачи почти всегда установлена на верхнюю границу.
Я был сбит с толку после того, как я изменил мощность передачи транспортных средств« Mac1609_4 »и« графически », диспетчер соединений былвсе еще показывая мне, что пакеты получены некоторыми дальними узлами, что на самом деле не имело место, он просто оценивал, правильно ли он получен или нет (по формуле, рассмотренной в ссылках выше).
Таким образом:изменение «TxPower» каждого транспортного средства действительно оказывало эффект помимо графического (сообщения не были прикреплены к верхним уровням).
В общем, для создания схемы, учитывающей дальность передачи, необходимо сделать следующее:
- В узле-отправителе (транспортном средстве) и аналогично указателю «traci», который имеет дело с моДля удобства, указатель на «mac1609» должен быть создан и указан на него следующим образом:
В «tracidemo11p.h» добавить ->
#include "veins/modules/mac/ieee80211p/Mac1609_4.h"//added
#include "veins/base/utils/FindModule.h"//added
и какзащищенная переменная в классе "tracidemo11p" в том же файле ".h" ->
Mac1609_4* mac;//added
В "tracidemo11p.cc" добавьте ->
mac = FindModule<Mac1609_4*>::findSubModule(getParentModule());
теперь вы можете манипулировать"mac", как в "traci", соответствующие методы находятся в "modules / mac / ieee80211p / Mac1609_4.cc & .h"
для нашей работы, метод будет:
mac->setTxPower(10);//for example
Это повлияет на симуляцию в режиме реального времени для каждого экземпляра узла.
Возможно, он описал это с базовыми понятиями, потому что я новичок в omnet-венах, это было сделано менее чем за одиннеделю (и будет также предоставляться новым пользователям).
Надеюсь, это будет полезно (и правильно)