Edited at

TelloのPythonサンプルを動かす

More than 1 year has passed since last update.


はじめに

公式のドキュメントを参考に、サンプルを動かし、動作確認を行う所までです。


動作環境


  • OS:macOS High Sierra (10.13.3)

  • Python 3.6.3

  • ryzerobotics Tello


セットアップ



  1. 公式サンプルをダウンロードし、適当な場所に配置。

  2. Telloの電源を入れ、PCからTelloのWifiアクセスポイントへ繋ぐ。(SSIDは[TELLO-XXXX])

  3. TelloのIPは192.168.10.1なのでpingで接続確認を行う。

$ ping 192.168.10.1

4.サンプルをコマンドラインから実行。以下の様に表示されれば準備完了

$ python Tello3.py 

Tello Python3 Demo.

Tello: command takeoff land flip forward back left right
up down cw ccw speed speed?

end -- quit demo.


Telloの制御


  1. セットアップが完了している状態で、コマンド受付状態にするためにcommand と入力しOK と表示されればTelloとの通信ができている。

  2. Telloが離陸しても大丈夫な場所に置いてある事を確認し、離陸コマンドtakeoffを入力、OKと表示されたあと、Telloが離陸すれば成功。

  3. 他のコマンドを続けて入力する事で反応を見る事が出来る。着陸するときはlandを入力。その場に着陸する。

  4. サンプルを終了させる場合は、endを入力


サンプルの中身

サンプルの中身を見てみる、Telloとの通信はUDP通信。IPは192.168.10.1。ポートは8889を利用。

# Create a UDP socket

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
tello_address = ('192.168.10.1', 8889)

入力されたコマンドを送信している箇所

# Send data

msg = msg.encode(encoding="utf-8")
sent = sock.sendto(msg, tello_address)

受け取った返信をデコードして表示。

def recv():

count = 0
while True:
try:
data, server = sock.recvfrom(1518)
print(data.decode(encoding="utf-8"))
except Exception:
print ('\nExit . . .\n')
break


さいごに


  • とりあえずTelloをPythonで動かす事ができた、お手軽。

  • ドキュメントをみると、取得できるデータは速度、バッテリー残量、飛行時間のみ。。。今後増えるのか不明。