亚马逊AWS官方博客

现已推出 – AWS IoT Things Graph

去年 11 月,我们曾宣布要推出 AWS IoT Things Graph,并介绍它是一种可用于直观地构建 IoT 应用程序的工具。今天,我很高兴地告诉大家,该服务现已推出,可供您使用!

正如您将在稍后看到的那样,您可以在由设备和服务组成的中表示您的业务逻辑。每项 Web 服务和每种类型的设备(传感器、摄像头、显示器等)在 Things Graph 中都表示为模型。这些模型隐藏了具体的设备品牌或型号所特有的实施细节,允许您构建可随硬件而演变的流。每个模型都有一组操作(输入)、事件(输出)和状态(属性)。Things Graph 包含一组预定义的模型,并且允许您定义自己的模型。您还可以在流中使用映射,将一个设备的输出转换为其他设备所需要的形式。构建流后,您可以将其部署到启用 AWS IoT Greengrass 的设备以用于本地执行。在流部署完毕之后,会协调本地连接的设备和 Web 服务之间的交互。

使用 AWS IoT Things Graph
我们来快速了解一下 AWS IoT Things Graph 控制台

第一步是确保我拥有代表我计划在流中使用的设备和 Web 服务的模型。首先,单击控制台导航中的模型

控制台概述了在创建模型时必须遵循的三个步骤,还列出了我的现有模型:

若上面列出的每个设备的 URN 中存在 aws/examples,则表示它们已经过预定义,并且是公共 AWS IoT Things Graph 命名空间的一部分。我单击摄像头来了解有关此模型的更多信息;我可以看到 属性操作事件

模型是使用 GraphQL 定义的;我可以查看、编辑或上传包含模型定义的文件。摄像头的定义如下:

该模型定义了一个抽象的摄像头设备。然后,该模型可以引用一个或多个实际设备的定义,如设备部分中所列:

每个设备也都使用 GraphQL 定义。特别值得注意的是使用 MQTT 主题和消息来定义操作:

前面,我提到模型还可以表示 Web 服务。在部署引用此类型的模型的流时,激活模型上的操作将调用 Greengrass Lambda 函数。定义 Web 服务的方式如下:

现在,我可以创建一个流。单击导航中的,然后单击创建流

对流进行命名并输入描述:

首先,我打开一个空画布,然后将节点(设备服务逻辑)拖到其中:

在本演示(在 AWS IoT Things Graph 用户指南中有详细说明)中,我将使用 MotionSensor摄像头屏幕

我通过连接设备来定义流:

然后,我对其进行配置和自定义。由于选择和设置很多,因此我将向您展示其中的一些重点,并建议您参阅用户指南以获取更多信息。我设置了 MotionSensor,以便通过状态更改来启动此流:

我还(未显示)将摄像头配置为执行拍摄操作,并配置屏幕来显示它。我还可以使用预定义的服务

我还可以将逻辑添加到我的流中:

与模型一样,我的流最终使用 GraphQL 进行定义(如果需要,我可以直接查看和编辑它):

现在,我已定义流,接下来我单击发布,使其可用于部署:

接下来的步骤是:

关联 – 此步骤会将实际的 AWS IoT Thing 分配给设备模型。我选择了 Thing,然后选择一个设备模型,并为我的流中的每个设备模型重复此步骤:

部署 – 我创建一个流配置,在云或 Greengrass 上定位它,并使用它来部署我的流(阅读创建流配置以了解更多信息)。

注意事项
在本文中,我只略作讲述;AWS IoT Things Graph 为您提供了强大的功能和灵活性,更多信息将留待您自己去发现!

这里需要牢记几点:

定价 – 定价基于执行的步骤(针对云部署)或部署(针对边缘部署),已在 AWS IoT Things Graph 定价页面上予以详细说明。

API 访问 – 除了控制台访问外,您还可以使用 AWS IoT Things Graph API 构建模型和流。

区域AWS IoT Things Graph 已在 美国东部(弗吉尼亚北部)美国西部(俄勒冈)欧洲(爱尔兰)亚太地区(悉尼)亚太地区(东京)推出。

本篇作者

Jeff Barr

AWS 首席布道师; 2004年开始发布博客,此后便笔耕不辍。