如何从RSU向RSU发送消息(Veins、OMNeT++、SUMO)

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

如何从一个 RSU 向另一个 RSU 发送消息? 我在默认示例中使用 Veins 5.2 版本,我刚刚添加了一个 RSU(一个非常接近另一个)。我可以使用

sendDown()
sendDelayedDown()
方法从车辆到车辆、从车辆到 RSU 以及从 RSU 到车辆发送消息。 然而,当我尝试从一个 RSU 向另一个 RSU 发送消息时,它根本不起作用,因为目标 RSU 没有收到该消息。

我应该在我的项目中做什么才能让它发挥作用?或者RSU之间发送消息的正确方法是什么?

谢谢你。

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

您一定忘记使用 populate() 方法:

populate(wsm, ADDRESS);

在初始化方法中你可以这样写:

void MyRSUClass::initialize(int stage) {
    DemoBaseApplLayer::initialize(stage);
    if (stage == 1) {
        std::cout << "#init" << endl;
        TraCIDemo11pMessage* wsm = new TraCIDemo11pMessage*();
        populateWSM(wsm, OTHER_RSU_ADDRESS); // <------- here**
        wsm->setSenderAddress(myId);
        wsm->setDemoData("Message from RSU");
        sendDown(wsm);
        // OR, if you have problems with sendDown() method
        // use send() ou sendDelayed() methods:
        //// send(wsm, "lowerLayerOut");
        //// sendDelayed(wsm, 2, "lowerLayerOut");
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.