65.9K
CodeProject 正在变化。 阅读更多。
Home

工业用例和教程:Intel® 和 IBM Watson IoT Platform

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2016 年 9 月 9 日

CPOL

16分钟阅读

viewsIcon

8183

本指南描述了使用 Intel® IoT 网关和运行在 IBM Bluemix 上的 IBM Watson IoT 平台的工业用例的实现。

获取新的 Intel® IoT 开发套件,这是一个完整的软硬件解决方案,允许开发人员使用 Intel® Galileo 和 Intel® Edison 板创建令人兴奋的新解决方案。请访问 Intel® 物联网开发者中心

本指南描述了使用 Intel® IoT 网关和运行在 IBM Bluemix* 上的 IBM Watson* IoT 平台的工业用例的实现。实现此用例的构建块在 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 中进行了描述。该指南涵盖了设置 Intel IoT 网关、连接传感器、设置运行在 Bluemix 上的 IBM Watson IoT 平台,以及将网关连接到 Watson IoT 平台,以便您可以将实时传感器数据发送到云进行存储和处理。

用例和业务需求

该用例是用于储存工业烘焙所用散装糖的设施。糖的理想储存条件是温度为 20-25°C,相对湿度 (RH) 为 55-60%。在适当的条件下储存,糖的保质期可达数年。当条件超出理想范围时,会出现几个问题

  • 温度高于 25°C 会因水分蒸发而促进结块。
  • 相对湿度低于 50% 会促进结块、硬化和流动性丧失。
  • 相对湿度高于 70% 会促进糖浆形成、粘性以及霉菌和酵母菌生长。
  • 温度上下波动会导致水分蒸发和重结晶,从而导致结聚(粘在一起)。还会导致储存容器壁上形成结壳。

    储存设施传统上采用手动技术,在工作日开始和结束时定期测量温度和湿度,评估读数以发现问题并采取纠正措施,并保留记录以供历史目的。此过程劳动密集,无法全天候测量条件,并且可能无法检测到导致糖降质的温度上下波动周期。此外,也很难评估长期储存条件,这很重要,因为储存的糖量全年因烘焙周期变化而波动。

    储存设施希望扩大业务,但意识到其当前管理储存条件的方法将无法扩展。在与营销、销售、IT 和运营团队进行一系列业务战略会议后,该公司确定了几个有助于业务增长和扩展的运营目标。

  • 自动化储存筒内温度和湿度的连续测量过程。
  • 自动检测温度或湿度问题并向运营团队发出警报,以便他们可以采取纠正措施。
  • 将所有测量数据集中在一个地方,以便可以检测和评估温度的上下波动(包括随着季节变化)。
  • 能够查看当前和历史测量数据。
  • 以计算机化的格式提供数据,以便可以用来向潜在客户展示公司如何通过持续监控储存条件来确保高质量产品。

实施方法

要实现此用例,您将使用以下组件。请使用 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 来启动这些组件。

Intel® IoT 网关和温度/湿度传感器

一台运行 Intel® Atom™ 处理器的 Intel® NUC Kit DE3815TYKE 网关将部署在储存设施现场。该网关将用于控制安装在每个储存筒内的工业温度和湿度传感器(OMEGA* RH-USB)。它具有不锈钢外壳,适用于壁挂或管道安装。传感器测量温度范围为 -17 至 49°C(±1°C 精度)。它测量相对湿度范围为 2% 至 98%(±3% 精度)。传感器提供标准的 USB 输出,您可以使用它通过网关读取温度和湿度数据。

您将在网关上使用 Node-RED* 编写软件,这是一个用于连接物联网 (IoT) 应用程序的图形化工具。网关软件将定期读取传感器,将读数格式化并组合成测量数据集,然后安全地将数据传输到 IBM Watson* IoT 平台进行进一步处理。

IBM Bluemix

