

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 診断トラブルコードのデータ収集キャンペーンを作成する
<a name="dtc-data-collection"></a>

**重要**  
現在、特定の AWS IoT FleetWise 機能へのアクセスはゲートされています。詳細については、「[AWS AWS IoT FleetWise でのリージョンと機能の可用性](fleetwise-regions.md)」を参照してください。

このトピックでは、診断トラブルコード (DTC) のデータ収集キャンペーンを作成する方法について説明します。

1. Edge でカスタムシグナルを定義します。Edge の DTC シグナルのデコードルールをカスタムデコードシグナルとして定義する必要があります。詳細については、「[チュートリアル: カスタムデコードインターフェイスを使用してネットワークに依存しないデータ収集を設定する](network-agnostic-data-collection.md)」を参照してください。

1. Edge でカスタム関数を定義します。コンパイル時に Edge で DTC シグナルを収集するためのカスタム関数を定義する必要があります。

   詳細については、*「 Edge エージェントデベロッパー*[ガイド」の「カスタム関数](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/custom-function-dev-guide.md )ガイド」と[「DTC データ収集リファレンスの実装](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md#dtc_query-function-implementation)」を参照してください。
**注記**  
カスタム定義関数の例は、[デモスクリプト](https://github.com/aws/aws-iot-fleetwise-edge/blob/main/docs/dev-guide/edge-agent-uds-dtc-dev-guide.md)に示されている`DTC_QUERY`とおりです。

1. DTC シグナルを文字列タイプとしてモデル化するシグナルカタログを作成します。

   ```
   [
    {
       "branch": {
           "fullyQualifiedName": "Vehicle",
           "description": "Vehicle"
           }
         },
         {
       "branch": {
           "fullyQualifiedName": "Vehicle.ECU1",
           "description": "Vehicle.ECU1"
           }
         },
         {
       "sensor": {
           "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
           "description": "Vehicle.ECU1.DTC_INFO",
           "dataType": "STRING"
         }
      }
    ]
   ```

1. DTC シグナルを追加した車両モデルを作成してアクティブ化します。

1. DTC シグナルを追加したデコーダーマニフェストを作成してアクティブ化します。DTC シグナルは、`CUSTOM_DECODING_INTERFACE`ネットワークインターフェイスタイプを持つ`CUSTOM_DECODING_SIGNAL`シグナルデコーダータイプである必要があります。  
**Example シグナルデコーダー**  

   ```
   [
     {
       "fullyQualifiedName": "Vehicle.ECU1.DTC_INFO",
       "interfaceId": "UDS_DTC",
       "type": "CUSTOM_DECODING_SIGNAL",
       "customDecodingSignal": {
         "id": "Vehicle.ECU1.DTC_INFO"
       }
     }
    ]
   ```  
**Example ネットワークインターフェイス**  

   ```
   [
     {
       "interfaceId": "UDS_DTC",
       "type": "CUSTOM_DECODING_INTERFACE",
       "customDecodingInterface": {
         "name": "NamedSignalInterface"
       }
     }
   ]
   ```
**注記**  
コントローラーエリアネットワーク (CAN) シグナルは、文字列データ型をサポートしていません。

1. 車両をプロビジョニングして作成します。車両は、前のステップでアクティブ化された車両モデル (モデルマニフェスト) とデコーダーマニフェストを使用する必要があります。

1. キャンペーンを作成して承認します。DTC シグナル (オプションでテレメトリシグナルを使用) を定義してキャンペーンを作成し、車両にデプロイする必要があります。

1. 定義された送信先のデータにアクセスします。DTC データには`DTCCode`、キャンペーンで定義されたデータ送信先の raw 文字列`DTCExtendedDatastrings`として `DTCSnapshot`、、 が含まれます。