Pythonからc++のライブラリ呼ぶのは、ライブラリのビルド条件が複雑なので、いっそ全てをc++で作りあげるのが良さそうです。opencvもc++用が存在してるわけだから。
SDK 1.3に記述ある通り、UDPの送信とステータスの受信ポートが違うことは要注意です。
https://dl-cdn.ryzerobotics.com/downloads/tello/20180910/Tello%20SDK%20Documentation%20EN_1.3.pdf
やっていることはPython版と同じく、外部のテキストファイルに記述されたコマンドを順次telloに送ってステータスを受信しているだけです。
実は、コマンドの実行結果を受け取る前に次々にコマンド送ってるから、スプールされてしまっているようだから、作りが変だとは思う。
コードはこちら、
https://github.com/chateight/c_plus_video
ソケット通信の基本の解説は、
https://qiita.com/Michinosuke/items/0778a5344bdf81488114
通信サンプルは、
https://qiita.com/srs/items/c9286b5cff99e741b993
c++での制御は、すでに先駆者がいるから、この先はこれを使った方がいいでしょう。
https://github.com/carlospzlz/ctello
P.S. 2022/11/5
これはTello EDU用でした、違いを修正してもいいかもしれないけど。
動作は他の手段で動かすのと同じ。
admin