

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

# 如何 Amazon IoT 运作
<a name="aws-iot-how-it-works"></a>

 Amazon IoT 提供云服务和设备支持，可用于实施物联网解决方案。 Amazon 提供了许多云服务来支持基于 IoT 的应用程序。因此，为了帮助您了解从哪里开始，本部分提供了基本概念图表和定义，向您介绍物联网世界。

## IoT 世界
<a name="iot-universe"></a>

一般来说，物联网（IoT）由下图所示的关键组成部分组成。

![IoT 世界](http://docs.amazonaws.cn/iot/latest/developerguide/images/iot-universe.png)


### 应用程序
<a name="iot-universe-apps"></a>

 应用程序让最终用户可以访问物联网设备以及与这些设备相连的云服务所提供的特征。

### 云服务
<a name="iot-universe-cloud"></a>

云服务是连接到互联网的分布式大规模数据存储和处理服务。例子包括：
+ IoT 连接和管理服务 

  *Amazon IoT 是 IoT 连接和管理服务的一个示例*。
+ 计算服务，例如 Amazon 弹性计算云和 Amazon Lambda
+ 数据库服务，例如 Amazon DynamoDB

### 通信
<a name="iot-universe-comms"></a>

 设备通过使用各种技术和协议与云服务进行通信。例子包括：
+ Wi-Fi/宽带互联网
+ 宽带蜂窝数据
+ 窄带蜂窝数据
+ 远程广域网 (LoRaWAN)
+ 专有的射频通信

### Devices
<a name="iot-universe-devices"></a>

设备是管理接口和通信的一种硬件。设备通常位于其监控和控制的真实接口附近。设备可以包括计算和存储资源，例如微控制器、CPU、内存。例子包括：
+ Raspberry Pi
+ Arduino
+ 语音接口助手
+ LoRa广域网和设备
+ Amazon Sidewalk 设备
+ 自定义物联网设备

### 接口
<a name="iot-universe-interfaces"></a>

 接口是将设备连接到物理世界的组件。
+ 用户界面

  允许设备和用户相互通信的组件。
  + 输入接口

    使用户能够与设备通信

    示例：键盘、按钮
  + 输出接口

    使设备能够与用户通信

    示例：字母数字显示、图形显示、指示灯、闹铃
+ 传感器

  以设备理解的方式测量或感知外部世界中的某些内容的输入组件。例子包括：
  + 温度传感器（将温度转换为模拟或数字信号）
  + 湿度传感器（将相对湿度转换为模拟数字信号）
  + 模拟到数字转换器（将模拟电压转换为数值）
  + 超声波距离测量装置（将距离转换为数值）
  + 光学传感器（将光度转换为数值）
  + 相机（将图像数据转换为数字数据）
+ 执行器

  设备可用于控制外部世界中的某些内容的输出组件。例子包括：
  + 步进电机（将电信号转换为移动）
  + 继电器（控制高电压和电流）

## Amazon IoT 服务概述
<a name="aws-iot-components"></a>

在物联网领域， Amazon IoT 提供支持与世界交互的设备以及它们之间传输的数据的服务 Amazon IoT。 Amazon IoT 由本插图中显示的支持您的 IoT 解决方案的服务组成。

![Amazon IoT 建筑](http://docs.amazonaws.cn/iot/latest/developerguide/images/architecture-diagram.png)


### Amazon IoT 设备软件
<a name="aws-iot-components-device"></a>

Amazon IoT 提供此软件来支持您的物联网设备。

**Amazon IoT 设备 SDKs**  
[Amazon IoT 设备和移动](iot-sdks.md)设备 SDKs可帮助您高效地将设备连接到 Amazon IoT. Amazon IoT 设备和移动设备 SDKs 包括开源库、带有示例的开发者指南和移植指南，因此您可以在自己选择的硬件平台上构建创新的物联网产品或解决方案。

**Amazon IoT Device Tester**  
[Amazon IoT Device Tester](https://docs.amazonaws.cn//freertos/latest/userguide/device-tester-for-freertos-ug.html)适用于 FreeRTOS Amazon IoT Greengrass ，是一款用于微控制器的测试自动化工具。 Amazon IoT Device Tester 测试您的设备以确定它是否会运行 FreeRTOS Amazon IoT Greengrass 或与服务互操作。 Amazon IoT 

**Amazon IoT Greengrass**  
 [Amazon IoT Greengrass](https://docs.amazonaws.cn/greengrass/)扩展 Amazon IoT 到边缘设备，因此它们可以根据自己生成的数据在本地采取行动，根据机器学习模型进行预测，以及筛选和聚合设备数据。 Amazon IoT Greengrass 使您的设备能够在离数据生成地点更近的地方收集和分析数据，对本地事件做出自主反应，并与本地网络上的其他设备进行安全通信。您可以使用预先构建的软件模块（称为组件） Amazon IoT Greengrass 来构建边缘应用程序，这些模块可以将您的边缘设备连接到 Amazon 服务或第三方服务。

**FreeRTOS**  
[FreeRTOS](https://docs.amazonaws.cn//freertos/) 是一款面向微控制器的开源实时操作系统，可让您在物联网解决方案中包含小型低功耗边缘设备。FreeRTOS 包括一个内核和越来越多的、支持许多应用程序的软件库。FreeRTOS 系统可以安全地将小型低功耗设备连接到 [Amazon IoT](https://docs.amazonaws.cn//iot/)，并支持运行 [Amazon IoT Greengrass](https://docs.amazonaws.cn//greengrass/) 的更强大的边缘设备。

### Amazon IoT 控制服务
<a name="aws-iot-components-control"></a>

连接到以下 Amazon IoT 服务以管理您的 IoT 解决方案中的设备。

**Amazon IoT Core**  
[Amazon IoT Core](https://docs.amazonaws.cn//iot/)是一项托管云服务，使联网设备能够安全地与云应用程序和其他设备进行交互。 Amazon IoT Core 可以支持许多设备和消息，它可以处理这些消息并将其路由到 Amazon IoT 端点和其他设备。借 Amazon IoT Core助，您的应用程序可以与您的所有设备进行交互，即使这些设备未连接也是如此。

**Amazon IoT Core 设备顾问**  
[Amazon IoT Core Device Advisor](https://docs.amazonaws.cn//iot/latest/developerguide/device-advisor.html) 是一种基于云的完全托管式测试功能，用于在设备软件开发过程中验证物联网设备。Device Advisor 提供预先构建的测试，在将设备部署到生产环境之前 Amazon IoT Core，您可以使用这些测试来验证物联网设备的可靠性和安全连接。

**Amazon IoT 设备防御者**  
[Amazon IoT Device Defender](https://docs.amazonaws.cn//iot-device-defender/) 可帮助您保护您的物联网设备群。 Amazon IoT Device Defender 会持续审核您的物联网配置，以确保它们不会偏离安全最佳实践。 Amazon IoT Device Defender 检测到您的物联网配置中存在任何可能造成安全风险的漏洞（例如在多个设备之间共享身份证书，或者正在尝试连接身份证书已吊销的设备正在尝试连接）时，它会发送警报。[Amazon IoT Core](https://www.amazonaws.cn/iot-core/)

**Amazon IoT 设备管理**  
[Amazon IoT 设备管理](https://docs.amazonaws.cn//iot-device-management/)服务可帮助您跟踪、监控和管理构成设备群的大量联网设备。 Amazon IoT 设备管理服务可帮助您确保物联网设备在部署后能够正常安全地运行。它们提供安全隧道来访问您的设备、监控设备的运行状况、检测和远程排除问题，还提供管理设备软件和固件更新的服务。

### Amazon IoT 数据服务
<a name="aws-iot-components-data"></a>

使用以下 Amazon IoT 服务分析来自物联网解决方案中设备的数据，并采取适当的措施。

**Amazon IoT 活动**  
[Amazon IoT 事件](https://docs.amazonaws.cn//iotevents/)可检测并响应来自物联网传感器和应用程序的事件。事件是指识别比预期更复杂的情况的数据模式，例如使用运动信号激活灯光的运动探测器和安全摄像头。 Amazon IoT Events 持续监控来自多个物联网传感器和应用程序的数据，并与其他服务（例如物联网 Amazon IoT Core SiteWise、DynamoDB 等）集成，以实现早期检测和独特见解。

**Amazon IoT SiteWise**  
[Amazon IoT SiteWise](https://docs.amazonaws.cn//iot-sitewise/)通过提供 APIs 在设施网关上运行的软件，收集、存储、组织和监控通过 MQTT 消息或大规模地从工业设备传递的数据。网关可以安全地连接到您的本地数据服务器，并自动执行收集和组织数据并将其发送到 Amazon 云端的过程。

## Amazon IoT Core 服务
<a name="aws-iot-core-services"></a>

Amazon IoT Core 提供将您的物联网设备连接到 Amazon 云端的服务，以便其他云服务和应用程序可以与您的互联网连接设备进行交互。

![其高级视图显示 Amazon IoT Core 了设备网关、消息代理、规则引擎、设备影子及其提供的其他服务](http://docs.amazonaws.cn/iot/latest/developerguide/images/aws_iot_data_services.png)


下一节将介绍插图中显示的每项 Amazon IoT Core 服务。

### Amazon IoT Core 消息服务
<a name="aws-iot-core-connect"></a>

 Amazon IoT Core 连接服务提供与物联网设备的安全通信，并管理它们与之间传递的消息 Amazon IoT。

**设备网关 **  
使设备能够安全高效地与 Amazon IoT进行通信。设备通信由使用 X.509 证书的安全协议提供保护。

**消息代理 **  
为设备和 Amazon IoT 应用程序提供一种安全机制，以相互发布和接收消息。您可以直接使用 MQTT 协议，也可以使用 MQTT WebSocket 进行发布和订阅。有关受 Amazon IoT 支持的协议的更多信息，请参阅 [设备通信协议](protocols.md)。设备和客户端也可以使用 HTTP REST 接口将数据发布到消息代理。  
消息代理将设备数据分发给已订阅它的设备以及其他 Amazon IoT Core 服务，例如 Device Shadow 服务和规则引擎。

**Amazon IoT Core 适用于 LoRa广域网**  
Amazon IoT Core for LoRa WAN Amazon 无需开发和运行 LoRa WAN 网络服务器 (LNS)，即可通过将 LoRa WAN 设备和网关连接到，从而建立专用 LoRa WAN 网络。从 LoRa WAN 设备收到的消息将发送到规则引擎，在那里可以对其进行格式化并发送到其他 Amazon IoT 服务。

**规则引擎 **  
规则引擎将消息代理中的数据连接到其它 Amazon IoT 服务以进行存储和额外处理。例如，您可以插入、更新或查询 DynamoDB 表，也可以根据在规则引擎中定义的表达式调用 Lambda 函数。您可以使用基于 SQL 的语言选择消息有效载荷中的数据，然后处理数据并将数据发送到其它服务，如 Amazon Simple Storage Service（Amazon S3）、Amazon DynamoDB 和 Amazon Lambda。您还可以创建规则以将消息重新发布到消息代理并面向其他订阅者。有关更多信息，请参阅 [的规则 Amazon IoT](iot-rules.md)。

### Amazon IoT Core 控制服务
<a name="aws-iot-core-control"></a>

 Amazon IoT Core 控制服务提供设备安全、管理和注册功能。

**自定义身份验证服务**  
您可以定义自定义授权方，从而通过自定义的身份验证服务和 Lambda 函数来管理自己的身份验证和授权策略。自定义授权器 Amazon IoT 允许使用持有者令牌身份验证和授权策略对您的设备进行身份验证并授权操作。  
自定义授权方可以实现各种身份验证策略；例如 JSON Web Token 验证或 OAuth提供者标注。它们必须返回设备网关用于授权 MQTT 操作的策略文档。有关更多信息，请参阅 [自定义身份验证和授权](custom-authentication.md)。

**设备预调配服务**  
让您可使用描述设备所需资源的模板来预调配设备：*事物对象*、证书以及一个或多个策略。事物对象是注册表中的一个条目，其中包含描述设备的属性。设备使用证书进行身份验证 Amazon IoT。策略确定设备在 Amazon IoT中可执行的操作。  
模板包含可用字典中的值替换的变量（映射）。您可以使用同一个模板来预调配多个设备，只需在字典中为模板变量传递不同的值。有关更多信息，请参阅 [设备预调配](iot-provision.md)。

**组注册表**  
通过将设备按类别分成不同的组，可以使用组来同时管理多台设备。组中还可以包含组，您可以构建组的层次结构。您对父组执行的任何操作都将应用于其子组。同样的操作也应用于父组中的所有设备以及子组中的所有设备。向某个组授予的权限将应用于该组及其子组中的所有设备。有关更多信息，请参阅 [使用管理设备 Amazon IoT](iot-thing-management.md)。

**Jobs 服务**  
允许您定义一组远程操作，这些操作将被发送到一个或多个连接到 Amazon IoT的设备并在这些设备上运行。例如，您可以定义一个任务，该任务指示一组设备下载并安装应用程序或固件更新、重启、轮换证书或执行远程故障排除操作。  
要创建任务，您需要指定要执行的远程操作的说明，以及应该执行这些操作的目标列表。目标可以是单个设备和/或设备组。有关更多信息，请参阅 [Amazon IoT 职位](iot-jobs.md)。

**注册表**  
整理与 Amazon 云中的每台设备关联的资源。您可以注册自己的设备并将每台设备与最多三个自定义属性关联。您还可以将证书和 MQTT 客户端 IDs 与每台设备关联，以提高管理和排除故障的能力。有关更多信息，请参阅 [使用管理设备 Amazon IoT](iot-thing-management.md)。

**安全和身份服务 **  
为 Amazon 云中的安全提供共担责任。为了安全地将数据发送到消息代理，您的设备必须确保自身凭证的安全。消息代理和规则引擎使用 Amazon 安全特征将数据安全发送到设备或其它 Amazon 服务。有关更多信息，请参阅 [身份验证](authentication.md)。

### Amazon IoT Core 数据服务
<a name="aws-iot-core-data"></a>

 Amazon IoT Core 数据服务可帮助您的物联网解决方案提供可靠的应用体验，即使设备并非始终处于连接状态。

**Device Shadow **  
一种 JSON 文档，用于存储和检索设备的当前状态信息。

**Device Shadow 服务 **  
Device Shadow 服务会保持设备的状态，以便应用程序可以与设备通信，无论设备是否在线。当设备处于离线状态时，Device Shadow 服务将管理它连接的应用程序的数据。当设备重新连接时，它会将其状态与 Device Shadow 服务中的状态同步。您的设备还可以将有关其当前状态的信息发布到影子，以供不会始终保持连接的应用程序或其它设备使用。有关更多信息，请参阅 [Amazon IoT Device Shadow 服务](iot-device-shadows.md)。

### Amazon IoT Core 支持服务
<a name="aws-iot-core-integ"></a>

**适用于 Amazon 人行道集成 Amazon IoT Core**  
[Amazon Sidewalk](https://www.amazon.cn/Amazon-Sidewalk/b?ie=UTF8&node=21328123011) 是一个共享网络，可改进连接选项，帮助设备更好地协同工作。Amazon Sidewalk 支持各种客户设备，例如定位宠物或贵重物品的设备、提供智能家居安全和照明控制的设备，以及为家电和工具提供远程诊断的设备。Amazon Sidewalk Integration Amazon IoT Core 使设备制造商能够将他们的 Sidewalk 设备群添加到云端。 Amazon IoT   
有关更多信息，请参阅 [适用于 Amazon Sidewalk 的 Amazon IoT Core](https://docs.amazonaws.cn/iot-wireless/latest/developerguide/iot-sidewalk.html)。