skyviper broadcasts MAVLink traffic on UDP port 14550. Is it possible to change port number. For example, I change 2 skyviper to wifi station mode (to allow 2 skyviper connect to one AP). I want one skyviper send mavlink to UDP port 14550, another skyviper send to 14551. Is it possible? Thank you very much
I figure it out. change Sonix/app/dashcam/src/main_flow/ArduPilot/mavlink_wifi.c
#define MAVLINK_LOCAL_PORT 14550
#define MAVLINK_DEST_PORT 14550
two skyviper v2450 fly together
Thanks for posting! My goal is to control two or more 2450s in the wild flying waypoints from the same Tower session. Iām comfortable modifying parameters but currently have no expertise beyond using my stock SV hardware and standard missions in Tower.
Does wifi station mode control via laptop & wifi as the name suggests, or via radio Tx?
Is this related to @OlivierBās point #6 in this thread?
Does wifi station mode control via laptop & wifi as the name suggests
Yes. Network architecture in my video: copter 1 , copter 2 and PC all connect to the same WiFi AP. copter 1 broadcast mavlink message to port 14550, copter 2 broadcast mavlink message to port 14551. PC control both copters through WiFi. Radio is not used in my case
But you can have one transmitter to several skyvipers! Handy if you have a swarm and things go wrong!
I think It means you can bind one radio Tx to all copters. So that you can switch all of them to land mode, in case something go wrong
It is not very convenient if I have to build firmware for each drone just for change mavlink output. So I make a little modify to allow me specify mavlink output in WIFI.TXT
Note: If anyone got something like ālxml.etree.DocumentInvalid: Element āfieldā, attribute āunitsā: The attribute āunitsā is not allowedā when building sonix firmware in the step āmake mavlinkā. You may need to export PYTHONPATH=YOUR_SONIX_SRC/modules/mavlink
Great project!
Iām now also playing with multiple SVs ā I battled through some of the typical multiple SVs issues discussed all over this forum lol ā and am now moving toward swarming.
What sensor do you use on the SVs? I can see them hooked on too of each drone.
Why the requirement to use multiple ports? Is having unique SYSMAV_IDS not sufficient?
Are you using MP or QGC or another available GCS or your custom solution?
If that stuff is addressed in other threads, feel free to point me to it instead of re-iterating
What sensor do you use on the SVs? I can see them hooked on too of each drone.
that are motion capture system markers. I use them for indoor navigation. please refer to Optitrack for Non-GPS Navigation ā Copter documentation
Why the requirement to use multiple ports? Is having unique SYSMAV_IDS not sufficient?
some tools, for example, mavproxy, only support single drone. it is easier to get thing working if I send mavlink stream to different port.
Thanks for the info!
And I since then read quite a good amount of threads and thatās confirms what I understood from it, for the ports gymnastics. Do you have experience with other tools (dronekit, flytOS,ā¦) that might support multiple drones more easily?
For my application, I have the quad fly a waypoint mission on a loop, it repeats the ācircuitā for as long as it can fly. But, one or some of the waypoints need to be dynamic, i.e., I need to be able to update some of the waypoints of the mission from the ground (well, not me, but an application that will ādispatchā each quad) while the quad is flying and I am trying to scope out what might be the best approach for that. Sending mavlink messages seems like a potential solution.
@chobitsfan Also, do you have a compiled binary for the modified firmware that includes your mod? It doesnāt seem like it was ever merged, except if Iām reading this wrong, and it is a great solution to this problem!
If not, I will start looking at building firmware which I am a little concerned about ā¦
Sending mavlink messages seems like a potential solution.
maybe you can use pymavlink
Yep ā Iām starting to play with Dronekit ā it seems pretty straight forward to have the entire mission executed by a script that will import a waypoint text file, which I can have another piece of software, my fleet manager, update as needed for each drone in the fleet.