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

传感器到云:将 Intel® Nuc 和 Arduino 101 主板连接到 IBM Watson IoT Platform

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2016年7月19日

CPOL

6分钟阅读

viewsIcon

8959

本文演示了如何使用 Intel® NUC (Next Unit Computing) 设备将 Arduino 101 板上的传感器连接到 IBM Watson IoT 平台。

获取新的 Intel® IoT Developer Kit,这是一个完整的软硬件解决方案,让开发者能够使用 Intel® Galileo 和 Intel® Edison 板创建激动人心的新解决方案。访问 Intel® Developer Zone for IoT

本文演示了如何使用 Intel® NUC (Next Unit Computing) 设备将 Arduino 101* 板上的传感器连接到 IBM Watson* IoT 平台。您将学习如何读取 Arduino 101 板的实时传感器数据,在 Intel® NUC 设备上本地查看这些数据,并将其发送到 IBM Watson IoT 平台,在那里数据可以在云端存储、可视化和处理。要完成所有这些操作,您将在 Intel® NUC 设备上使用 Node-RED 创建处理流,以执行驱动应用程序的输入、处理和输出功能。

设置和先决条件

在 Intel® IoT 网关开发者中心读取传感器并显示数据

通过在浏览器中输入 Intel® NUC 设备的 IP 地址并使用 **gwuser** 作为默认用户名和密码,登录到 Intel® NUC 设备的 Intel® IoT 网关开发者中心。您将看到关于 Intel® NUC 设备的基本信息,包括其型号、版本、以太网地址和网络连接状态。

单击 **Sensors** 图标,然后单击 **Manage Sensors** 打开 Node-RED* 画布,您将看到带有 RH-USB 传感器默认流程的 Sheet 1。本项目不使用 RH-USB 传感器,因此请框选整个流程并删除它。您将留下一个空白画布。

在 Node-RED 界面的左侧,您会看到一系列节点。这些是创建 Intel® NUC 设备上 Node-RED 应用程序的构建块。对于此应用程序,您将使用表 1 中显示的节点。

表 1. 示例应用程序中使用的节点

读取按钮按下 开关 LED 指示灯
测量光照强度 格式化 Intel® NUC 设备上的图表显示
测量旋转位置 将数据发送到 IBM Watson IoT 平台
继电器打开/关闭 将数据发送到 IBM Watson IoT 平台

将节点拖到画布上,并按图 1 所示进行排列。您将需要一些节点的多个副本。使用鼠标连接节点之间的连线,如图所示。

注意:您稍后将使用 Watson IoT 节点;现在不要包含它。

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

当您首次将节点放置在画布上时,它们处于默认状态。您必须配置它们才能使其正常工作。为此,请双击每个节点,然后在其配置面板中设置参数。

双击画布上的每个节点,并按表 2 所示设置其参数。在某些情况下,“Name”字段将留空(它将使用节点的默认名称)。引脚编号对应于连接传感器或执行器的 Base Shield 插槽。

表 2. 节点及其参数

节点 参数
Grove按键
  • Platform: Firmata
  • Pin: D4
  • Interval (ms): 1000
Grove Light
  • Platform: Firmata
  • Pin: A1
  • Unit: Raw Value
  • Interval (ms): 1000
Grove Rotary
  • Platform: Firmata
  • Pin: A2
  • Unit: Absolute Raw
  • Interval (ms): 1000
Grove LED
  • Platform: Firmata
  • Pin: D5
  • Mode: Output

Grove Relay (upper)

  • Platform: Firmata
  • Pin: D7
Grove Relay (lower)
  • Name: Grove Buzzer
  • Platform: Firmata
  • Pin: D6 (you can use this note to control the buzzer)
连接到 Grove 的图表标签
  • Title: Button
  • Type: Status Text
连接到 Grove 的图表标签
  • Title: Light
  • Type: Gauge
  • Units: RAW
连接到 Grove 的图表标签
  • Title: Rotary
  • Type: Gauge
  • Units: RAW
mqtt
  • Server: localhost:1883
  • Topic: /sensors
  • Name: Charts

验证您的设置和接线连接,然后单击 **Deploy** 来部署您的更改并使其在 Intel® NUC 设备上生效。部署流程后,您应该在 Intel® IoT 网关开发者中心的顶部看到数据显示,其中包含 Rotary、Light 和 Button 的实时值(图 2)。转动旋转旋钮并遮挡光传感器应该会使数字上下变化;按下按钮应该会打开 LED,发出蜂鸣声,并激活继电器。

图 2. 在 Intel® IoT 网关开发者中心中部署的 Intel® NUC 设备

发送数据到 IBM Watson* IoT Platform Quickstart

接下来,添加一个 IBM Watson* IoT Platform 输出节点,并将您的数据发送到 IBM Watson IoT Platform Quickstart。Quickstart 允许您快速连接设备到 IBM Watson IoT Platform,只需最少的设置。它通常在构建新的物联网应用程序的初期阶段使用。

在 Intel® IoT 网关开发者中心,将一个 **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** 将更新后的流程部署到 Intel® NUC 设备。此时,您的 Grove Rotary 传感器的每秒数据值应该会流向 Quickstart。要在 Quickstart 中查看数据,请双击画布上的 **Watson IoT Quickstart** 节点,然后单击 **Quickstart Id** 右侧的 Quickstart 链接(图 3 中的 (1))。这样做会在您的浏览器中打开 Quickstart 页面,您的 Grove Rotary 数据将显示在实时显示中(图 4)。向任一方向调整旋转传感器,您应该会看到数据图表上下变化。

图 4. IBM Watson* IoT Platform Quickstart 中 Seeed Studio Grove* - Rotary 传感器的值

Arduino 101 板生成的每个新传感器读数,以及 Intel® NUC 设备发送的读数,都会显示在显示屏的底部,以及接收到数据的时间。这些值应该与您在 Intel® NUC 设备的 Intel® IoT 网关开发者中心看到的值相匹配。您可以比较这两个显示来验证数据是否正常流动。

后续步骤

此应用程序为将 Arduino 101 板和 Intel NUC 设备连接到 IBM Watson IoT Platform 提供了一个基础。从这里开始,您通常会将其他传感器连接到 Quickstart 以检查其数据,然后转到 IBM Watson IoT Registered 模式,以构建更复杂的应用程序来存储、处理和可视化您的传感器数据。

© . All rights reserved.