创建物 AWS 联网 FleetWise 活动 - AWS 物联网 FleetWise

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建物 AWS 联网 FleetWise 活动

重要

目前对某些 AWS 物联网 FleetWise 功能的访问受到限制。有关更多信息,请参阅 AWSAWS 物联网中的区域和功能可用性 FleetWise

您可以使用 AWS 物联网 FleetWise 控制台或API创建活动来收集车辆数据。

重要

要使活动发挥作用,必须满足以下条件:

  • 您的车辆中正在运行边缘代理软件。有关如何开发、安装和使用边缘代理软件的更多信息,请执行以下操作:

    1. 打开AWS 物联网 FleetWise 控制台

    2. 在服务主页上的 “ AWS 物联网入门” FleetWise 部分,选择 “探索 Edge Agent”。

  • 您已设置 AWS IoT Core 好配置您的车辆。有关更多信息,请参阅 配置 AWS 物联网 FleetWise 车辆

创建活动(控制台)

使用 AWS 物联网 FleetWise 控制台创建活动以选择、收集车辆数据并将其传输到云端。

创建市场活动
  1. 打开AWS 物联网 FleetWise 控制台

  2. 在导航窗格中,选择活动

  3. 活动页面上,选择创建活动系列,然后完成以下主题中的步骤。

重要

步骤 1:配置活动

一般信息部分,执行以下操作:

  1. 输入活动的名称。

  2. (可选)输入描述。

配置活动的数据收集方案。数据收集方案向边缘代理软件提供有关要收集哪些数据,以及何时收集数据的指令。在 AWS 物联网 FleetWise 控制台中,您可以通过以下方式配置数据收集方案:

  • 手动定义数据收集方案。

  • 上传文件以自动定义数据收集方案。

配置选项中,选择以下选项之一:

  • 要手动指定数据收集方案的类型并定义用于自定义该方案的选项,请选择定义数据收集方案

    手动指定数据收集方案的类型,并定义用于自定义该方案的选项。

    1. 数据收集方案详细信息部分,选择您希望此活动使用的数据收集方案的类型。要使用逻辑表达式识别要收集的车辆数据,请选择基于条件。要使用特定的时间段来决定收集车辆数据的频率,请选择基于时间

    2. 定义活动收集数据的持续时间。

      注意

      默认情况下,已批准的活动会立即激活,并且没有设定的结束时间。为避免额外费用,您必须指定时间范围。

    3. 如果您指定了基于条件的数据收集方案,则必须定义逻辑表达式来识别要收集的数据。 AWS 物联网 FleetWise 使用逻辑表达式来识别要为基于条件的方案收集哪些数据。该表达式必须将信号的完全限定名称指定为变量、比较运算符和比较值。

      例如,如果您指定$variable.`myVehicle.InVehicleTemperature` > 50.0表达式, AWS IoT FleetWise 会收集大于 50.0 的温度值。有关如何编写表达式的说明,请参阅AWS 物联网 FleetWise活动的逻辑表达式

      输入用于识别要收集哪些数据的逻辑表达式。

    4. (可选)指定条件表达式的语言版本。默认值是 1。

    5. (可选)指定最小触发间隔,即两个数据收集事件之间的最小持续时间。例如,如果信号经常变动,则您可能要以较低速率收集数据。

    6. 指定边缘代理软件收集数据的触发模式条件。默认情况下,适用于 AWS 物联网的 Edge Agent FleetWise 软件始终在满足条件时收集数据。或者,它只在第一次满足条件时收集数据,即首次触发时

    7. 如果您指定了基于时间的数据收集方案,则必须指定一个介于 10000 - 60000 毫秒之间的时间段。边缘代理软件使用该时间段来决定收集数据的频率。

    8. (可选)编辑方案的高级方案选项

      1. 为了节省无线带宽并减少网络流量,您可以指定 SNAPPY 来压缩数据。

      2. (可选)要定义数据收集事件发生后继续收集数据的时间(以毫秒为单位),您可以指定触发后收集持续时间

      3. (可选)要指明活动的优先级,请指定活动优先级。优先级数字较小的活动将首先部署,并被认为具有更高的优先级。

      4. 在车辆未连接到云端时,边缘代理软件会临时将数据存储在本地。重新建立连接后,存储在本地的数据将自动传输到云端。指定是否希望边缘代理软件在连接中断期间在本地存储数据

      5. (可选)要为信号提供更多信息,请将最多五个属性添加为额外数据维度

  • 要上传文件以定义数据收集方案,请选择从本地设备上传.json 文件。 AWS IoT FleetWise 会自动定义您可以在文件中定义哪些选项。您可以查看和更新所选的选项。

    上传包含数据收集方案详细信息的 .json 文件。

    1. 要导入有关数据收集方案的信息,请选择选择文件。有关所需文件格式的更多信息,请参阅CreateCampaignAPI文档。

      注意

      AWS 物联网 FleetWise 目前支持.json 文件格式扩展名。

    2. AWS IoT FleetWise 会根据您的文件中的信息自动定义数据收集方案。查看 AWS IoT 为您 FleetWise 选择的选项。如果需要,您可以更新选项。