Bluemix 是一个用于托管可扩展服务、应用程序和数据的云平台。您将使用它来运行 IBM Watson IoT Platform 和 IBM Watson IoT Platform Analytics Real-Time Insights 服务。

IBM Watson IoT 平台

IBM Watson IoT 平台允许您将设备和网关安全地连接到 Bluemix 云,以便您可以与其他服务和应用程序交换数据。它还提供了允许您查看设备状态和监控实时设备数据流的工具。

IBM Watson IoT Platform Analytics Real-Time Insights

此服务允许您监控和情境化来自设备和网关的数据,可视化您的运营情况,并通过自动化操作进行响应。您将使用此服务来创建由网关传输的温度和湿度测量驱动的规则和自动化操作。

先决条件和更改概述

使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 提供了设置 Intel® IoT 网关(配有 RH-USB 传感器)、建立 Bluemix 账户以及在 Bluemix 上创建 IBM Watson IoT Platform 和 IoT Real-Time Insights 服务实例的详细步骤。完成这些步骤,然后验证网关的 Intel® IoT Gateway Developer Hub 门户上是否显示了实时温度和湿度读数,以及 Watson IoT 平台仪表板上是否显示了实时温度。此配置将作为实现此用例的更改和添加的基础。

网关更改

在 Intel® IoT 网关上,您将对 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 中描述的基础配置进行以下更改。

  • 修改 Node-RED 流,将 RH-USB 传感器视为连接到网关的独立设备。
  • 将温度和湿度合并到一条数据消息中,从网关发送到 IBM Watson IoT 平台。

IBM Watson IoT 平台更改

在 IBM Watson IoT 平台上,您将对 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 中描述的基础配置进行以下更改。

  • 为 OMEGA RH-USB 传感器创建一个新的设备类型。
  • 在 IBM Watson IoT 平台中启用历史数据存储。
  • 使用数据模式将传感器数据发送到 IoT Real-Time Insights。
  • 创建规则,监控温度和湿度阈值,并在超出范围时触发操作。
  • 创建操作,在温度或湿度读数超出范围时发送短信和电子邮件。

实现细节

要实现此用例,您必须对网关和 IBM Watson IoT 平台进行一些更改和添加,以 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 作为起点。使用两个单独的浏览器会话登录 Intel® IoT Gateway Developer Hub 和您的 IBM Watson IoT Platform 账户。您希望在这些步骤中能够快速访问这两个系统。

在 Intel IoT **Gateway** 上进行标记为“Gateway”的更改。在 IBM Watson IoT Platform 服务上进行标记为“**IBM Watson IoT Platform**”的更改,并在“**IoT Real-Time Insights**”服务上进行标记为“IoT Real-Time Insights”的更改。

**Gateway**:Intel IoT Gateway Developer Hub 中的起始 Node-RED 流如下所示(图 1)。

此流每秒读取一次 RH-USB 温度和湿度传感器,在 Intel IoT Gateway Developer Hub 门户中显示实时温度和湿度值,并将温度读数发送到 IBM Watson IoT 平台,在 IBM Watson IoT Platform 仪表板上显示。

图 1. Intel® IoT Gateway Developer Hub 门户中的起始 Node-RED 流。

IBM Watson IoT 平台

完成以下步骤

  1. 在“设备”页面上,单击“**设备类型**”选项卡,然后单击“**创建类型**”。
  2. 单击“**创建设备类型**”,然后将名称设置为“**RH-USB**”,将描述设置为“**温度和湿度传感器**”。单击“**下一步**”。
  3. 在模板页面上,选择“**制造商**”和“**型号**”复选框,然后单击“**下一步**”。
  4. 将制造商设置为“**Omega**”,将型号设置为“RH-USB”,然后单击“**下一步**”。
  5. 将可选元数据留空,然后单击“**创建**”。

现在,您应该在 IBM Watson IoT Platform 仪表板中看到两个设备类型(图 2)。

图 2. IBM Watson IoT Platform 仪表板中的两个设备。
  1. 单击“**浏览**”选项卡,然后单击“**添加设备**”。
  2. 选择“**RH-USB**”设备类型,然后单击“**下一步**”。
  3. 对于“设备 ID”,键入“**RH-USB-1**”,然后单击“**下一步**”。
  4. 将可选元数据留空,然后单击“**下一步**”。
  5. 对于“**安全**”,您将使用“**自动生成的身份验证令牌**”,因此请单击“**下一步**”以使用此选项。
  6. 查看摘要页面,然后单击“**添加**”。

添加设备后,您将看到设备凭证。将“组织 ID”和“身份验证令牌”字符串复制到文本文件中并保存以备后用(图 3)。关闭此页面后,您将无法再次看到自动生成的身份验证令牌,并且需要重新创建设备才能获得新的令牌。

图 3. RH-USB 设备的凭证。

现在,您应该在 IBM Watson IoT Platform 仪表板的设备列表中看到两个设备(图 4)。

图 4. 您已将两个设备添加到 IBM Watson IoT Platform。

网关

在 Node-RED 画布上,双击 RH-USB 节点,然后单击“**编辑流**”。RH-USB 节点的详细信息将在新选项卡中打开(图 5)。

图 5. RH-USB 节点详细信息在新选项卡中打开。

单击图 5 中调用 1 所示的加号 (+) 可将输出数量从 2 增加到 3。这样做会添加第三个输出,您可以将其重新定位到流程的输出 1 下方。双击函数节点(参见调用 2)进行编辑。将输出数量增加到 3,添加图 6 中所示的额外代码,然后单击“**确定**”。

图 6. 新函数节点的额外代码。

此更改会导致 RH-USB 节点的第三个输出发出一个组合的温度和湿度对象,您将使用它将温度和湿度测量发送到 IBM Watson IoT 平台。将函数的第三个输出连接到输出 3,然后添加一个注释节点来描述第三个输出。生成的流应如下图 7 所示。

图 7. 将函数的第三个输出连接到输出 3 并添加注释节点后的流。

将流更改部署到网关以使其生效。

在 Node-RED 流的 Sheet 1 上,将另一个 IBM Watson IoT Platform 输出节点拖到画布上,并按如下方式设置其属性(图 8)。

  • **连接方式**:网关(已注册)
  • **凭证**:Watson IoT 网关凭证
  • **设备类型**:RH-USB
  • **设备 ID**:RH-USB-1
  • **事件类型**:event
  • **格式**:json
  • **名称**:发送到 Watson IoT 已注册的带设备 ID RH-USB-1

图 8. 新输出节点的属性。

单击“**确定**”。请注意,您正在指定在 IBM Watson IoT 平台中创建的 RH-USB 设备类型和 RH-USB-1 设备实例。您在 使用 Intel® 网关 IoT 软件套件连接到 IBM Watson* IoT 平台 中设置了 Watson IoT 网关凭证;它定义了网关本身的名称和设备 ID。

删除进入“**发送到 Watson IoT 快速入门**”和“**发送到 Watson IoT 已注册**”节点的 Node-RED 线,并从 RH-USB 的第三个输出连接一条线到“发送到 Watson IoT 已注册的带设备 ID RH-USB-1”的输入。此路径将温度和湿度数据发送到 IBM Watson IoT 平台。更新后的流应如下图 9 所示。

图 9. 从 RH-USB 节点连接一条线后的更新流。

将更新后的流部署到网关以使其生效。

IBM Watson IoT 平台

导航到“设备”页面并单击“**RH-USB-1**”设备。在“**最近的事件**”部分,您应该看到一系列事件:这些是来自网关的温度和湿度读数。单击一个事件以查看报告的数据。

此时,您已经有了从 RH-USB 传感器流向网关的实时温度和湿度数据。网关会组合和预处理数据,然后生成数据包发送到 IBM Watson IoT 平台。接下来,您将为 IBM Watson IoT 平台添加功能来处理数据包。

