ジャコ Lab

プログラミング関連のメモ帳的ブログです

Tello を借りたので Python から動かしてみた

ドローン

ドローン(Tello)を、知り合いからお借りしたので Python から動かしてみました

動いてはいるけど・・・なんか上手く動かせてない気がします。

Tello

もう発売してから結構な年月が過ぎていると思いますが、今更調べ始めました。
Tello は SDK があって Python からも操作することができます。

Tello SDK 1.3

色々調べていると、Tello は Wi-Fi 親機 となるようで、PC や iPhone から直接 Tello に Wi-Fi で接続 します。

Tello Edu

Tello Edu になると、Tello は Wi-Fi 子機 として独立して アクセスポイントに接続できる ようです。こうなると、ローカルエリア内であれば、複数の Tello を操作できるようになりそうですね?

でも残念ながら、現在、Tello Edu は売ってないようです。悲しみです。

代替商品で安いのがあればいいんですが・・・

Python から Tello を動かしてみる

Tello を Python から動かすためには、Tello に接続した PC 上から UDP でコマンドを送信してあげる必要があります。

import socket
import time

TELLO_IP = '192.168.10.1'
TELLO_PORT = 8889

def main(sock, tello_address):
    # コマンドを送れるようにする
    sock.sendto('command'.encode('utf-8'), tello_address)

    # 離陸
    sock.sendto('takeoff'.encode('utf-8'), tello_address)
    time.sleep(5)

    # 着陸
    sock.sendto('land'.encode('utf-8'), tello_address)


if __name__ == '__main__':
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    main(sock, (TELLO_IP, TELLO_PORT))
    sock.close()
ざっとこんな感じのようですが、着陸したりしなかったり・・・???

まとめ

一応、飛びはしたのですが、どうも上手く着陸ができず・・・もっと調べないと駄目ですね・・・

次の記事

こちらの記事で、一応、期待通り飛ばせてる気がします