- Install Python, PyCharm, Git, and Packet Sender.
- Open Pycharm and create a new project.
- Click VCS->Git->Clone
- At the top of this page, click Clone or download. Copy the link.
- Paste it in the URL box in the PyCharm window.
- Click test to ensure everything is set-up right.
- Select a directory where you want to download the repository.
- Click Clone. The project should open up after downloading.
- Git Clone this repo.
- Sorry, this is not pip install-able, nor is it a binary wheel...yet. Just deal with the clone for now.
- Ensure you have access to your router's control panel.
- Double Click the telloWifiConnect.py file on the left side.
- Click Run->Run...->telloWifiConnect
- Follow the instructions on the bottom of your screen. You will have to do this any time you go somewhere with different wifi.
- When you want to put your tello back into normal mode (you have just put your tello into SDK mode), ensure it is turned on, and then press and hold the power button for 5 seconds.
- Login to your router's control panel and find the ip address of your tello. Write this down.
- Send a packet on UDP port 8889 to 192.168.10.1 with the message command.
- Send another packet with the message ap YOUR_SSID YOUR_PASSWORD.
- Login to your router and grab the tello ip (I recommend statically assigning it).
- Right-Click the pyTello Folder and select New->Python File.
- Name it whatever you want.
- At the top, type
from telloUDP import TelloError
- On the next line, add
from pyTello import PyTello
- Skip down a few lines and add
if __name__ == '__main__':
- All of your tello code will go here, indented one tab. See pyTelloExample.py for some example code.
- Take a look at the Tello SDK 2.0 User Guide for all of the commands.
- Import PyTello from pyTello.
- Import TelloError from telloUDP (not sure why this isn't automatic, but oh well).
- Due to threading, everything must be run from inside
if __name__ == '__main__':
- Feel free to directly use the telloUDP module, hope you like threading!
- Did you check to see if you have Packet Sender or similar software running? Only one port can be bound at a time. Close the software and try again.
If you ever see a function or file beginning with a single underscore, that function has been declared as "private", and as such, the developer expects you to never call that function or import that file. Bad things can happen if you do.
If you ever see a double underscore, that is a reserved python name, and as such, you should never overwrite or call it directly. If you do, understand that you are assuming responsibility for what that function previously did.
- Tello sometimes requires "command" to be sent twice if it has just been turned on
- getData() always returns an empty list, function is currently useless