ようやく、本題というかpythonを使ってtelloを飛ばすことに
なりました(vmware でubuntuをしよう)
本家のDJIのページにはTello SDK Documentation といった
6ページにコンパクトにまとまった文書があり、和訳もして
いただいているようですが
いきなり スレッドやsysをインポートしたりで
何が、何やら、ここでは最終的にdroneblocksでやった
動きをまずpythonにすることを目標にして頑張ります
1 まず飛ばそう
上のページを参考に、さらに離陸して着陸するには
こんな感じ
import socket #ともかくプログラムとつなげるには必要
import time #telloは通信で送受信の時は休憩がいる
#sleepを呼び出すためのもの
# UDP socket 通信のプロトコルUPDで通信するおまじない
# 192.168.0.1、8889 はtello側で決まっている命令を受け取るアドレスとポートです
socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
tello_address = ('192.168.10.1' , 8889)
#command-mode : 'command'何にせよまずtelloにcommandというテキストを送って
#これから命令します準備してねということ。
socket.sendto('command'.encode('utf-8'),tello_address)
print ('start') #これはコンソール(PC画面)に始まったよと表示してるだけ
#print('始まったよ')でよくないかしら
#次はいよいよ離陸の命令を送ります
socket.sendto('takeoff'.encode('utf-8'),tello_address)
print ('takeoff')
#print('離陸')にしたい
time.sleep(5) #ここでちょいと休憩してtelloが次の命令を
#受け付けられようになるまで休憩
#五秒は長い気がする、そこでいろいろ対策が
#あるようで、それはまた後でとりあえず
#2秒でも大丈夫みたい
socket.sendto('land'.encode('utf-8'),tello_address)
print ('land')
というわけで着陸します。ちなみに2秒はよいのですが
次のコマンドが15秒以上送られないと自動的に
着陸してしまうようです。