はじめに
本記事は、
M5Stamp C3でリモートIDを作りたい
の一部です。
全体が長くなってきたので、部分的に別ページにしました。
2022年6月20日以降に機体登録する100g以上のドローンに搭載が義務付けられている「リモートID」を、
M5Stamp C3を使って、作ってみたいな~という記事の一部です。
Open Drone ID
Open Drone IDのプログラムはgithubの opendroneid-core-c に置かれています。
Open Drone ID Core C Libraryと書かれているように、これ単体で動くのではなく、
Wi-FiやBLEで送受信するパケットのエンコード・デコードをする関数ライブラリのみです。
パソコンやマイコンそれぞれの機種ごとのプログラムに組み込んで使うことになります。
今回はM5Stamp C3で使いたいので、ESP32のExampleが必要がです。
Transmitter examples のところに書かれていました。
ESP32用は https://github.com/sxjack/uav_electronic_ids で開発されているそうです。
ただし、BLE4のLegacyのAdvertiseのみのサポートであり、
Long Rangeと拡張Adevertiseが使えるESP32-C3 や ESP32-S3にはまだ対応していないと書かれています(T_T)
BLE5対応は自前でやらないとダメなんですね。。。
M5Stamp C3でOpen Drone IDを動かす準備
BLE5が動かないのは残念ですが、とりあえずBLE4で試してみましょう。
uav_electronic_idsライブラリのインストール
まずは https://github.com/sxjack/uav_electronic_ids からファイルをダウンロードします。
[Download ZIP]をクリックして、ファイルを保存します。(gitツールでダウンロードしても良いです)
ファイルを解答し、id_france
とid_open
、utm
の3つのフォルダをArduinoのスケッチ保存場所にあるlibraries
の中にコピーします。
これでESP32のプログラムはコピーしましたが、Open Drone IDの関数がまだ入っていません。
opendroneid-core-cライブラリのインストール
次は https://github.com/opendroneid/opendroneid-core-c からファイルをダウンロードします。
このファイルも解答し、libmav2odid
とlibopendroneid
、mavlink_c_library_v2
の3つのフォルダをArduinoのスケッチ保存場所にあるlibraries
の中にコピーします。
ただしmavlink_c_library_v2
フォルダの中身は空なので、中身を別途コピーする必要があります。
mavlinkのc_library_v2ライブラリのインストール
https://github.com/mavlink/c_library_v2からファイルをダウンロードします。
このファイルも解答し、c_library_v2-master
の中の全てのフォルダとファイルを
libraries
の中のmavlink_c_library_v2
の中にコピーします。
これでライブラリのインストールが完了です。
ライブラリを有効にするために、Arduino IDEを一旦終了して再起動しておきましょう。