IoT Real-Time Insights

转到您的 Bluemix 仪表板,然后单击“**IoT Real-Time Insights**”以访问 IoT Real-Time Insights 仪表板。您必须定义一个描述来自传感器的包的模式。为此,请完成以下步骤。

  1. 在顶部的导航链接中,单击“**设备**”,然后单击“**管理模式**”。
  2. 单击“**添加新消息模式**”。
  3. 在“消息模式”页面上,在“**名称**”字段中,键入“**Temperature_Humidity**”。
  4. 单击“**链接数据源**”,然后选择“**Intel IoT Gateway for Data**”作为数据源。对于“**设备类型**”,选择“**RH-USB**”。将“**事件**”设置为“**+ (所有事件)**”,然后单击“**确定**”。
  5. 单击“**添加数据点**”,然后选择“**从连接设备添加**”。选择“**d**”、“**temperature**”和“**humidity**”,然后单击“**确定**”。
  6. 验证您的模式是否如**图 10** 所示,然后单击“**确定**”以添加它。

    图 10. 新的消息模式。
  7. 导航到“**设备**”,然后单击“**浏览设备**”。
  8. 单击“**RB-USB-1**”。

您应该会看到实时传感器数据,该数据应与网关的 Intel® IoT Gateway Developer Hub 门户上的读数匹配(图 11)。

图 11. 网关 Intel® IoT Gateway Developer Hub 门户中的传感器数据。

接下来,添加业务逻辑来监控温度和湿度条件,并在超出范围时发送电子邮件和短信警报。为此,请完成以下步骤。

  1. 导航到“**分析**”,然后导航到“**规则**”。
  2. 单击“**添加新规则**”。
  3. 设置以下字段(图 12)。
  • **名称** – 温度问题
  • **描述** – 温度超出期望范围
  • **消息模式** – Temperature_Humidity

图 12. 为传感器数据添加规则。
  1. 点击**下一步**。

现在您看到规则编辑器,它被组织成一系列“如果这是那么(IFTTT)”规则。IF 条件使用 AND 和 OR 逻辑来定义触发条件。您在 THEN 部分定义一个或多个操作,以便在触发条件发生时执行操作。

要监控储存温度范围,请定义一个 IF 条件来检测温度读数过低或过高。完成以下步骤。

  1. 单击“**新建条件**”。
  2. 按如下方式填写数据字段。
  • **比较对象**:选择**数据点**。
  • **数据点**:单击“**选择数据点**”,然后选择“**d**”数据集中的“**temperature**”。
  • **运算符**:选择“**<**”。
  • **比较值**:选择“**静态值**”。
  • **值**:键入“**20**”。
  1. 单击“**确定**”。
  2. 单击 OR 下方的加号,然后为温度 > 25 添加另一个条件。
  • **比较对象**:选择“**数据点**”。
  • **数据点**:单击“**选择数据点**”,然后选择“**d**”数据集中的“**temperature**”。
  • **运算符**:选择“**>**”。
  • **比较值**:选择“**静态值**”。
  • **值**:键入“**25**”。

图 13 显示了完整的对话框。

图 13. IF…THEN 规则的已完成属性。
  1. 单击“**每次满足条件时触发**”,然后将频率要求设置为“**15 分钟内触发 10 次**”(图 14)。

图 14. 设置 IF…THEN 条件的频率要求。
  1. 点击 **保存**。
  2. 在 **THEN** 部分,单击“**新建操作**”,然后单击“**添加操作**”。
  3. 您将创建一个电子邮件操作,向运营团队发送通知电子邮件。
  4. 按如下方式填写字段,然后单击“**确定**”。
  • **类型**:发送电子邮件
  • **名称**:发送电子邮件到运营团队
  • **收件人**:<接收通知的电子邮件地址>
  • **抄送**:<其他电子邮件地址,如果需要>
  • **主题**:糖储存温度问题
  • 选择“**在前面加上‘IoT Real-Time Insights 警报**’”。

