Hello Tello Pilot!
Join our DJI Tello community & remove this banner.
Sign up

Tello. Whats possible?

@bluejune I've been using pytello and I'm trying to have the video stream live-playing on another window. I've not been successful using the IP address (mentioned in tello.py) and ffmpeg or mplayer (as shell commands), and I'm not sure how to go about doing it.

Has anyone managed to get live video playing in another window when using pytello?
 
SPS request packet is sent periodically (every 1sec) in the timerTask.
And I have no video quality issue like your screenshot with updated codes.

###############################################################################
# timerTask
###############################################################################
def _timerTask(self, arg):
self._sendCmd(0x60, self.TELLO_CMD_STICK, None)
self.rcCtr = self.rcCtr + 1
#every 1sec
if self.rcCtr % 50 == 0:
self._sendCmd(0x60, self.TELLO_CMD_REQ_VIDEO_SPS_PPS, None)
@bluejune ,hi
how did you get the video?
I have the same problem with Hugh.
 
Hey guys, I've been looking at the video protocol.
Those two first bytes do seem like a sequence number of some kind, and every 10 packets there seem to be a strange smaller packet that breaks the second byte. Was there any sort of definite answer with what this could be?
 
Hello all, I've been reading up on your work over the last couple of weeks. It's a great example of security experts, programmers and drone enthusiasts working together to solve a problem. I am looking into a security project that extends your good works and I have a few questions. The first one is authentication. Abyss is running as an open server on the drone and its DHCP server allows many connections at the same time. However it allows only one control Application (Tello App) to control it. Is the controlling device identified by it's IP address, it's MAC address or both?
 
There is a problem with taking photos because by default in your app it uses thumb button. Pressing right thumb button will cause small movement because it's located on right axis stick, resulting in somewhat blurry images depending on pilot sensitivity and light conditions (exposure). I can't press right thumb without small movement on right stick.

Can You implement controller button mapping, or at least change TAKE PHOTO and VIDEO/PHOTO MODE to L1 and R1 like on stock controller?

Can You implement cardboard view for VR box like in stock app?

Btw, latest update is amazing! I can't open any picture or video (from ATP app) but it still rocks!

@Krag
How is WiFi signal quality detected? Is this information taken from quadcopter or from mobile phone? I need to know this, because info taken from phone is not reliable when using WiFi extender
 
Last edited:
@bluejune I've been using pytello and I'm trying to have the video stream live-playing on another window. I've not been successful using the IP address (mentioned in tello.py) and ffmpeg or mplayer (as shell commands), and I'm not sure how to go about doing it.

Has anyone managed to get live video playing in another window when using pytello?



I write new scripts to control, receive states and video which may solve this problem.

more detail

**Tips**: Use the New [Tello SDK](https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello SDK Documentation EN_1.3.pdf). Take care the UDP PORT.
 
  • Like
Reactions: Shubham
guys may i ask? Does anybody know what's the command for straming video and how to open it up
 
Tello is an amazing little machine for the price. And they gave us a good start on an SDK. But it is currently limited to a few simple commands. What should it be possible to do given the hardware?

Beyond the commands the sdk already supports we should be able to do the following since it is already being done by the app,
Take picture and video.
Configure drone and camera.
Get battery state.
Capture camera stream.

I would hope there is additional data (like orientation) being sent to the phone that is not displayed in the client. If not getting at that data might require patching firmware.

Personally I would like to get at the video stream for processing on the phone and possibly do a follow me mode. I would also like to see if it would be possible to operate them in a swarm. Currently you can only control one because they all use the same ip.

What else?
Hope you look back your apps atello.... it's been awhile since you check on it?
 
  • Like
Reactions: Sienrak
So, first of all you are one hack XD of a community. I wanted to get started a bit too as I am still in my holiday. The last post has been a while but I am stuck.

I can't get the pytello for controller to work.
I have installed pyxinput with pip install pyxinput.
It says error import pyxinput try ... install.bat. But if I do this it says devcon.exe failed.

If you need more info please tell me.
 
Last edited:
Okay, so I managed to fix it, very weird. I had cloned the full repo then tried installign the inf file manually, automatically via install.bat. Nothing worked. Now what I did to resolve it and install pyxinput, I just downloaded just the folder from shauleiz/vXboxInterface, ScpVBus-x64.zip Then just installed it and worked like a charm.

Now able to use my controller to fly the Tello omg so cool.!!!
 
Here is what I can figure out of the commands based on the code. The comments are from the logs and were translated from Chinese.
...
//??
ryzerobotics\tello\gcs\core\cmd\q.java:75: cmdId:4179//Response - Xiao Huangren
I have to laugh at this part. "Xiao Huangren" or literally "little yellow people" is the Chinese for the Minions. I could absolutely have the wrong translation here, but it makes me smile nonetheless.
 
Does anybody have a wireshark capture of the Activation procedure?

I am a proud new owner of a Tello drone, which I bought as part of a research I am doing on serialization technologies (these specify how more complex data structures are exchanged over the wire, in binary format). As it turns out, the Tello drone uses Google's protobuf's for (among other things) the activation procedure . In our research, we found the enclosed protobuf (attached).

Unfortunately we missed the very first activation of the device. I presume subsequent installations of the Tello app just confirm the device has been already activated (as the activation status command returns just 010101... in the payload). This despite factory resets and firmware updates.

So, if somebody happens to have a capture of the activation procedure of their Tello drone and could share with me, would be very much appreciated? (be aware, however, that the SN might seems to be sensitive information and needs to be handled responsably).
 

Attachments

  • protobuf.PNG
    protobuf.PNG
    21.9 KB · Views: 43
Hello Bluejune.

Just a little feedback on your python scripts :
I'm running py3.6 under Win10 so I had to tweak a few things :
- Syntax : Changes in the print command and exception command
- Differences between Py2.7 and Py3.6 about the way strings are handled :
  1. I had the error : wrong object in function "fileVideo.write(data[2:size])", string was expected, and data is a Bytearray type object
  2. I tried to convert data in str using data.decode('whatevercodec') but it failed (impossible to know the good codec)
  3. Finally made it by changing the write method and allow the write command to write binary data (i.e in the command fileVideo = open('video.h264', 'wb')) (i won't tell you how long it took me to solve this problem, even if it looks obvious afterward.....)
  4. Successfully generated the .h264 file but very poor quality in ffplay and many error messages, see screenshots below
- Control commands are working just fine, for some reason the keyboard arrows don't work (up/down/left/right) but the numpad arrows work

Thank you for the great job, and please if you have any clue on how to solve my video issue, that would be greatly appreciated.

I continue my tests.

Hugh

Screenshots of my ffplay issue :
View attachment 284
View attachment 286
I tried to run the PigguSoft run.py that uses tello.py. but no luck getting any video. The video thread kept getting into the exception condition (socket.timeout).
What I did:
1. python run.py
2. takeoff
3. pressed "1" for smart360 video

But it could never reach the write video file.

Anyone know what I should've done instead?
 
It’s good but i would still like a hundred meters.
if you went 100 meters then the drone would be lost, plus if you were able to go up that far then you would need some good propellers and motors to be stable and fly well. I have seen drones go up that high and they were big and bulky but at the same time they had no guards.
 
Can anyone help me with Tello video decoding using Media Codec and Surface or TextureView in Android please. Edit: I'm able to recieve bytes from port 0.0.0.0:11111 I just want to know how to decode and render them to the surface.
 

Members online

Forum statistics

Threads
5,697
Messages
39,957
Members
17,056
Latest member
97bugsinthecode