2021年6月22日火曜日

DJIWidgetのフレームワークを認識しない問題(1)

 DJI SDK でFPVの動画をスマホに表示させたいと思う。というのも、MIVIC MINIのカメラで、リアルタイムに人や顔の画像認識をさせたいからだ。画像認識の部分はOpenCVを使うつもりだが、何よりも、画像が送られてこなければ話にならない。

DJI Mobile SDKのサンプルを動かすと、FPV画像がちゃんと送信され、受信してスマホに表示させる。この部分を再現しようと、関連ファイルを組み込んでみるが、DJIVideoPreviewerクラスなど、肝心なところが認識しない。単に DJISDKをimportするだけではなく、DJIWidgetの中に入っているものがダメなのだ。

これは、Podfileに

   pod 'DJIWidget', '~> 1.6.4'


の1行を加えれば解決されるはずなのだが、これでpodをインストールし直しても、どうしても解決しない。関連ファイルは組み込まれているのだが。DJIWidget.frameworkが作られていないことが原因のように思えるが、当然作られるべきで、その作り方もわからない。というか、Demoの方は、これがなくてもちゃんと動いているし、DJIVideoPreviewerクラスも組み込めているわけでから。

何が何だか色々やってもわからないので、デベロッパーページのこちらを参照して、GithubのDJIWidgetページをダウンロードして、そこからそのまま DJIWidget.framework を作成した。それの組み込み方については、こちらのページを参考にして、大体そのように組み込んだ。
(基本、ただ、DJIWidget.frameworkをpodのプロジェクトではなく、メインのプロジェクトのframeworksのフォルダに下においただけ。参照追加ではなく、リアルコピーを選択することが大事。設定は特に変更しなくても認識した。)

あとは、
import DJIWidget
とすると、widget関係のクラスをほとんど認識して、エラーは消えた。

ここまでは良かったが、コンパイル段階で、どうもこのDJIWidget.frameworkに起因したらしいエラーが起きた。やり直しだ。



0 件のコメント:

コメントを投稿

920MHz帯無線通信モジュールTY92SS-E2730を使う

 先にも書いたが、ドローン2号機上のコントローラーはラズパイ4で、それとのやりとりをもともとWIFI経由で予定していたが、機体がアルミパイプであるために通信が不安定で使い物にならなかった。そこで、プロポに変えた。プロポの信号取り出しもなんとか安定できるようになったが、そのシステム...