Я работал с нуля, сгенерированные узлы, сценарий и все самостоятельно, без использования встроенных сценариев вен TRACIDEMORSU или TRACIDEMO.
Мои RSU (3 в количестве) передают пакеты на узлы. Я могу получить значения с помощью векторных кортежей. Здесь я придерживаюсь следующих вопросов и читаю ссылку ниже. Любое руководство будет высоко ценится:
Отдельные данные, полученные от различных отправителей в Veins / OMNET ++
- Вещание выполняется от RSU к узлам, использующим для l oop и SendDirect (). Теперь, когда RSU1 отправляет сообщения на узлы, которые они получают, и когда я пытаюсь получить значения. Это также работает правильно. Но когда RSU2 одновременно отправляет сообщение узлам, они снова получают значения RSU2, но не показывают ранее полученное значение RSU1 тем же узлом. Я хочу хранить оба значения в таблице.
Теперь мой вопрос: - 1. Они работают как разные события? Если да, то как бы объединить эти полученные пакеты от разных RSU в одну таблицу. Потому что, наконец, мне нужно сравнить отдельные поля, чтобы подтвердить запрос? Если нет, то снова, как я могу создать таблицу, чтобы я мог сравнить значения отдельных узлов.
Я правильно делаю? У вещания бывает вот так. Я прочитал все эти вещи из руководства OMNET ++. Я надеюсь, что я работаю правильно.
Вот код для справки: в RSU. cc
for (int i = 0; i < noOfWirelessNode; i++) {
int targetNodeDistance = RSUNode::calculateDistanceFromRSU(i, incomingSenderId);
EV<<"\ntargetNodeDist = "<<targetNodeDistance;
bubble("RSU Send Beacon to Vehicle.");
if(targetNodeDistance <= 1000){
destModule = cModule::getParentModule()->getSubmodule("vehiclenode",
i);
EV << "\n\ndest Module = " << destModule;
VehicleModule = omnetpp::check_and_cast<Vehicle*>(destModule);
inMsg->setPacketGenerateTime(omnetpp::simTime().dbl() + T_window);
omnetpp::simtime_t sendtime = inMsg->getPacketGenerateTime();
EV << "\nRSU Broadcast Time = " << sendtime.dbl();
sendDirect(msg->dup(), VehicleModule, "radioIn");
}
в транспортном средстве. cc
// here when broadcasting is done by RSU.cc then retrieving the values and storing as a tuple to finally //create a table. But not able to get the combined table.
typedef std::tuple<int, double> Table;
std::vector<Table>NT;
NT.push_back(Table(incomingSenderId, beaconRecivingTime.dbl()));
EV<<"\n\n********** NT*******\n";
for(Table t1:NT){
EV<<std::get<0>(t1)<<' ';
EV<<std::get<1>(t1)<<' ';
EV<<"\n";
}
Любая помощь приветствуется.