用静脉中的数据填充消息

问题描述 投票:0回答:2

我正在开发一个项目,其中 RSU 向其范围内的汽车发送信标。当汽车收到该信标时,它应该将其 ID 发送回 RSU。我制作了一个自定义消息文件,其中仅包含车辆 ID .这就是我现在处理信标的方式。

  void MyVeinsApp::onBSM(DemoSafetyMessage* bsm)
{

  findHost()->getDisplayString().setTagArg("i", 1, "green");
  if(sentMessage==false){
       sendDown(bsm);
       //scheduleAt(simTime() + 2 + uniform(0.01, 0.2), wsm->dup());
        sentMessage=true;
  }

} 这对我来说根本不起作用。有什么方法可以从汽车向 RSU 发送消息吗?

omnet++ veins sumo
2个回答
1
投票

我不是专家,但我最近开始与您一起从事类似的项目。因此,您的消息包含一个参数,例如,vehicle_id,并且在收到信标后,您必须将包含 id 的消息发送到 RSU。要执行此操作,您必须首先在消息中填写车辆 ID,例如

bsm->setVehicle_id(findHost()->getIndex());

当您创建一个包含变量的新消息文件然后构建它时,程序还会创建 get() 和 set() 函数来处理这些参数。

现在,RSU 要简单地获取您发送的消息变量,它必须调用 get() 函数,如下所示:

RSU_vehicle_id=wsm->getVehicle_id();

现在您有了一个包含接收到的车辆节点 ID 的变量。 我强烈建议您花几天时间来了解 Veins 教程背后的原理以及它如何处理所有方面。


-2
投票

嘿,我正在 omnet 相扑静脉工作,我正在尝试了解静脉示例中发生的情况。如果你如何理解代码将会非常有帮助。如果您有代码,请分享。提前谢谢你。

© www.soinside.com 2019 - 2024. All rights reserved.