Open tkocik92 opened 4 months ago
The problem is that MAVSDK-Java expects exactly one system on the port it listens to (here udp://:14550). It is the same with all the language bindings (e.g. MAVSDK-Swift, MAVSDK-Python). What you have to do is demultiplex the MAVLink stream, and send it to different instances of mavsdk_server.
Say you have two drones, both broadcasting on udp://:14550. You can run a mavlink-router that listens on 14550 and forwards to 14551 and 14552. Then you can run on mavsdk_server with mavSdkServer.run("udp://:14551")
and the other with mavSdkServer.run("udp://:14552")
.
Does that make sense?
MAVSDK-Java Version:
2.0.1
MavSDK-Server Version:2.0.0
I am running into an issue when there are multiple Systems detected on a network. My implementation looks like the following:
Where
ipAddress = "0.0.0.0"
andport
is the port of the system I am trying to connect to.If only 1 system is on the network, I am able to connect perfectly fine. If 2 systems are on the network, I am connected to both Systems with no way to discern between the two. Logcat looks like the following:
If I change
ipAddress
(mentioned above) to the IP of the desired system, MavSDK Server never finishes booting up. What can I do differently?