I want to send the reputation values of nodes to the neighbour nodes in OMNet++ utilizing Veins. I have installed veins4a. I have done the tictoc and run the veins successfully. Can anybody help me on how to send this type of information in Veins. Should i use extra message but UDP/TCP is not supported in the current version of Veins.
Is it possible to send this message using the WaveShortMessage.msg by adding extra information (like extension in this message)?
The best way to start might be to modify the existing example, which uses TraCIDemo11p as its application and WaveShortMessage as the message exchanged between cars. Feel free to add new fields to the message class (just like you did in the Tic Toc tutorial, but now in WaveShortMessage.msg) and to implement new ways of how the application reacts to received messages (again, just like in the Tic Toc tutorial, but now in TraCIDemo11p.cc).
Related
In TicToc tutorial 13, the message destination is random. How can I specify the destination of the message? say I want it to get to tic[5] arriving from tic[0]. Then create another message with different source and destination e.g. from tic[3] to tic[2].
Also the paths are randomly selected between the nodes in this tutorial, so how can I modify this so the message can get to its destination using shortest path?
One can set any values as source and destination of a message in TicToc13, for example:
TicTocMsg13 *msg = new TicTocMsg13("Test message");
msg->setSource(0);
msg->setDestination(5);
According second part of the question:
TicToc examples were prepared to show and learn how to use OMNeT++ and how to control behavior of model using C++. They do not reflect real systems. Therefore "routing" in TicToc13 is very simple (i.e. random). Choosing shortest path for routing requires more sophisticated routing protocol that has some knowledge about topology. Preparing such protocol for TicToc model could be possible but many additional things will be necessary (i.e. routing table, control messages, a way to configure/share routing information etc.). What is more all these issues have been already resolved for IP protocols.
In a section of road (I exported a portion of map from osm), I have already placed a RSU and generate some random trips of some vehicles. I would like now simulate the exchanges of messages as described bellow:
- the RSU broadcasts periodically a message, like WSA or SAM (Service Announcement Message), and all vehicles that receive the message will respond to the RSU.
Hence, I would like to simulate packet loss according to the number of vehicles and number of exchanges messages handled by the RSU.
I don't know where to change the first sender of message in the original veins source code. In the original veins program, it is a node[0] that triggers the accident message.
Thank you in advance for your return.
You can find the source code of the application running in the Veins 5a1 example simulation in src/veins/modules/application/traci/TraCIDemo11p.cc
I would recommend to start learning about Veins by running the example simulation and playing around with the above mentioned file to see how/what the behavior of the simulation changes.
If you are new to OMNeT++ as well, you will likely find it very useful to start by learning plain OMNeT++ (that is, without Veins) first. The OMNeT++ Tic Toc tutorial is an excellent place to start here.
In my scenario, a receiving vehicle gets BSMs from multiple senders. I need the BSM data recorded separately according to their respective senders.
Currently, I am achieving this using a custom logging system. However, since OMNET++ has a sophisticated logging system built-in, Is it possible to achieve what I need using OMNET's built-in tools?
OMNeT++ vectors log 2-tuples (TV: time+value) or 3-tuples (ETV: event+time+value) for each piece of data. You can use this additional information to find which values have been recorded at the same simulation time or as a consequence of the same event.
I am a PhD student at INSA Lyon, France. I work on mobility in urban environments.
I installed Omnet ++ 4.6, Sumo 0.21.0 and Veins 3.0 to simulate vehicle mobility.
In fact, I've never used Omnet ++ in my previous work. I read the existing tutorials of Omnet ++ in the website and now I want to start to simulate these two small scenarios:
1 Scenario: I want to have a set of mobile vehicles that exchange information among themselves
2nd scenario: I want to have a set of mobile vehicles and a set of fixed RSU that exchange information
What can I change in the existing example of Veins to lead simulate these scenarios please?
Can you help me to do this please.
Thanks very much in advance.
If you are interested in using Road Side Units (RSUs) in your simulation, you might want to base your work on Veins 4a2 instead. Its example simulation already includes an RSU participating in data exchange: as soon as a vehicle stops, it sends a message. Each vehicle and RSU that receives a message re-broadcasts one message per simulation. Each vehicle that receives a message computes a different route to avoid the road where the message originated. See this answer for a screenshot of the resulting simulation.
I'm trying to implement a very simple scenery on Veins (OMNeT++ + SUMO) with just three vehicles and one unique fixed RSU, but I'm new in Veins and I'm not able to move very well, despite the tons of documents, FAQs and tutorials I've already read!
My start point is the default TraCI scenary demo, but here the vehicles send and receive, while the RSU just send in broadcast. I managed to fix manually my RSU (adding a MapName.add.xml file and import it from MapName.sumo.cfg, and later modifying RSU.ned and omnetpp.ini). So, at this point I can see my RSU on the simulation map, and the SUMO simulation end well. But for resolve my problem I need to allow RSU not only to send, but also to receive (I have to establish a V2I2V communication).
The copious material I found is sometimes similar to my goal, but dispersive and lacking, and none found any solution. How to edit this default scenery to reach this outcome? Would be extraordinary to have a complete and working code, or be driven by someone more experienced than me.
Many thanks!
The tutorial that comes with Veins 4a2 already includes an RSU that receives data. When it does, it changes its color to green. See TraCIDemoRSU11p::onData for how this is done.