Servers by jDrones

[BETA - TESTING - CALL ] Skynet - LTE Drone Video Streaming + Datalink Platform

Hi everyone,

Our team would like to introduce Skynet - https://stublab.io/#/skynet - a software platform that allows you to control your drone remotely through LTE without the need of a VPN along with the following features:

  • Datalink – Mavlink relay

  • Remote streaming (200 300ms– low latency)

  • Remote SSH shell to your Pi.

Supported Hardware:

Raspberry:

  • Raspberry pi Camera + HDMI Card

OS support:

  • Mac OS, Linux , Windows

You can read more at https://skynetdocs.stublab.io/

Why Skynet?

Skynet provides similar functionalities to Uavmatrix and Xbstation (Without using any third-party VPNs such as ZeroTier or OpenVPN.)

We use peer-to-peer connection (whenever possible) powered by WebRTC to minimize latency for datalink (MAVProxy) and video streaming. A Raspberry streaming session typically has a delay of around 200 –300ms.

These are some of the things you can do with Skynet:

Web SSH:


Using HDMI to CSI board to stream:

BETA – Calling for TEST:

Now, we would like you fellow developers/hackers/tinkerers to help test out Skynet and let us know what you think. You can start a trial at https://stublab.io/#/pricing/skynet/ (The trial license currently has all the features enabled for this beta test run).

If you have any feature request or any hardware you want us to support, please let us know in the comments below. Your feedbacks are highly appreciated

We’re always available for any questions you might have.

Thank you!

How do you provide connection via LTE without a VPN ?

1 Like

Hi Eosbandi

We use Google’s WebRTC, which basically does UDP hole punching to try to establish a p2p connection between the Hub (your computer) and the Node (the Raspberry Pi). When a peer-to-peer connection is not possible, the connection is routed through our TURN server (with end-to-end encryption, of course). You can read about WebRTC here:

Below is roughly how it works:

Stage 1: Collect Session Description Protocol (SDP) packets from endpoints

Stage 2: Establish a direct peer-to-peer between two devices

Skynet Node <-- WebRTC tunnel --> Skynet Hub

Skynet’s in-browser video streaming is also enabled by WebRTC’s built-in video capability. . https://skynetdocs.stublab.io/Manual/VideoStream/

The reasons we chose WebRTC as the transmission medium for SkyNet are:

· Security: encryption is mandatory for a WebRTC links.

· High-bandwidth and low-latency: sub 500ms latency for HD Video streaming (typical 200 - 300 ms)

Please feel free to reach out to me if there are any further questions.

Not to offend you in any ways, but…

Your idea sounds quite interesting, especially as we are looking for such a solution without Zerotier.

But you have a website without any legal information about you (or did I miss it?).

And you are using the term „Skynet“, that brings in a very high risk of legal conflicts. In Germany the trademark register of the DPMA shows not less than 27 entries with registrations, withdraws, disputes and so on for that name.
Not a good idea, I think.

Technically, I would be glad to test this for you as we have a HDMI stream forward solution using G4 in active use. Please send me a PM.

Thanks,
Stefan

Hi Stefan

Thanks for the comment

The website is still a bit of a work in progress, but we updated it with our legal and contact information now. You can find it in:
https://stublab.io/#/about

Thanks a lot for pointing out the issue with the brand name, we’ll consider changing it.

I sent you a PM.

I doubt there could be any legal or trademark conflict in Vietnam :slight_smile:

If both ends are natted i guess a server is needed somewhere to start the p2p comunication.

Yeah. NAT traversal is done through our signalling server before connection establishment. If that fails and a direct p2p connection cannot be established, a TURN server relays the messages between the 2 devices.

Ok, understand. I don’t see much of a benefit vs use an OpenVPN server. We use one and have about 150ms delay on 2 lte appliances talking to each other trough the tunnel. It is safe and i don’t have to worry much about nats.

Corrado

Thanks for the info, Corrado.
We think using Skynet would save our users time and effort to set up an OpenVPN server and the cost to maintain it. Once the software are installed and a license activated, server routing/connection establishment would automatically work along with the added functionalities provided in the Web UI (SSH, SFTP, Video streaming…).
Our tests also showed a significantly lower CPU load while running Skynet Node as compared to OpenVPN, Node runs without any problem with lower-end boards like the Raspberry Pi Zero. And the WebRTC video streaming protocol proved capable of streaming high resolution video with minimal delay.

Would be great if you can give Skynet a try and if possible do a benchmark/comparison with OpenVPN. Installation is quick and easy, all you need is a Raspberry Pi connected to Internet and a computer, the instructions can be found here
https://skynetdocs.stublab.io/Setup/skynet_node_setup/
Thanks a lot :smiley:

I guess it all depends on the kind of customers you look at. We integrate our system with alarm centrals and those company want their servers inside their webfarms.
We use webrtc and nodejs too, we just relay on a vpn server for the infrastructure.

Hi @Stublab, this very good, so we have some options to choose to operate drone using LTE network. I have simple question, can we control and or monitor several drones in one GCS ?? So each drone will have unique id… And also how about the camera of those drones, because each drone has each own camera…
Thank you

Hi Tony Atma,

Thank you for your interest.

I’m afraid the answer is a mixed one.
In the Skynet Hub Web UI Dashboard, all of your drones will be visible. Their IDs are generated and registered when you activate a SkyNet license on them.
Opening multiple tunnels during a session is not a problem, we already have 2 tunnels per drone (one for mavlink, the other for video streaming). But as we know (please correct me if I am wrong). QGroundControl and MissionPlaner does not support connections to multiple drones at the same time (for both video and mavlink).
Therefore with the current version of Skynet, you can only control 1 drone per license at a time. You can easily switch from one to another from the Web UI.
However I like your idea of multiple controlling connections, we will do some more research to find out the feasibility of such a feature

Hi Tony Atma
After discussion, We decided to support the multiple drone control feature for both video and datalink. You can check our road map for skynet at Skynet Road Map. We will inform when this feature is ready. Meanwhile, that would be great if you can try our platform and give us some tips.
Thanks

@Stublab,
That is great, I really like to test it.
Regards,

Servers by jDrones