simulationomnet++inet

How can I establish UDP Video Streaming between multiple-UAV nodes and a Ground Control Station (GCS)?


I am trying to simulate multiple UAVs (FANET) in OMNET++ 4.6 using INET framework 3.2.4.

my question is: is it possible where all UAVs stream UDP packets to a gcs?

I have tried following code:

**.uav[*].numUdpApps = 1
**.uav[*].udpApp[*].typename = "UDPVideoStreamSvr"
**.uav[*].udpApp[*].videoSize = 1GiB
**.uav[*].udpApp[*].sendInterval = 0.01ms
**.uav[*].udpApp[*].packetLen = 1000B
**.uav[*].udpApp[*].packetName = "UDPData"
**.uav[*].udpApp[*].localPort = 9999
**.uav[*].udpApp[*].serverPort = 3088
**.uav[*].udpApp[*].startTime = 0

**.gcs.numUdpApps = 1
**.gcs.udpApp[*].typename = "UDPVideoStreamCli"
**.gcs.udpApp[*].serverAddress = "uav[*](ipv4)"
**.gcs.udpApp[*].localPort = 9999
**.gcs.udpApp[*].serverPort = 3088
**.gcs.udpApp[*].startTime = 0

But here only uav[0] (server) sends packet to gcs (client) as I understood that there could be only one server and multiple clients. But not the other way around like what about multiple clients who send/stream packets to server like in VANET or FANET?

should I use UDPBasicApp for clients and UDPSink for gcs? If I do that then rcvdPk for gcs remains zero. Though, I do get sentPk for all UAVs okay. Or atleast a solution where all UAVs UDP video stream among each other?

Please suggest me a solution.

I want to do something similar to this paper's simulation:https://inass.org/wp-content/uploads/2022/03/2022083155-2.pdf

enter image description here


Solution

  • I solved some of it using this syntax: **.host[0]*.udpApp[0..998].serverAddress = "host[" + string(index()+1) + "]"