はじめに

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

動作環境

  • 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で動かす事ができた、お手軽。
  • ドキュメントをみると、取得できるデータは速度、バッテリー残量、飛行時間のみ。。。今後増えるのか不明。
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.