建立 AWS IoT FleetWise 行銷活動 - AWS IoT FleetWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立 AWS IoT FleetWise 行銷活動

重要

某些 AWS IoT FleetWise 功能的存取目前已封鎖。如需詳細資訊,請參閱AWSAWS IoT FleetWise 中的區域和功能可用性

您可以使用 AWS IoT FleetWise 主控台或 API 來建立行銷活動以收集車輛資料。

重要

若要讓您的行銷活動運作,您必須具備下列項目:

  • Edge Agent 軟體正在您的車輛中執行。如需如何開發、安裝和使用 Edge Agent 軟體的詳細資訊,請執行下列動作:

    1. 開啟 AWS IoT FleetWise 主控台

    2. 在服務首頁的開始使用 AWS IoT FleetWise 區段中,選擇探索邊緣代理程式。

  • 您已設定 AWS IoT Core 來佈建 車輛。如需詳細資訊,請參閱Provision AWS IoT FleetWise 車輛

建立行銷活動 (主控台)

使用 AWS IoT FleetWise 主控台建立行銷活動,以選取、收集車輛資料,並將車輛資料傳輸至雲端。

建立行銷活動
  1. 開啟 AWS IoT FleetWise 主控台

  2. 在導覽窗格中,選擇行銷活動

  3. 行銷活動頁面上,選擇建立行銷活動,然後完成下列主題中的步驟。

重要

步驟 1:設定行銷活動

一般資訊中,執行下列動作:

  1. 輸入行銷活動的名稱。

  2. (選用) 輸入描述。

設定行銷活動的資料收集方案。資料收集方案提供 Edge Agent 軟體有關要收集哪些資料或何時收集資料的指令。在 AWS IoT FleetWise 主控台中,您可以透過下列方式設定資料收集方案:

  • 手動定義資料收集方案。

  • 上傳檔案以自動定義資料收集方案。

組態選項中,選擇下列其中一項:

  • 若要手動指定資料收集方案的類型並定義自訂方案的選項,請選擇定義資料收集方案

    手動指定資料收集方案的類型,並定義自訂方案的選項。

    1. 資料收集方案詳細資訊區段中,選擇您希望此行銷活動使用的資料收集方案類型。若要使用邏輯表達式來識別要收集的車輛資料,請選擇條件型。若要使用特定時段來決定收集車輛資料的頻率,請選擇以時間為基礎

    2. 定義行銷活動收集資料的持續時間。

      注意

      根據預設,核准的行銷活動會立即啟用,而且沒有設定的結束時間。若要避免額外費用,您必須指定時間範圍。

    3. 如果您指定條件式資料收集方案,則必須定義邏輯表達式來識別要收集的資料。 AWS IoT FleetWise 使用邏輯表達式來識別條件式方案要收集的資料。表達式必須將訊號的完整名稱指定為變數、比較運算子和比較值。

      例如,如果您指定$variable.`myVehicle.InVehicleTemperature` > 50.0表達式, AWS IoT FleetWise 會收集大於 50.0 的溫度值。如需如何撰寫表達式的說明,請參閱 AWS IoT FleetWise 行銷活動的邏輯表達式

      輸入用來辨識要收集哪些資料的邏輯表達式。

    4. (選用) 指定條件式表達式的語言版本。預設值為 1。

    5. (選用) 指定最短觸發間隔,這是兩個資料收集事件之間的最短持續時間。例如,如果訊號經常變更,您可能想要以較慢的速度收集資料。

    6. 指定 Edge Agent 軟體收集資料的觸發模式條件。根據預設,Edge Agent for AWS IoT FleetWise 軟體一律會在符合條件時收集資料。或者,它只能在第一次符合條件時,在第一次觸發時收集資料。

    7. 如果您指定以時間為基礎的資料收集方案,則必須指定從 10,000 到 60,000 毫秒的時段,以毫秒為單位。Edge Agent 軟體會使用 時段來決定收集資料的頻率。

    8. (選用) 編輯方案的進階方案選項

      1. 若要透過壓縮資料來節省無線頻寬並減少網路流量,請選擇 Snappy

      2. (選用) 若要定義資料收集事件後繼續收集資料的時間,以毫秒為單位,您可以指定觸發後收集持續時間

      3. (選用) 若要指出行銷活動的優先順序,請指定行銷活動優先順序。優先順序數字較小的行銷活動會先部署,並視為具有較高的優先順序。

      4. 當車輛未連線至雲端時,Edge Agent 軟體可以在本機暫時存放資料。重新建立連線後,本機儲存的資料會自動傳輸至雲端。指定您是否希望 Edge Agent 在連線中斷期間將資料儲存在本機

      5. (選用) 若要提供訊號的其他資訊,請將最多五個屬性新增為額外資料維度

  • 若要上傳檔案以定義資料收集方案,請選取從本機裝置上傳 .json 檔案。 AWS IoT FleetWise 會自動定義您可以在 檔案中定義的選項。您可以檢閱和更新選取的選項。

    上傳 .json 檔案,其中包含資料收集方案的詳細資訊。

    1. 若要匯入資料收集方案的相關資訊,請選擇選擇檔案。如需所需檔案格式的詳細資訊,請參閱 CreateCampaign API 文件。

      注意

      AWS IoT FleetWise 目前支援 .json 檔案格式副檔名。

    2. AWS IoT FleetWise 會根據檔案中的資訊自動定義資料收集方案。檢閱 AWS IoT FleetWise 為您選取的選項。您可以視需要更新選項。

