-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Send telemetry over usb-ethernet on SkyController2 #4
Comments
Please: video stream too |
My intention here is to enable port forwarding in the SkyController2 so this is done automatically by the kernel network stack. For video this should work fine. We only need to fwd one port (888, if I remember correctly). The challenge is to work with the Disco's kernel and its proprietary network driver: we may hit a roadblock of something missing there that we can't workaround. For telemetry, we will probably need to change how we start arduplane: right now arduplane sends the mavlink heartbeat as broadcast and as soon as someone replies it locks to that address. This works great if the actual GCS is in the same subnet, but it's not the case here. So I think we will probably need a component in the SkyController2 side to do the initial setup (e.g. it connects to Disco and as soon as the real GCS is connected, it sets up the port forwarding) or as an alternative also install mavlink-router on SkyController2. This would allow to traverse the subnet, but with an additional component - the lack of storage space on SkyController2 and requiring one more component to setup there worries me a little bit. @tridge, since you have much more experience than me on this, if you can comment on that would be nice. Thanks. |
I've never played with the skycontroller, sorry. Setting up port fwding does sound like the right approach though |
Playing with it today. I can forward mavlink using iptables, but only if arduplane is started without broadcasting. If it uses broadcast, then it doesn't work. Bad thing about not using broadcast is:
I think the second is unavoidable, but the first one is troublesome. Trying to figure out if there's an alternative connection mechanism to make this simpler. |
Humn... Answer is: switch to udpin rather than relying on udp and bcast flag. That means SkyController only needs to know Disco's IP (and that is easy, since it's fixed) and GCS only needs to know the SkyController IP on usb. And those are easy since they are fixed. On SkyController2:
On Disco: change start arguments to: On GCS: set it to use udpin, configuring the IP to Now I need to add this to install scripts and documentation |
@AndKe Does udpin works for you ? |
@kikislater Yes, I flew what Lucas assembled before the summer vacation, and it all worked. |
Ok thank you, strange it doesn't route mavlink packets in my case ... Pan / Tilt is done with software, it's not mechanic : pixel shifting. I didn't remember but I checked in the past and I thought they used opencv for that |
Route network packets from the drone through SkyController2 to the GCS.
The text was updated successfully, but these errors were encountered: