亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 物联网技术

使用 AWS 作业升级和配置物联网设备

Amazon Web Services (AWS) 是最流行的物联网 (IoT) 框架环境之一,与 Microsoft Azure 和 Google Cloud IoT 并驾齐驱。智能设备使用 Internet 连接到框架,并使用 MQTT 协议与其交互。除了与设备交互之外,该框架还为数据存储和处理、向用户表示数据、数据分析(包括人工智能方法)、具有强大权限系统的访问控制等提供了很好的机会。

为了存储数据,AWS 环境提供(除了不同的关系和非关系 DBMS)一个基于云的分层文件存储系统,称为简单存储服务 (S3)。 S3 存储中的每个文件都可以有一个通用资源定位器 (URL),可从外部访问。在这种情况下,可以通过具有适当访问权限的 Web 浏览器访问该文件。如果文件内容是 HTML 页面,则交互式用户可以使用此文件访问 AWS 框架选项和与其连接的智能设备。该页面的功能由其内部的 JavaScript 代码指定(该代码可以激活整个框架及其独立组件的应用程序编程接口 (API) 的功能)。

Lambda 函数

除了网页之外,AWS 框架环境中的程序代码还可以存储为 lambda 函数。这些是特殊命名的代码段,使用以下语言之一编写:Python、Java、C# 或 Node.Js。它们存储在云中并在某些事件上被调用。事件可以由网页发起(比如在某个 URL 上调用某个 HTTP REST API)、另一个 lambda 函数或智能设备(通过发送某种类型的 MQTT 消息)。在所有这些情况下,事件都可以有参数。 Lambda 函数用作智能设备、AWS 资源(例如数据库)和用户直接交互的网页(图 1)之间交互的中间件。

点击查看大图

图 1. AWS 组件交互架构(来源:Auriga)

AWS lambdas 有硬性限制,例如,处理单个请求的执行时间是有限的,lambda 在处理单个请求时可以使用的内存量是有限的。如果超过任何限制,则中止 lambda 的执行。这些限制由用户在创建 lambda 时配置,但不能超过某些值。

物联网设备使用 TCP 协议连接到云端,提供数据完整性和缓冲;在连接缓慢的情况下,协议负责在发送端积累数据,并在可能时将其推送到管道中。此外,TCP 之上的 AWS 协议负责在连接丢失的情况下持久地重新建立 TCP 连接。

但是,由于 MQTT 协议的特定单向性质,IoT 设备和云之间的连接问题通常不会影响 lambda。与物联网设备通信时,lambda 只发送 MQTT 消息,不等待响应;如果响应到达,则由不同的 lambda 函数负责处理它,并在需要时向 IoT 设备发送另一个 MQTT 消息。

AWS 工作

AWS 框架组件之一是作业服务 (AWS Jobs)。它用于在连接到 AWS 的一个或多个 IoT 设备上创建和执行持久操作(作业)并管理这些作业。与其他 AWS 服务相比,AWS Jobs 服务出现得比较晚。

通过编程控制台以及使用 API 函数集以编程方式提供对 AWS Jobs 服务的访问。

这些功能的某个子集可以由智能设备本身使用(可以通过发送 MQTT 消息调用)。可通过 MQTT 协议访问的函数执行从设备端访问作业及其参数所需的操作:GetPendingJobExecutions、StartNextPendingJobExecution、UpdateJobExecution、DescribeJobExecution 等。

其他函数是通过 HTTPS 协议定义的,旨在从网页上的 JavaScript 代码、lambda 函数的程序代码以及用户在交互模式下调用。这些函数主要用于作业的创建和删除以及作业执行管理:CreateJob、DeleteJob、DescribeJob、ListJobs、ListJobExecutionsForThing等

在 AWS 作业术语中,有关作业的主要信息存储在其作业文档中。这是一个 JSON 文档,从框架传递到目标设备并描述应该做什么。通常,作业文档包括操作名称和指向数据作业参数位置的 URL(或多个 URL)。

此 URL 可由 AWS 用户“预先签名”。在这种情况下,该 URL 允许智能设备以预先签署它的用户的权限访问某个对象(因此该设备可以访问它通常无法访问的数据)。预先签名的 URL 具有有限的生命周期,并在生命周期结束后过期,使对象再次无法访问。

可以在创建作业期间即时创建作业文档,也可以将其作为文件存储在 AWS 框架的 S3 文件存储中。可以在作业创建期间指定指向该文件的链接。

其他作业属性包括:

当作业在特定设备上执行时,它有一个状态。框架定义了一组有限的状态:QUEUED、IN_PROGRESS、FAILED、SUCCESS、CANCELED、REJECTED、REMOVED。当前状态因来自设备的请求(例如,调用 UpdateJobExecution 函数)或当用户调用作业管理函数之一(例如,使用 CancelJob 函数取消作业)而更改。正常情况下,设备执行作业时作业执行状态为IN_PROGRESS,设备完成作业后变为SUCCESS或FAILED。

作业执行的状态图如图2所示(这里,设备发起的转换以蓝色显示,其他AWS组件发起的转换以绿色显示)。

点击查看大图

图 2. AWS 作业执行期间的状态图(来源:Auriga)


物联网技术

  1. 处理器解决物联网和人工智能的融合
  2. 物联网提供全球利益
  3. 即插即用:未配置物联网带来的威胁
  4. 确保物联网采用中的网络安全和隐私
  5. 企业中的物联网流量正在上升,威胁也在增加
  6. 7 个让您的物联网网络保持正常运行和安全的基本技巧
  7. 物联网时代安全标准和监管的 $6trn 重要性
  8. 减轻物联网的网络风险并寻找解决方案
  9. 使用物联网促进行业发展并支持更广泛的经济
  10. 使孟菲斯变得“智能”:物联网设备的可见性、控制和安全性
  11. 物联网和网络安全
  12. 物联网和区块链——范式转变