Как реализовать связь между RSU и RSU в omnet ++ Veins? - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь установить связь между RSU и RSU в Венах.Для этого я добавил входной шлюз в модуль RSU (файл RSU.ned):

module RSU
{
    parameters:
        string applType; //type of the application layer
        string nicType = default("Nic80211p"); // type of network interface card
    gates:
        input veinsradioIn; // gate for sendDirect
        inout gate[]; // add in out gates to ensure communication between RSUs        
    submodules:
        appl: <applType> like org.car2x.veins.base.modules.IBaseApplLayer {
            parameters:
                @display("p=60,50");
        }

        nic: <nicType> like org.car2x.veins.modules.nic.INic80211p {
            parameters:
                @display("p=60,166");
        }

        mobility: BaseMobility {
            parameters:
                @display("p=130,172;i=block/cogwheel");
        }

    connections allowunconnected:
        nic.upperLayerOut --> appl.lowerLayerIn;
        nic.upperLayerIn <-- appl.lowerLayerOut;
        nic.upperControlOut --> appl.lowerControlIn;
        nic.upperControlIn <-- appl.lowerControlOut;

        veinsradioIn --> nic.radioIn;
}

Кроме того, в файле RSUExampleScenario.ned я добавил второй RSU и подключил два RSU.:

network RSUExampleScenario extends Scenario
{
    types:
        channel myChannel extends ned.DelayChannel {
            delay = 100ms;
        };

    submodules:
        rsu[2]: RSU {                @display("i=veins/sign/yellowdiamond;is=vs;p=150,140;b=10,10,oval;r=1000");
        }            
    connections allowunconnected:
        rsu[0].gate++ <--> myChannel <--> rsu[1].gate++;
}

В файле TraciDemoRSU11p.cc я пытаюсь отправить следующее сообщение:

int nb_gate = gateSize("gate");
int out_ = intuniform(0,nb_gate-1);    
cMessage *msg = dynamic_cast<cMessage*>(hmsg);
cMessage *copy = (cMessage *)msg->dup();
send(copy, "gate$o", out_);

При выполнении этого кода у меня появляется следующая ошибка: Нет таких шлюзов иливектор затвора: 'gate' - входной модуль (TraCIDemoRSU11p) RSUExampleScenario.rsu [1] .appl (id = 16), в момент времени t = 26.019453568907s, событие # 452

Как с этим справиться?

...