第 2 步:指定存储和上传条件

要选择当车辆未连接到云端时,Edge Agent 软件是否将数据临时存储在本地,请指定后台处理模式。

  • 数据后台处理模式下,选择以下选项之一:

    • 未存储 — 当车辆离线时,Edge Agent 软件会收集数据,但不会在本地临时存储数据。当车辆重新连接时,Edge Agent 软件会将数据传输到云端。

    • 存储到磁盘 — 当车辆离线时,Edge Agent 软件会在本地收集和临时存储数据。收集的数据临时存储在 Edge Agent 配置文件 “持久性” 部分定义的位置。当车辆重新连接时,Edge Agent 会将数据传输到云端。

    • 使用分区存储到磁盘 — 车辆始终将边缘上的数据临时存储在您指定的数据分区中。您可以选择何时将存储的数据转发到云端。

      1. (可选)输入分区 ID 以指定一组特定的数据。

      2. 输入文件夹名称作为存储数据的位置。存储位置的绝对路径是{persistency_path} / {vehicle_name} / {campaign_name} / {storage_location}

      3. 输入存储在分区中的数据的最大存储大小。当分区达到最大大小时,较新的数据会覆盖较旧的数据。

      4. 输入此分区中的数据在磁盘上保存的最短时间。

      5. (可选)输入分区的上传条件。

指定信号

您可以指定在活动期间从中收集数据的信号。

指定要从中收集数据的信号
  1. 选择信号名称

  2. (可选)在 “最大样本数” 中,输入 Edge Agent 软件在活动期间收集并传输到云端的最大数据样本数。

  3. (可选)在最小采样间隔中,输入两个数据样本收集事件之间的最小持续时间(以毫秒为单位)。如果信号经常变动,则您可能要使用此参数以较低速率收集数据。

  4. 要添加其他信号,请选择添加更多信号。您最多可以添加 999 个信号。

  5. 选择下一步

步骤 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 S3 存储

S3 优化了数据存储成本,并提供了其他车辆数据使用机制,例如数据湖、集中式数据存储、数据处理管道和分析。您可以使用 S3 存储数据以进行批处理和分析。例如,您可以为机器学习 (ML) 模型创建硬刹车事件报告。传入的车辆数据在交付前会缓冲 10 分钟。

S3 目标设置中,执行以下操作:

  1. 对于 S3 存储桶,请选择 AWS IoT FleetWise 有权访问的存储桶。

  2. (可选)输入可用于整理 S3 存储桶中存储的数据的自定义前缀。

  3. 选择输出格式,即保存在 S3 存储桶中的格式文件。

  4. 选择是否要将存储在 S3 存储桶中的数据压缩为 .gzip 文件。建议压缩数据,因为这样可以最大限度降低存储成本。

  5. 您在 S3 目标设置中选择的选项会更改示例 S3 对象URI。这是将哪些文件保存在 S3 中的示例。

重要

只有当 AWS 物联网 FleetWise 有权将数据写入 Timestream 时,您才能将数据传输到表。有关授予访问权限的更多信息,请参阅使用 AWS IoT 控制访问权限 FleetWise

Amazon Timestream 不在亚太地区(孟买)区域推出。

要将车辆数据存储在 Timestream 表中,请选择 Amazon Timestream。您可以使用 Timestream 查询车辆数据,以便识别趋势和模式。例如,您可以使用 Timestream 来创建车辆燃油水平警报。传入的车辆数据将近乎实时地传输到 Timestream。有关更多信息,请参阅什么是亚马逊 Time stream? 在《亚马逊 Timestream 开发者指南》中。

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 创建和使用新的服务角色。如果要使用现有的服务角色,请在 “选择角色” 下的下拉列表中选择该角色

  • 选择下一步

