Pythonをインストール
https://www.anaconda.com/distribution/#download-section
より Anaconda 2019.03 for Windows Installer Python 3.7 version (Anaconda3-2019.03-Windows-x86_64.exe) をダウンローしてインストール。設定はすべてデフォルト。
condaの最新版があると表示が出たので、管理者権限のAnadonda Promptでcondaをアップデート。
(base) C:\WINDOWS\system32>conda update -n base -c defaults conda
Pythonの仮想環境を作成
(base) C:\Users\username>conda create -n drone1
environment location: C:\Users\username\.conda\envs\drone1
(base) C:\Users\username>activate drone1
pipの準備
pipを使おうとしたら、ないとエラーが出たのでインストール。
(drone1) C:\Users\username>conda install pip
tellopyをインストール
tellopyをpipでインストール。
(drone1) C:\Users\username>pip install tellopy
tellopyのインストールを確認。
(drone1) C:\Users\username>python
Python 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tellopy
>>> help(tellopy)
Help on package tellopy:
...
HW環境の準備
デスクトップパソコンにGW-450Dを刺し、WifiネットワークのTELLO-XXXXXを選択。有線LANやHyper-Vの仮想ネットワークもあり、接続がうまくいかないのでは?と懸念したが、何の問題もなし。
1つ目のサンプルプログラムでテイクオフを確認
(drone1) C:\Users\username>python "C:\Users\username\.conda\envs\drone1\Lib\site-packages\tellopy\examples\simple_takeoff.py"
おおー、動いた!
OpenCVのインストール
続きけて2つ目のサンプルプログラムのために環境の設定を継続。
まずはOpenCV。
(drone1) C:\Users\username>pip install opencv-python
imageのインストール
(drone1) C:\Users\username>pip install image
avのインストール
ここでちょいハマり。結論から言うと、conda-forgeを指定してcondaでインストールで解決した。
(drone1) C:\Users\username>conda install av -c conda-forge
最初はpipでインストールしようとしたところ、以下のエラーでストップ。
(drone1) C:\Users\username>pip install av
...
...
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
----------------------------------------
ERROR: Failed building wheel for av
https://pg.kdtk.net/1770を参考に
https://download.microsoft.com/download/5/F/7/5F7ACAEB-8363-451F-9425-68A90F98B238/visualcppbuildtools_full.exe
から直接ダウンロードしインストール。オプションとしてWindows10 SDKを選択。が、link.exeのエラーが解決できずあきらめ。
2つ目のサンプルプログラムで画像の取得を確認
(drone1) C:\Users\username>python C:\Users\username\.conda\envs\drone1\Lib\site-packages\tellopy\examples\video_effect.py
が、以下のエラーで動作せず。
Tello: 11:36:11.913: Error: video recv: timeout
Tello: 11:36:16.913: Error: video recv: timeout
Tello: 11:36:21.913: Error: video recv: timeout
https://github.com/hanyazou/TelloPy/issues/29によればファイアウォールが問題の模様。
Windowsのファイアウォールの設定
画像はPort UDP 6038で受け取っているようなので以下のように設定。
これで無事に動いた。もちろんpython.exeも許可しておく。
その他
Telloのファームウェアをアップデートしようとしたところ、「ファームウェア認証中」のまましばらく動かず。いやになって2時間ほど外出して帰ったら漸く次に進めるようになった。
また、iPadで更新をかけたところ、30%で更新進まず、、、5分ほどして本体のバッテリー切れ。再度充電してAndroidから更新かけたら今度はあっさりと進んだ。品質がまだまだの感触。