了解遥测数据 - AWS Ground Station

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

了解遥测数据

遥测数据以 Base64 编码的 JSON 记录的形式传输到你的 Kinesis Data Streams 流中。每条记录都包含在您的卫星接触期间收集的信息,包括有关接触和采样遥测测量结果的元数据。

数据格式概述

每条遥测记录都包含以下组成部分:

遥测类型和版本

标识遥测数据的特定类型及其架构版本。这使您可以适当地解析不同的遥测类型。有关架构版本控制的更多信息,请参阅架构版本控制和演进

范围 ID

遥测范围的唯一标识符。这使您可以将遥测数据与特定的联系人相关联。

元数据

有关遥测的上下文信息。

数据

特定于遥测类型的采样遥测测量值。

分区键

遥测记录将使用以下格式的分区键传送到您的 Kinesis Data Streams 流中:

SCOPE#scopeId#TELEMETRY_ID#telemetryId#TELEMETRY_VERSION#telemetryVersion

此分区键可确保将单个联系人的给定类型的所有遥测数据传输到您的 Kinesis Data Streams 流中的同一个分片,从而为该联系人的遥测流提供最大努力排序。

指向遥测

定向遥测提供有关卫星接触期间天线指向方向的信息。这种遥测类型始终在联系期间发送。

数据字段

样本时间戳

对遥测数据进行采样的时间,采用 ISO-8601 格式,采用 UTC 格式,精度为毫秒。

方位角

天线的实际方位角(以度为单位)。

仰角

天线的实际仰角(以度为单位)。

Commandedazimuth

控制的方位角(以度为单位)。这是天线试图达到的目标方位角。

命令升级

控制仰角(以度为单位)。这是天线试图达到的目标仰角。

注意

由于接触期间的物理限制或机械延迟,实际的天线位置可能与指令位置不同。

元数据字段

地面站

地面站的名称(例如,“俄亥俄州 1”)。

satelliteID

中的卫星资源的标识符 AWS Ground Station。

contactId

联系人的标识符。

例如 JSON

{ "telemetryTypeAndVersion": "POINTING#1.0.0", "telemetryType": "POINTING", "telemetryVersion": "1.0.0", "scopeId": "12345678-1234-1234-1234-123456789012", "metadata": { "groundStation": "Ohio 1", "satelliteId": "87654321-4321-4321-4321-210987654321", "contactId": "12345678-1234-1234-1234-123456789012" }, "data": { "sampleTimestamp": "2025-12-08T12:00:00.123Z", "azimuth": 180.5, "elevation": 45.2, "commandedAzimuth": 180.0, "commandedElevation": 45.0 } }

跟踪遥测

跟踪遥测提供有关天线跟踪状态和跟踪错误的信息。这种遥测类型是在您的跟踪配置中启用自动跟踪以及天线正在使用自动跟踪时发送的。

注意

如果将中的autotrack参数设置 TrackingConfig 为REMOVED,则不会提供任何跟踪遥测数据。有关跟踪配置的更多信息,请参阅跟踪配置

数据字段

样本时间戳

对遥测数据进行采样的时间,采用 ISO-8601 格式,采用 UTC 格式,精度为毫秒。

追踪状态

天线的当前跟踪状态。可能的值包括 TRACKINGACQUIRINGMASKED

trackingErrorAzimuth

方位轴的跟踪误差,以度为单位。

trackingErrorElevation

仰角轴上的跟踪误差,以度为单位。

注意

跟踪误差值表示对基于星历的节目轨道的调整,该曲目在自动跟踪期间 AWS Ground Station 适用,以最大限度地提高信号强度。

元数据字段

跟踪遥测包括与指向遥测相同的元数据字段:groundStationsatelliteId、和。contactId

例如 JSON

{ "telemetryTypeAndVersion": "TRACKING#1.0.0", "telemetryType": "TRACKING", "telemetryVersion": "1.0.0", "scopeId": "12345678-1234-1234-1234-123456789012", "metadata": { "groundStation": "Ohio 1", "satelliteId": "87654321-4321-4321-4321-210987654321", "contactId": "12345678-1234-1234-1234-123456789012" }, "data": { "sampleTimestamp": "2025-12-08T12:00:00.123Z", "trackingStatus": "TRACKING", "trackingErrorAzimuth": 0.2, "trackingErrorElevation": 0.1 } }

从 Kinesis Data Streams 流中读取数据

遥测数据将传送到您的 Kinesis Data Streams 流中,并且可以使用标准数据流消耗模式进行使用。从直播中读取数据时,请记住以下注意事项。

Base64 解码

Kinesis Data Streams 流中的数据采用 Base64 编码。在将数据解析为 JSON 之前,必须对其进行解码。有关更多信息,请参阅使用亚马逊 Kinesis Data Streams

使用 Kinesis 数据查看器

为了快速访问您的遥测数据,Kinesis Data Streams 流控制台提供了数据查看器功能。使用此功能时:

  • 数据流中的任何分片都可以进行遥测传输。

  • 默认起始位置从分片中的最新记录中读取。

  • 您可能需要调整选定的分片并使用 “在时间戳” 的起始位置来查看收到的记录。

使用 Kinesis 客户端库

Kinesis 客户端库 (KCL) 管理与使用 Kinesis Data Streams 流中的数据相关的许多复杂性,包括分片管理、检查点和负载平衡。我们建议将 KCL 用于生产遥测消耗应用程序。

有关更多信息,请参阅使用 Kinesis 客户端库开发使用者

最佳消费实践

  • 最大限度地减少延迟 ——使用增强的扇出功能从 Kinesis Data Streams 流中读取,与轮询相比,具有专用的吞吐量和更低的延迟。有关更多信息,请参阅开发增强型扇出使用器。

  • 专用流 ——使用专用 Kinesis Data Streams 流 AWS Ground Station 进行遥测集成。与其他应用程序共享流可能会导致写入吞吐量饱和和遥测传输失败。

  • 按需容量-以按需配置模式部署 Kinesis Data Streams 流,以允许根据吞吐量自动扩展分片。

  • 监控吞吐量-使用 CloudWatch 指标监控直播的限制。有关更多信息,请参阅监控 Amazon Kinesis 数据流 Amazon Kinesis Data Stream s。

架构版本控制和演进

对遥测架构进行了版本控制,以支持随着时间的推移而演变。每条记录中的telemetryVersion字段都表示架构版本。

处理架构变更

  • 将来可能会引入新的遥测类型。

  • 现有的遥测类型可能会收到带有重大更改的新版本。

  • 您的应用程序应容忍未知的遥测类型和版本。

  • 解析telemetryTypeAndVersiontelemetryType、和telemetryVersion字段以确定如何处理每条记录。

我们建议实施版本感知型负载序列化,该序列化可以优雅地处理多个架构版本,从而允许您的应用程序在引入新版本时继续运行。