第 4 步:添加车辆

要选择要将活动部署到哪些车辆,请在车辆列表中选择它们。通过搜索您在创建车辆时添加的属性及其值或按车辆名称筛选车辆。

筛选车辆中,执行以下操作:

  1. 在搜索框中,查找属性或车辆名称,然后从列表中进行选择。

    注意

    每个属性只能使用一次。

  2. 输入要部署活动的属性值或车辆名称。例如,如果属性的完全限定名称为 fuelType,则输入 gasoline 作为其值。

  3. 要搜索其他车辆属性,请重复上述步骤。您最多可以搜索五个车辆属性和数量不限的车辆名称。

  4. 符合您搜索条件的车辆列在车辆名称下。选择您想要将活动部署到的车辆。

    注意

    搜索结果中最多显示 100 辆车。选择全选,将所有车辆添加到活动中。

  5. 选择下一步

第 5 步:审核并创建

验证活动的配置,然后选择创建活动

注意

创建活动后,您或您的团队必须将活动部署到车辆。

第 6 步:部署战役

创建活动后,您或您的团队必须将活动部署到车辆。

部署活动
  1. 活动摘要页面上,选择部署

  2. 查看并确认您要开始部署并从与活动关联的车辆收集数据。

  3. 选择部署

如果您想暂停从与活动关联的车辆收集数据,请在活动摘要页面上选择暂停。要继续从与活动关联的车辆收集数据,请选择继续

创建活动 (AWS CLI)

您可以使用该CreateCampaignAPI操作来创建活动。下面的示例使用了 AWS CLI。

创建活动时,从车辆收集的数据可以发送到某个MQTT主题或存储在 Amazon S3 (S3) 或 Amazon Timestream 中。选择 Timestream 可获得快速、可扩展且无需服务器的时间序列数据库,例如存储需要近乎实时处理的数据。选择 S3 作为具有业界领先的可扩展性、数据可用性、安全性和性能的对象存储。选择近乎实时MQTT地交付数据,并使用规则 AWS IoT来执行您定义的操作或将数据传送到其他目的地。

重要

只有当物 AWS 联 FleetWise 网有权代表您发送MQTT消息或将数据写入 S3 或 Timestream 时,您才能将车辆数据传输到MQTT主题、Amazon S3 或 Amazon Timestream。有关授予访问权限的更多信息,请参阅使用 AWS IoT 控制访问权限 FleetWise

Amazon Timestream 不在亚太地区(孟买)区域推出。

创建活动

重要

要创建活动,请运行以下命令。

Replace(替换) file-name 使用包含活动配置的.json 文件的名称。

aws iotfleetwise create-campaign --cli-input-json file://file-name.json
  • Replace(替换) campaign-name 使用您正在创建的广告系列的名称。

  • Replace(替换) signal-catalog-arn 使用信号目录的 Amazon 资源名称 (ARN)。

  • Replace(替换) target-arn 使用您创建ARN的车队或车辆。

  • Replace(替换) bucket-arn 使用 S ARN 3 存储桶的。

{ "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 不在亚太地区(孟买)区域推出。

  • Replace(替换) campaign-name 使用您正在创建的广告系列的名称。

  • Replace(替换) signal-catalog-arn 与信号目录ARN中的一起。

  • Replace(替换) target-arn 使用您创建ARN的车队或车辆。

  • Replace(替换) role-arn 以及授予 AWS 物联网向 Timestream 表传送数据的 FleetWise 权限的任务执行角色。ARN

  • Replace(替换) 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": [ { ... } ] }
  • Replace(替换) campaign-name 使用您正在创建的广告系列的名称。

  • Replace(替换) signal-catalog-arn 使用信号目录的 Amazon 资源名称 (ARN)。

  • Replace(替换) target-arn 使用您创建ARN的车队或车辆。

  • Replace(替换) topic-arn 使用您指定的MQTT主题作为包含车辆数据的消息的目的地。ARN

  • Replace(替换) role-arn 与任务执行角色相同,该角色授予 AWS IoT 针对您指定MQTT主题发送、接收消息和对消息采取操作的 FleetWise 权限。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": [ { "mqttTopicConfig": { "mqttTopicArn": "topic-arn", "executionRoleArn": "role-arn" } } ] }

如果您启用了使用客户托管 AWS KMS 密钥的加密,请包括以下政策声明,以便您的角色可以调用该CreateCampaignAPI操作。

{ "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" ] }, ] }