步驟 2:指定儲存和上傳條件

若要選擇 Edge Agent 軟體是否在車輛未連線至雲端時暫時將資料存放在本機,請指定多工緩衝處理模式。

  • 資料多工緩衝處理模式中,選擇下列其中一項:

    • 未儲存 – Edge Agent 軟體會收集資料,但不會在車輛離線時暫時將資料存放在本機。Edge Agent 軟體會在車輛重新連線時將資料傳輸至雲端。

    • 存放到磁碟 – Edge Agent 軟體會在車輛離線時收集並暫時將資料存放在本機。收集的資料會暫時存放在 Edge Agent 組態檔案「持久性」區段所定義的位置。當車輛重新連線時,Edge Agent 會將資料傳輸到雲端。

    • 使用分割區存放到磁碟 – 車輛一律會暫時將資料存放在您指定資料分割區的 Edge 上。您可以選擇何時將儲存的資料轉送至雲端。

      1. (選用) 輸入分割區 ID 以指定特定資料集。

      2. 輸入資料夾名稱做為資料存放的位置。儲存位置的絕對路徑為 {persistency_path} / {vehicle_name} / {campaign_name} / {storage_location}

      3. 輸入存放在分割區中資料的儲存大小上限。當分割區達到大小上限時,較新的資料會覆寫較舊的資料。

      4. 輸入此分割區中的資料將保留在磁碟上的最短時間。

      5. (選用) 輸入分割區的上傳條件。

指定訊號

您可以在行銷活動期間指定要從 收集資料的訊號。

指定要從 收集資料的訊號
  1. 選取訊號名稱

  2. (選用) 針對最大範例計數,輸入 Edge Agent 軟體在行銷活動期間收集和傳輸到雲端的資料範例數量上限。

  3. (選用) 針對最短取樣間隔,輸入兩個資料範例收集事件之間的最短持續時間,以毫秒為單位。如果訊號經常變更,您可以使用此參數以較慢的速度收集資料。

  4. 若要新增另一個訊號,請選擇新增更多訊號。您最多可以新增 999 個訊號。

  5. 選擇 Next (下一步)

步驟 3:設定資料目的地

注意

如果行銷活動包含視覺系統資料訊號,您只能將車輛資料存放在 Amazon S3 中。您無法將其存放在 Timestream 中,或將其傳送至 MQTT 主題。

視覺系統資料處於預覽版本,可能會有所變更。

Amazon Timestream 不適用於亞太區域 (孟買) 區域。

選擇您要傳送或存放行銷活動所收集資料的目的地。您可以將車輛資料傳送至 MQTT 主題,或存放在 Amazon S3 或 Amazon Timestream 中。

目的地設定中,執行下列動作:

  • 從下拉式清單中選擇 Amazon S3、Amazon Timestream 或 MQTT 主題。

重要

只有在 AWS IoT FleetWise 具有寫入 S3 儲存貯體的許可時,您才能將資料傳輸至 S3。如需授予存取權的詳細資訊,請參閱使用 AWS IoT FleetWise 控制存取權

若要將車輛資料存放在 S3 儲存貯體中,請選擇 Amazon S3。S3 是一種物件儲存服務,可將資料作為物件存放在儲存貯體中。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的建立、設定和使用 Amazon S3 儲存貯體。

S3 可最佳化資料儲存的成本,並提供其他機制來使用車輛資料,例如資料湖、集中式資料儲存、資料處理管道和分析。您可以使用 S3 來存放資料以進行批次處理和分析。例如,您可以為機器學習 (ML) 模型建立硬性中斷事件的報告。傳入的車輛資料會在交付前緩衝 10 分鐘。

S3 目的地設定中,執行下列動作:

  1. 針對 S3 儲存貯體,選擇具有 許可的 AWS IoT FleetWise 儲存貯體。

  2. (選用) 輸入自訂字首,可用來整理存放在 S3 儲存貯體中的資料。

  3. 選擇輸出格式,這是儲存為 S3 儲存貯體中的格式檔案。

  4. 選擇是否要將存放在 S3 儲存貯體中的資料壓縮為 .gzip 檔案。我們建議您壓縮資料,因為它可將儲存成本降至最低。

  5. 您在 S3 目的地設定中選擇的選項會變更範例 S3 物件 URI。這是哪些檔案在 S3 中儲存為 的範例。

