MAVLinkを介して新しいカスタムセンサーデータを抽出するためのソフトウェアの設定は、必要以上に難しいようです。
ステップ1は、quadcopter にデータを送信させることです。
- 最初に、mavlink / message_definitionsでXMLを使用して新しいMAVLinkメッセージタイプを定義する必要があります。message_idに新しい未使用の整数を作成できます。
- 次に、MAVLinkジェネレーターを使用してメッセージパック/アンパック関数を生成します。
- 次に、data_stream_sendのArduCopter / GCS_Mavlink.pdeにコードを追加して、メッセージを作成して送信する必要があります。センサーの読み取りでメインループが数ミリ秒を超えて停止すると、特に小さなクワッドや屋内で飛行している場合( "gcs_out_of_time"ビジネスについては、これが重要です) )。STREAM_EXTRA3トリガーに新しいセンサーを追加します。
- 新しいフライトファームウェアを再構築してアップロードします。
プロジェクトの残りの半分はPC上にあり、テレメトリーストリームからMAVLinkパケットを読み取るように地上局ソフトウェアを変更する必要があります。Mission Plannerに対してこれを開始する手がかりはありません。MissionPlannerは本当に洗練されたソフトウェアのようです。しかし、幸運なことに、生の無線テレメトリを「tlog」にダンプするため、tlogから新しいMAVLinkパケットを探す完全に別のプログラムを構築できる場合があります。(スケッチはPCではなくArduinoで実行されるため、Arduinoのスケッチはこれで十分ではありません。)
これがあなたにとって威圧的に聞こえるなら、あなたは一人ではありません!私たちの屋内クワッドでは、GPSやウェイポイント、その他のMAVLink機能を使用できず、MAVLinkの複雑さを扱うだけでは価値がなかったため、独自の無線通信プロトコルと「地上局」を構築することになりました。