用静脉数据填充消息

Populating messages with data in veins

我正在做一个项目,其中 RSU 向其范围内的汽车发送信标。当汽车收到此信标时,它应该将其 ID 发送回 RSU.I 制作了一个自定义消息文件it.This 中的车辆 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;
  }

} 这对我在 all.Is 不起作用有什么方法可以从汽车向 RSU 发送消息?

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

之类的车辆 ID 填写消息

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

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

现在为了让 RSU 简单地获取您发送的消息变量,它必须像这样调用 get() 函数:

RSU_vehicle_id=wsm->getVehicle_id();

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