====== dji tello ======
===== telloのsdk =====
==== djitellopy ====
生udfソケットのsdkのラッパー.簡単に利用できるのでおすすめ
* [[https://qiita.com/RyutoYoda/items/c499fbbca5e6074178d8|使用例]]
* [[https://djitellopy.readthedocs.io/en/latest/tello/|api reference]]
==== 生udpソケットで使う ====
* [[https://note.com/yhotta240/n/n4a6ddc37ef98|使用例]]
* [[https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf|sdk2.0]]
===== 開発環境 =====
* telloとwifiで接続するため教育用arrows tabletで開発する(tello eduだとアクセスポイントに接続できるのに,,,)
* ファイルはdropboxで共有するが,arrowsは能力が低いしアクセスがあまり頻繁でないのでブラウザベースでアップする
* venvで開発する?
==== venv ====
=== venvの走らせ方 ===
$ source venv/bin/activate
==== 構築環境 ====
pipでインストール
* djitellopy 2.4.0にダウングレード
* jupyter notebook
* matplotliib
=== cv2.imshow問題 ===
普通にpipでdjitelloをインストールするとcv2.imshowが動かない.
"Wayland ... "などwarningが出るがそれは本質ではなかった.
検索すると,venv, jupyter, anaconda 関係で,
* opencv-pythonの問題
* x11を利用する
などの解決方法が出てくるが役に立たなかった.
色々調べた結果,djitellopを読み込むとcv2.imshowが動かない.
そこでその条件で検索した結果,djitellopyとopencv-pythonの依存ライブラリの競合の可能性が出てきて
解決策としてdjitellopyのダウングレードが提示されていた.
素の状態では,
* opencv-python 4.12.0.88
* djitellopy 2.5.0
であった.
これを,djitellopy 2.4.0にすることで問題が解決した.
pip install djitellopy==2.4.0
依然,warningは出るが,正常に動作している.
===== telloの飛ばし方 =====
==== モジュール読み込み ====
from djitellopy import Tello
import numpy as np
import cv2
==== telloクラスのインスタンス生成 ====
tello=TELLO()
==== 接続 ====
まずは外でwifiをtelloに接続する
tello.connect()