Hi,
I'm experiencing an odd issue when connecting to the Tello over UDP sockets in Python in which the Tello stops responding to my commands. First here's what does work:
- I can successfully send a "command" message to start the SDK (and in fact receive an "ok" message) in response.
- I can poll the state data from port 8890 successfully and indefinitely.
- I can send the takeoff command and have it takeoff.
However, no command works after I send the "takeoff" message and I never receive an "ok" message in response to that command.
Perhaps most fascinating, however, is that if I use an application like packetsender for mac to send the message "land" (or anything else) after I've sent "command" and "takeoff" from my python socket, it *will* listen to the packetsender message. So this is rather confusing. Somehow my socket connection for commands must be dying?
In effort to simplify the process for debugging I simplified my code to the following (without any response reading for simplicity):
And this fails. I've tried repeatedly sending land in a loop in case there were drops or delays with no success.
I tried to get the SDK on my Tello with the "sdk?" message, but it tells me that's an unknown command so I'm not sure what to make of that
Does anyone with experience controlling in python see any obvious problems with the above simple code or why it might suddenly fail to receive my messages (yet still work if I send the message from a different network tool)?
I'm experiencing an odd issue when connecting to the Tello over UDP sockets in Python in which the Tello stops responding to my commands. First here's what does work:
- I can successfully send a "command" message to start the SDK (and in fact receive an "ok" message) in response.
- I can poll the state data from port 8890 successfully and indefinitely.
- I can send the takeoff command and have it takeoff.
However, no command works after I send the "takeoff" message and I never receive an "ok" message in response to that command.
Perhaps most fascinating, however, is that if I use an application like packetsender for mac to send the message "land" (or anything else) after I've sent "command" and "takeoff" from my python socket, it *will* listen to the packetsender message. So this is rather confusing. Somehow my socket connection for commands must be dying?
In effort to simplify the process for debugging I simplified my code to the following (without any response reading for simplicity):
Python:
SINGLE_TELLO_IP = "192.168.10.1"
COMMAND_PORT: int = 8889
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print("Send command")
s.sendto(b"command", (SINGLE_TELLO_IP, COMMAND_PORT))
time.sleep(2.)
print("Send takeoff")
s.sendto(b"takeoff", (SINGLE_TELLO_IP, COMMAND_PORT))
time.sleep(2.)
print("Attempting to send land command -- this won't work")
s.sendto(b"land", (SINGLE_TELLO_IP, COMMAND_PORT))
time.sleep(2.)
And this fails. I've tried repeatedly sending land in a loop in case there were drops or delays with no success.
I tried to get the SDK on my Tello with the "sdk?" message, but it tells me that's an unknown command so I'm not sure what to make of that

Does anyone with experience controlling in python see any obvious problems with the above simple code or why it might suddenly fail to receive my messages (yet still work if I send the message from a different network tool)?