riebl / artery

OMNeT++ V2X simulation framework for ETSI ITS-G5
GNU General Public License v2.0
203 stars 129 forks source link

Sending CPM messages from Artery on a real physical interfaces #340

Open inesbj opened 1 month ago

inesbj commented 1 month ago

Dear @riebl, all,

First of all, thank you for the great work of releasing the Artery source code to the research community. It is very helpful. Second, here is my question: We develop CPM on Artery following the latest etsi standard. The CPM are filled with sensor data from the envmod component and the vehicleprovider for the ego kinematic attributes. We aim to send CPM on real ethernet interfaces but would like at the same time to use the envmod to get simulated sensor data (and the vehicleprovider module). I know that in Vanetza, we can use the socktap app to add the CPM and send them on a physical interface (the same way we use the CAM), but the problem is that in this case we could not use the artery envmod and so on. Is there a way to do it please ? and is it possible to use for instance raw socket in artery to send the CPM directly on a physical ethernet interface without using the socktap ?

Thank you in advance for your answer.

Regards Ines

riebl commented 1 month ago

Dear Ines,

yes, you can add a physical interface to Artery. The exact procedures depend on your particular use case and setup. For example, the testbed scenario allows an external device to communicate with other simulated network participants. Alternatively, the TransfusionService enables receiving and transmitting ITS-G5 packets via a TCP socket. You could also modify the INET radio module and add a raw socket for external communication there. In the end, there are many options and you have to choose the one that fits your needs best.

Best regards Raphael

inesbj commented 1 month ago

Dear Raphael,

Thank you very much for the quick answer. This is great if emulation components exist in Artery. I had a quick look on the testbed module and example. May I ask you what is the difference between OTAInterface with/without SEA-API and with/without USRP please ?

Your help is very much appreciated.

Regards, Ines

riebl commented 1 month ago

Dear Ines,

the SEA API integrates a USRP device as testbed adapter for communication with a physical V2X device. You can just implement a custom OTA interface which uses raw sockets for example. The testbed is not limited to SEA/USRP devices.

Best regards Raphael

inesbj commented 1 week ago

Dear Raphael, all,

Thanks for the details and explanation. I am getting back to this issue. I wanted to run the testbed scenario at least to see how I can further change or extend it if necessary to send ITS messages from simulation to a real ethernet interface. I change the omnetpp.ini as the following : I tried to run the [Config noSeaApi] using the "OtaInterfaceStub". I change the .twin.wlan[].mac.address to my ethernet mac address and the *.otaInterface.hcmIp to the IP address of my ethernet interface. However, there is no change in the scenario because I can not see the CAM messages (config from services.xml) in my ethernet interface by using TCPdump. How can we verify this scenario ? Did I miss something ? Thanks in advance.

Best regards, Ines