15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TelloのPythonサンプルを動かす

Last updated at Posted at 2018-04-03

はじめに

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

動作環境

  • 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で動かす事ができた、お手軽。
  • ドキュメントをみると、取得できるデータは速度、バッテリー残量、飛行時間のみ。。。今後増えるのか不明。
15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?