图 15 显示了完整的对话框。

图 15. 已完成的“添加新操作”对话框。
  1. 在“**设置操作**”对话框中单击新创建的操作,然后单击“**确定**”将操作添加到“**THEN**”部分。
  2. 在 **THEN** 部分,单击电子邮件操作旁边的加号以添加第二个操作。
  3. 按如下方式填写字段。
  • **类型**:发送电子邮件
  • **名称**:发送电子邮件到运营团队
  • **收件人**:<手机的电子邮件到短信地址>
  • **抄送**:<其他电子邮件地址,如果需要>
  • **主题**:糖储存温度问题
  • 选择“**不将设备数据包含在电子邮件消息中**”。

图 16 显示了完整的对话框。

图 16. 已完成的“编辑操作”对话框。

您的 IF…THEN 规则集应如下图 17 所示。

图 17. 已完成的 IF…THEN 规则集。
  1. 将“**警报优先级**”更改为“**高**”,然后单击“**保存**”。

您定义的所有操作都可以在 IoT Real-Time Insights 中通过单击“**分析**”然后单击“**操作**”选项卡来查看和更新。操作包括发送电子邮件、调用 webhook、调用运行在 Bluemix 中的 Node-RED 流以及触发 IFTTT 操作。

您的新规则应显示在“**分析**”>“**规则**”页面上,并且当前处于“已禁用”状态(图 18)。单击“温度”规则上的齿轮图标,然后选择“**激活**”。请记住,对于 IoT Real-Time Insights 免费套餐,规则只能激活 1 小时,之后会自动禁用。

图 18. “分析”>“规则”页面上的新规则。

通过将 RH-USB 传感器的温度升高到 25°C 以上至少 15 秒来测试规则。您应该会收到类似图 19 的来自 IoT Real-Time Insights 的电子邮件和短信通知。

图 19. IoT Real-Time Insights 关于超出范围温度读数的示例警报。

接下来,添加一个规则来监控湿度范围。完成以下步骤。

  1. 添加一个名为“**湿度问题**”的新规则。
  2. 使用 **d.humidity** 数据点。
  3. 使用 OR 运算符添加两个条件检查:一个用于湿度 **< 55**,另一个用于湿度 **> 60**。
  4. 将触发频率设置为“**15 分钟内 10 次**”。
  5. 创建并添加两个名为“**发送湿度电子邮件到运营团队**”和“**发送湿度短信到运营团队**”的新操作。
  6. 保存规则,然后激活它。

完成的规则应如下图 20 所示。

图 20. 监控传感器湿度范围的新规则。

当湿度超出范围时,IoT Real-Time Insights 会生成电子邮件和短信警报,与温度情况类似。

整合

此时,已就绪一个实时监控解决方案,当储存条件超出期望范围时,它会通知运营团队。为了进一步扩展,您可以利用 Intel® IoT Gateway Technology 的强大功能,结合 IBM Watson* IoT Platform 和 Bluemix* 来实现各种附加功能。这里有一些想法。

关于网关,您可以连接更多温度和湿度传感器,或合并来自多个传感器的数据并发送到 IBM Watson IoT 平台。您可以驱动实时温度和湿度显示,并控制温度或湿度修复设备。此外,考虑使用内置的安全功能来加固您的网关。

对于 IBM Watson IoT Platform 和 Bluemix 上的其他服务,您可以将温度和湿度数据发送到数据库以进行长期保留。可以添加仪表板显示传感器数据和监控警报,或在地图上显示传感器位置。通过添加更复杂的数据分析和机器学习,您可以发现趋势并检测不良的温度波动模式。您甚至可以创建和托管一个移动应用程序,让您可以在移动设备上查看储存条件。可能性几乎是无限的。

© . All rights reserved.