AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

AWS IoT Things Graph

  • 2019-09-29
  • 本文字数:1567 字

    阅读完需:约 5 分钟

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 年开始发布博客,此后便笔耕不辍


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/now-available-aws-iot-things-graph/


2019-09-29 09:18790
用户头像

发布了 1913 篇内容, 共 148.5 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

Fabric8 Docker Maven Plugin 如何让部署的时候执行 Docker 打包推送

HoneyMoose

Maven docker-maven-plugin 插件 Push 413 错误

HoneyMoose

Qt|模态窗口如何实现进入页面等待加载数据效果

中国好公民st

c++ qt 10月月更

【愚公系列】2022年10月 Go教学课程 035-接口和继承和转换与空接口

愚公搬代码

10月月更

Sonatype Nexus 管理员初始密码

HoneyMoose

Webpack中的高级特性

Geek_02d948

webpack

你知道Redis有哪些潜在的阻塞点吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

【一Go到底】第二十一天---defer

指剑

Go golang 10月月更

Vue虚拟dom是如何被创建的

yyds2026

Vue

React源码中的dom-diff

夏天的味道123

React

在线问题反馈模块实战(七):安装部署swagger2

bug菌

springboot 项目实战 10月月更

在线问题反馈模块实战(九)​:实现图片上传功能(下)

bug菌

springboot 项目实战 10月月更

Python继承还不会,看这篇就够了

芥末拌个饭吧

继承 python 3.5+ 10月月更

Webpack插件核心原理

Geek_02d948

webpack

数据湖(六):Hudi与Flink整合

Lansonli

10月月更 Hudi与Flink整合

“程”风破浪的开发者|慢慢踏上算法学习之旅

六月暴雪飞梨花

学习方法 算法 10月月更 “程”风破浪的开发者

HashMap源码分析(三)

知识浅谈

HashMap底层原理 10月月更

Vue中的diff算法深度解析

yyds2026

Vue

“程”风破浪的开发者|镜像仓库迁移的方法

琦彦

学习方法 Harbor 10月月更 “程”风破浪的开发者

Visual Studio (VS2017)提交代码到Git服务器流程(GitCode)

DS小龙哥

10月月更

深度解读Webpack中的loader原理

Geek_02d948

webpack

Webpack中的plugin插件机制

Geek_02d948

webpack

IP报文在阿里云上的神奇之旅:同地域内云上通信

阿里技术

通信 IP 路由

CentOS 上安装 Sonatype Nexus 仓库

HoneyMoose

CentOS部署Harbor镜像仓库

程序员欣宸

Docker 10月月更 habor

数据开发也能双轮驱动?

乌龟哥哥

10月月更

ScheduledThreadPoolExecutor踩过最痛的坑

小小怪下士

Java 程序员

数据量剧增怎么办?Redis切片集群了解一下

芥末拌个饭吧

后端 redis 底层原理 10月月更

GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发

乌龟哥哥

10月月更

在线问题反馈模块实战(八)​:实现图片上传功能(上)

bug菌

springboot 项目实战 10月月更

AWS IoT Things Graph_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章