With our team, we are trying to get a development environment up and running on AWS EC2 instances.
Until now, what we have accomplished is running Sphinx on a g4dn.xlarge EC2 instance running Ubuntu Server with remote access through RDP. We can control our drone with Olympe on the EC2 instance itself, but the next challenge is to run python scripts on our local environments to control the drone in the Sphinx simulation.
Did someone accomplish this already? If not, maybe you have a few tips to help us:
What ports are involved from the python library to the drone network interface?
is it only TCP? could SSH tunneling work?
if it’s also UDP, any idea how we could work something out?
You would need to open/forward and/or tunnel the following ports (this is the strict minimum to establish a bidirectional SDK connection):
drone port:
tcp/44445 (arsdk net discovery)
tcp/44444 (arsdk net control)
udp/2233 (arsdk net command)
tcp/80 (optionally: the drone web API used by Olympe to list / download media resources)
olympe ports:
udp/9988 (arsdk net command)
It’s a mix of tcp and udp port. SSH tunneling could work provided you have a stable connection with a latency <150ms but unfortunately SSH does not support UDP port forwarding.
One possible solution would be to setup some iptables rules to forward the traffic between your EC2 instance and your local environment but it could quickly become a bit clunky.
Another solution would be to setup some kind of tcp and/or udp tunnel using something like udptunnel instead of ssh for example.