亚马逊AWS官方博客

AWS IoT 1-Click – 使用简单设备触发 Lambda 函数

我们在 AWS re:Invent 2017 上推出了 AWS IoT 1-Click 预览版,此后不断对它进行优化完善,尤其是在简洁性和干净的开箱即用体验方面。AWS IoT 1-Click 以让广泛的受众方便可用为出发点设计,现已全面向市场开放,提供来自 AWS 和 AT&T 的新 IoT 按钮。

一两个月前,我与开发团队呆在一起学习该服务,为我的博文打下基础。在会议期间,他们给了我一对 IoT 按钮,我开始思考以某种创新的方式来使用它们。下面是我想到的一些用途:

帮助请求 – 本月早些时候,我在洛杉矶的 HackTillDawn 编程马拉松度过了一个十分愉快的周末。随着参与者们的深入,他们偶尔会问到 AWS、机器学习、Amazon SageMakerAWS DeepLens。 虽然我们的 AWS 解决方案架构师多不胜数(穿着时尚醒目的 AWS 衬衫,非常容易识别),但我仍想象为每个团队设计一个 IoT 按钮。按下按钮将会通过短信提醒解决方案架构师,指示他们前往正确的桌子。

摄像机控制Tim Bray 和在 AWS 视频工作室中,为 Tim 的 AWS 消息收发系列讲座的第一幕做准备。 在我们开放 Twitch 视频流之前的几分钟,我认识到我们还没有一种清洁、通畅的途径,以便要求摄像机操作员切换到特写镜头。同样,我想象可以通过一组 IoT 按钮来提出请求。

远程分发狗粮 – 每当有陌生人打开我房子的大门时,我的狗都会大叫。虽然这可以确认我的门铃工作正常,但我也希望能够按个按钮,分发狗粮,让 Luna 停止叫!

家庭、办公室、工厂、学校、汽车和护理设施,都可以通过使用 AWS IoT 1-Click 管理的 IoT 按钮以及其他简单的 IoT 设备受益。

AWS IoT 1-Click 的一切
我之前提到,我们一直重视简洁性和干净的开箱即用体验。具体而言,这意味着:

架构师可以想象面向便宜的低功耗设备的应用程序。

开发人员不需要编写设备层面的代码。他们可以使用发送电子邮件或短信等预置操作,或者使用 AWS Lambda 函数编写自定义操作。

安装人员不需要为新购置的设备安装证书或配置云终端节点,也无需担心固件更新问题。

管理员可以监控每台设备的整体状态和运行状况,并且可以使用覆盖所有设备类型和制造商的统一接口,安排在设备接近其使用寿命的终点并需要更换时收到提醒。

我将稍后向您展示这将会如何简单。但在此之前,我们首先来看 AWS IoT 1-Click 目前支持设备。

谁已获得按钮?
我们目前支持两类按钮(均见上图)。这两类按钮都预先配置了 X.509 证书,通过安全连接与云通信,并且立即可用。

AWS IoT Enterprise 按钮通过 Wi-Fi 通信。它拥有 2000 次按压的使用寿命,使用 TLS 进行传出数据加密,可以使用 BLE 和我们移动应用程序进行配置。它的零售价格为 19.99 USD(不含运费和处理费),可以在美国、欧洲和日本使用。

AT&T LTE-M 按钮 通过 LTE-M 蜂窝网络通信。它拥有 1500 次按压的使用寿命,也使用 TLS 进行传出数据加密。设备和捆绑的数据套餐推广价为 29.99 USD(不含运费和处理费),可以在美国使用。

我们非常感兴趣与设备制造商合作,为客户提供更多形状、大小和类型的设备(证卡阅读器、资产跟踪器、运动检测器和工业传感器等等)。我们团队很乐意向您介绍我们的预配置工具以及向大量设备推送 OTA(空中)更新的设施;您可以通过 iot1click@amazon.com 与他们联系。

AWS IoT 1-Click 的概念
我很迫切向您展示如何使用 AWS IoT 1-Click 和按钮,但在此之前我需要介绍一些概念。

设备 – 可以发送消息的按钮或其他项目。每台设备都通过序列号作为唯一标识。

放置模板 – 用于描述将要部署的类似设备集合。它规定了要执行的操作并列举了每台设备的自定义属性名称。

放置 – 已经部署的设备。使用放置而不是设备一词,是为了方便您以极小的中断更换和升级设备。每个放置都包含自定义属性值,例如位置(“8 幢 3 楼 1337 室”)或目的(“咖啡请求按钮”)。

操作 – 按下按钮后要调用的 AWS Lambda 函数。您可以从头开始编写函数,也可利用一组发送电子邮件或短信的预定义函数。操作拥有属性的访问权限;例如,您可以使用文本“8 幢 3 楼 1337 室紧急需要咖啡”发送短信。

AWS IoT 1-Click 入门
让我们使用 AWS IoT 1-Click 控制台来设置 IoT 按钮:

如果我还没有任何按钮,我可以单击 Buy devices(购买设备)来获得一个。但我已经有了,因此我会单击 Claim devices(申请设备)继续。我会输入设备 ID 或申请我的 AT&T 按钮的代码,然后单击申请(需要时我可以输入多个申请代码或设备 ID):

AWS 按钮可以使用控制台或移动应用程序申请;第一步是使用移动应用程序配置按钮以使用我的 WiFi:

然后我可以扫描盒子上的条码,单击按钮以完成设备申请过程。现在我的两个按钮都可在控制台中看到:

现在我可以将它们投入使用。我单击 Projects(项目),然后单击创建项目

我输入项目的名称和描述,然后单击下一步继续:

现在我已经定义了设备模板以及放置属性的名称和默认值。下面来看我如何设置设备模板(项目可以包含多个模板,但我只需要一个):

该操作有两个内置的必填参数(电话号码和短信);我添加了两外三项(Building、Room 和 Floor),然后单击创建项目

我基本上已经准备好请求提供咖啡了!下一步是为分别创建一个放置,将我的按钮与此项目关联起来。我单击 Create placements(创建放置)继续。我输入每个放置的名称,选择与它关联的设备,然后输入我为该项目建立的属性的值。我还可以添加特别适用于此放置的额外属性:

我可以检查我的项目并看到一切正常:

我按下按钮并显示短信:

我可以在 AWS IoT 1-Click 控制台监控设备活动:

当然也可以在 Lambda 控制台监控:

Lambda 函数本身也可以访问,可以按原样使用或自定义:

以下就是我使用的代码 {{*}}将所有放置属性包含在消息中,以及 {{Building}} (例如)包含特定的放置属性。

现已开放
这仅仅是这种很酷的新服务的冰山一角,我建议您亲自尝试(或按压)。购买一两个按钮,构建奇妙的用途,然后告诉我!

定价基于您的账户每月启用的设备数量,不足一月按比例计算。设备可以随时启用或禁用。更多信息请参阅 AWS IoT 1-Click 定价页面。

如需了解更多信息,请访问 AWS IoT 1-Click 首页或阅读 AWS IoT 1-Click 文档

Jeff