重要

只有在 AWS IoT FleetWise 具有將資料寫入 Timestream 的許可時,您才能將資料傳輸到資料表。如需授予存取權的詳細資訊,請參閱使用 AWS IoT FleetWise 控制存取權

Amazon Timestream 不適用於亞太區域 (孟買) 區域。

若要將車輛資料存放在 Timestream 資料表中,請選擇 Amazon Timestream。您可以使用 Timestream 查詢車輛資料,以便識別趨勢和模式。例如,您可以使用 Timestream 來建立車輛油位的警示。傳入的車輛資料會以近乎即時的方式傳輸至 Timestream。如需詳細資訊,請參閱《Amazon Timestream 開發人員指南》中的什麼是 Amazon Timestream?

時間串流資料表設定中,執行下列動作:

  1. 對於 Timestream 資料庫名稱,從下拉式清單中選擇 Timestream 資料庫的名稱。

  2. 對於 Timestream 資料表名稱,請從下拉式清單中選擇 Timestream 資料表的名稱。

Timestream 的服務存取權中,執行下列動作:

  • 從下拉式清單中選擇 IAM 角色。

重要

如果 AWS IoT FleetWise 具有主題的許可,您只能將資料路由到 MQTT AWS IoT 主題。如需授予存取權的詳細資訊,請參閱使用 AWS IoT FleetWise 控制存取權

若要將車輛資料傳送至 MQTT 主題,請選擇 MQTT 主題

MQTT 訊息傳送的車輛資料幾乎會即時交付,並允許您使用規則來採取行動,或將資料路由到其他目的地。如需使用 MQTT 的詳細資訊,請參閱《 AWS IoT Core 開發人員指南》中的 裝置通訊協定規則 AWS IoT

  1. MQTT 主題下,輸入主題名稱

  2. MQTT 主題的服務存取權下,選擇是否要讓 AWS IoT FleetWise Create 為您使用新的服務角色。如果您想要使用現有的服務角色,請在選取角色下的下拉式清單中選取角色

  • 選擇 Next (下一步)

步驟 4:新增 車輛

若要選擇要部署行銷活動的車輛,請在車輛清單中選取它們。透過搜尋您在建立車輛時新增的屬性及其值,或依車輛名稱來篩選車輛。

篩選車輛中,執行下列動作:

  1. 在搜尋方塊中,尋找屬性或車輛名稱,然後從清單中選擇。

    注意

    每個屬性只能使用一次。

  2. 輸入您要部署行銷活動之屬性或車輛名稱的值。例如,如果屬性的完整名稱為 fuelType,請輸入 gasoline做為其值。

  3. 若要搜尋其他車輛屬性,請重複上述步驟。您可以搜尋最多五個車輛屬性和無限數量的車輛名稱。

  4. 符合您搜尋的車輛會列在 車輛名稱下。選擇您要部署行銷活動的車輛。

    注意

    搜尋結果中最多可顯示 100 部車輛。選擇全選,將所有車輛新增至行銷活動。

  5. 選擇 Next (下一步)

步驟 4:檢閱和建立

驗證行銷活動的組態,然後選擇建立行銷活動

注意

建立行銷活動後,您或您的團隊必須將行銷活動部署到 車輛。

步驟 6:部署行銷活動

建立行銷活動後,您或您的團隊必須將行銷活動部署到 車輛。

部署行銷活動
  1. 行銷活動摘要頁面上,選擇部署

  2. 檢閱並確認您想要開始部署,並開始從連線至行銷活動的車輛收集資料。

  3. 選擇部署

如果您想要暫停從連線至行銷活動的車輛收集資料,請在行銷活動摘要頁面上選擇暫停。若要繼續從連線至行銷活動的車輛收集資料,請選擇繼續

建立行銷活動 (AWS CLI)

您可以使用 CreateCampaign API 操作來建立行銷活動。下列為使用 AWS CLI的範例。

當您建立行銷活動時,從車輛收集的資料可以傳送到 MQTT 主題,或存放在 Amazon S3 (S3) 或 Amazon Timestream 中。選擇 Timestream 以取得快速、可擴展和無伺服器的時間序列資料庫,例如儲存需要近乎即時處理的資料。為具有業界領先可擴展性、資料可用性、安全性和效能的物件儲存選擇 S3。選擇 MQTT 以近乎即時的方式交付資料,並使用 的規則 AWS IoT來執行您定義或將資料路由至其他目的地的動作。

重要

