从传感器到云: 将英特尔® NUC 和 Arduino 101* 开发板连接至 IBM Watson* 物联网平台

本文将介绍如何使用英特尔® 下一代计算 (NUC) 设备将 Arduino 101* 开发板上的传感器连接至 IBM Watson* 物联网平台。 您将学会如何读取 Arduino 101* 开发板的实时传感器数据、在英特尔® NUC 设备上本地查看该数据,并将数据发送至 IBM Watson* 物联网平台,以供在云中保存、查看和处理。 为此,您需要使用英特尔® NUC 设备的 Node-RED 创建处理流程,以执行推动应用运行的输入、处理和输出功能。

设置及前提条件

在英特尔® 物联网网关开发中心读取传感器并显示相应数据

在浏览器中输入英特尔® NUC 设备的 IP 地址并将 gwuser 用作默认用户名和密码,登录英特尔® NUC 设备的英特尔® 物联网网关开发中心。 您将看到有关英特尔® NUC 设备的基本信息,包括型号、版本、以太网地址和网络连接状态。

单击 Sensors 图标,然后单击 Manage Sensors 打开 Node-RED* 画布,您将看到表 1 中包含 RH-USB 传感器默认流程。 本项目不会用到 RH-USB 传感器,因此拖出有关整个流程的框并将其删除。 此时该画布将变成空白。

Node-RED 屏幕左侧有几个节点。 它们是构建模块,用于在英特尔® NUC 设备上创建 Node-RED 应用。 就该应用而言,您将用到下表 1 中的节点。

表 1. 示例应用所用的节点

按下 Read 按钮LED 开/关指示器
测量亮度等级显示在英特尔® NUC 设备上的表格格式
测量旋转位置将数据发送至 IBM Watson 物联网平台
继电器打开/关闭将数据发送至 IBM Watson 物联网平台

 

在画布上拖动节点,并按图 1 所示排列。 部分节点将需要多个副本。 使用鼠标连接节点之间的线缆,如下所示。

注: 我们稍后才会用到 Watson 物联网节点,因此现在不必将它放在其中。

图 1. Node-RED 画布的节点排列

节点首次被放置于画布上时,处于默认状态。 运行之前必须进行配置。 为此,双击节点,然后设置配置面板中的参数。

双击画布上的节点,并按照下表 2 设置参数。 有些情况下,Name 字段保持空白(使用默认节点名称)。 针脚编号对应连接传感器和制动器的基座护罩插座。

表 2. 节点及其参数

节点参数
Grove 按钮
  • 平台: Firmata
  • 针脚: D4
  • 间隔时间(毫秒): 1000
Grove 灯光
  • 平台: Firmata
  • 针脚: A1
  • 单位: 原始值
  • 间隔时间(毫秒): 1000
Grove 旋转
  • 平台: Firmata
  • 针脚: 答2
  • 单位: 绝对原始值
  • 间隔时间(毫秒): 1000
Grove LED
  • 平台: Firmata
  • 针脚: D5
  • 模式: 输出

Grove 继电器(上)

  • 平台: Firmata
  • 针脚: D7
Grove 继电器(下)
  • 姓名: Grove 蜂鸣器
  • 平台: Firmata
  • 针脚: D6(可以使用该节点控制蜂鸣器)
连接至 Grove 的图表标签
  • 名称: 按钮
  • 类型: 状态文本
连接至 Grove 的图表标签
  • 名称: 灯光
  • 类型: 仪表
  • 单位: 原始值
连接至 Grove 的图表标签
  • 名称: 旋转
  • 类型: 仪表
  • 单位: 原始值
mqtt
  • 服务器:localhost:1883
  • 主题: /sensors
  • 名称: 图表

验证设置和线缆连接,然后单击 Deploy 部署更改并在英特尔® NUC 设备上激活这些更改。 部署完该流程后,应查看英特尔物联网网关开发中心顶部的数据显示,其中包含有关旋转、灯光和按钮的活跃值(图 2)。 打开旋转旋钮并覆盖灯光传感器会使数值上下变动;按下按钮会打开 LED、使蜂鸣器发出声音,并接通继电器的电源。

图 2. 在英特尔® 物联网网关开发中心部署的英特尔® NUC 设备

将数据发送至 IBM Watson* 物联网平台 Quickstart

接下来添加 IBM Watson* 物联网平台输出节点,并将数据发送至 IBM Watson* 物联网平台 Quickstart Quickstart 可帮助您以最少的设置快速将设备连接至 IBM Watson 物联网平台。 构建新物联网应用的前几步通常会用到该 Quickstart。

在英特尔® 物联网网关开发中心,将 Watson IoT 输出节点拖至画布。 当节点在画布上后,其名称将变成 IBM IoT Device。 连接 Grove Rotary 输出与 IBM IoT Device 输入之间的线缆。 双击画布上的 IBM IoT Device 节点,并按照图 3 设置参数,包括将 Name 设为 Watson IoT Quickstart。 Quickstart Id 自动生成;无需更改。

图 3.IBM IoT Device 参数

单击 Ok,然后单击 Deploy 为英特尔® NUC 设备部署更新数据流。 此时 Grove Rotary 传感器的数据值应每秒流向 Quickstart 一次。 如要查看 Quickstart 中的数据,双击画布上的 Watson IoT Quickstart 节点,然后单击 Quickstart Id 右侧的 Quickstart 链接 — 如图 3 中的 (1) 所示。 此举可在浏览器中打开 Quickstart 页面,并实时显示 Grove 旋转传感器数据(图 4)。 在任何方向调整旋转传感器,将能看到数据表上下变动。

图 4. IBM Watson* 物联网平台 Quickstart 中的 Seeed Studio Grove* - 旋转传感器数值

每个读取 Arduino 101 开发板生成的数据和英特尔® NUC 设备发送的数据的新传感器均显示在显示屏底部,同时显示的还有接收数据的时间。 这些数据应与您在英特尔® NUC 设备的英特尔® 物联网网关开发中心看到的相匹配。 您可以对比两个显示屏,验证数据流传输是否准确。

我们的未来目标

该应用为将 Arduino 101 开发板和英特尔 NUC 设备连接至 IBM Watson 物联网平台奠定了基础。 从此,您可以将其他传感器也连接至 Quickstart 以查看数据,然后迁移至 IBM Watson IoT Registered 模式,以构建更复杂的应用来保存、处理和显示传感器数据。

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.