只有在 AWS IoT FleetWise 具有代表您傳送 MQTT 訊息的許可,或將資料寫入 SAmazon S3 或 Timestream 時,您才能將車輛資料傳輸至 MQTT 主題、Amazon S3 或 Amazon Timestream。 S3 如需授予存取權的詳細資訊,請參閱使用 AWS IoT FleetWise 控制存取權

Amazon Timestream 不適用於亞太區域 (孟買) 區域。

建立行銷活動

重要

若要建立行銷活動,請執行下列命令。

file-name 取代為包含行銷活動組態的 .json 檔案名稱。

aws iotfleetwise create-campaign --cli-input-json file://file-name.json
  • campaign-name 取代為您建立的行銷活動名稱。

  • signal-catalog-arn 取代為訊號目錄的 Amazon Resource Name (ARN)。

  • target-arn 取代為您建立的機群或車輛的 ARN。

  • bucket-arn 取代為 S3 儲存貯體的 ARN。

{ "name": "campaign-name", "targetArn": "target-arn", "signalCatalogArn": "signal-catalog-arn", "collectionScheme": { "conditionBasedCollectionScheme": { "conditionLanguageVersion": 1, "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000", "minimumTriggerIntervalMs": 1000, "triggerMode": "ALWAYS" } }, "compression": "SNAPPY", "diagnosticsMode": "OFF", "postTriggerCollectionDuration": 1000, "priority": 0, "signalsToCollect": [ { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoEngineTorque" }, { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoBrakePedalPressure" } ], "spoolingMode": "TO_DISK", "dataDestinationConfigs": [ { "s3Config": { "bucketArn": "bucket-arn", "dataFormat": "PARQUET", "prefix": "campaign-name", "storageCompressionFormat": "GZIP" } } ], "dataPartitions": [ { ... } ] }
注意

Amazon Timestream 不適用於亞太區域 (孟買) 區域。

  • campaign-name 取代為您建立的行銷活動名稱。

  • signal-catalog-arn 取代為訊號目錄的 ARN。

  • target-arn 取代為您建立的機群或車輛的 ARN。

  • role-arn 取代為任務執行角色的 ARN,該角色授予 AWS IoT FleetWise 將資料交付至 Timestream 資料表的許可。

  • table-arn 取代為 Timestream 資料表的 ARN。

{ "name": "campaign-name", "targetArn": "target-arn", "signalCatalogArn": "signal-catalog-arn", "collectionScheme": { "conditionBasedCollectionScheme": { "conditionLanguageVersion": 1, "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000", "minimumTriggerIntervalMs": 1000, "triggerMode": "ALWAYS" } }, "compression": "SNAPPY", "diagnosticsMode": "OFF", "postTriggerCollectionDuration": 1000, "priority": 0, "signalsToCollect": [ { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoEngineTorque" }, { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoBrakePedalPressure" } ], "spoolingMode": "TO_DISK", "dataDestinationConfigs": [ { "timestreamConfig": { "executionRoleArn": "role-arn", "timestreamTableArn": "table-arn" } } ], "dataPartitions": [ { ... } ] }
  • campaign-name 取代為您建立的行銷活動名稱。

  • signal-catalog-arn 取代為訊號目錄的 Amazon Resource Name (ARN)。

  • target-arn 取代為您建立的機群或車輛的 ARN。

  • topic-arn 取代為您指定為包含車輛資料之訊息目的地的 MQTT 主題 ARN。

  • role-arn 取代為任務執行角色的 ARN,該角色授予 AWS IoT FleetWise 許可,以傳送、接收您指定的 MQTT 主題的訊息並對其採取動作。

{ "name": "campaign-name", "targetArn": "target-arn", "signalCatalogArn": "signal-catalog-arn", "collectionScheme": { "conditionBasedCollectionScheme": { "conditionLanguageVersion": 1, "expression": "$variable.`Vehicle.DemoBrakePedalPressure` > 7000", "minimumTriggerIntervalMs": 1000, "triggerMode": "ALWAYS" } }, "compression": "SNAPPY", "diagnosticsMode": "OFF", "postTriggerCollectionDuration": 1000, "priority": 0, "signalsToCollect": [ { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoEngineTorque" }, { "maxSampleCount": 100, "minimumSamplingIntervalMs": 0, "name": "Vehicle.DemoBrakePedalPressure" } ], "spoolingMode": "TO_DISK", "dataDestinationConfigs": [ { "mqttTopicConfig": { "mqttTopicArn": "topic-arn", "executionRoleArn": "role-arn" } } ] }

如果您使用客戶受管 AWS KMS 金鑰啟用加密,請包含下列政策陳述式,讓您的角色可以叫用 CreateCampaign API 操作。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:GenerateDataKey*", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:KMS_KEY_REGION:KMS_KEY_ACCOUNT_ID:key/KMS_KEY_ID" ] }, ] }