随着物联网(IoT)技术的快速发展,越来越多的开发者开始利用Intel® Galileo和Intel® Edison等开发板来创造令人兴奋的新解决方案。本文将演示如何使用Intel® Next Unit Computing (NUC)设备将Arduino 101*板上的传感器连接到IBM Watson*物联网平台。在这个过程中,将学习如何从Arduino 101板读取实时传感器数据,如何在Intel® NUC设备上本地查看这些数据,以及如何将数据发送到IBM Watson物联网平台,以便在云端进行存储、可视化和处理。所有这些操作都将通过在Intel® NUC设备上使用Node-RED来创建处理流程,实现输入、处理和输出功能,从而驱动应用程序。
要开始这个项目,需要以下设备和软件:
要连接Intel® IoT网关到IBM Watson*物联网平台,需要了解以下内容:
首先,通过在浏览器中输入Intel® NUC设备的IP地址,并使用gwuser作为默认用户名和密码登录到Intel® NUC设备的Intel® IoT网关开发中心。登录后,将看到Intel® NUC设备的基本资料,包括型号、版本、以太网地址和网络连接状态。
点击“传感器”图标,然后点击“管理传感器”以打开Node-RED*画布。将看到带有RH-USB传感器默认流程的Sheet 1。由于本项目不使用RH-USB传感器,因此可以将其整个流程框选并删除,留下一个空白画布。
在Node-RED屏幕的左侧,将看到一系列节点。这些是创建Intel® NUC设备上Node-RED应用程序的构建块。对于本应用程序,将使用表1中所示的节点。
节点 | 功能 |
---|---|
Grove Button | 读取按钮按下的次数 |
Grove Light | 测量光强度 |
Grove Rotary | 测量旋转位置 |
Grove LED | 开/关LED指示灯 |
Grove Relay | 继电器开/关 |
chart | 在Intel® NUC设备上格式化图表显示 |
mqtt | 发送数据到IBM Watson IoT平台 |
将节点拖到画布上,并按照图1所示进行排列。可能需要一些节点的多个副本。使用鼠标将节点之间的线连接起来。
当第一次将节点放置在画布上时,它们处于默认状态。在它们工作之前,必须对它们进行配置。为此,双击每个节点,然后在它们的配置面板中设置参数。
双击画布上的每个节点,并按照表2所示设置其参数。在某些情况下,名称字段留空(它使用节点的默认名称)。引脚编号对应于连接到传感器或执行器的Base Shield插孔。
节点 | 参数 |
---|---|
Grove Button | 平台: Firmata引脚: D4间隔(ms): 1000 |
Grove Light | 平台: Firmata引脚: A1单位: 原始值间隔(ms): 1000 |
Grove Rotary | 平台: Firmata引脚: A2单位: 绝对原始间隔(ms): 1000 |
Grove LED | 平台: Firmata引脚: D5模式: 输出 |
Grove Relay (上) | 平台: Firmata引脚: D7 |
Grove Relay (下) | 名称: Grove Buzzer平台: Firmata引脚: D6 |
chart | 标题: 按钮类型: 状态文本 |
chart | 标题: 光类型: 仪表单位: RAW |
chart | 标题: 旋转类型: 仪表单位: RAW |
mqtt | 服务器: localhost:1883主题: /sensors |
验证设置和接线连接,然后点击“部署”以部署更改,并使它们在Intel® NUC设备上生效。部署流程后,应该会在Intel® IoT网关开发中心的顶部看到一个数据显示,显示Rotary、Light和Button的实时值(图2)。转动旋转旋钮和覆盖光传感器应该会使数字上下变化;按下按钮应该会使LED灯亮起,蜂鸣器发声,并激活继电器。
接下来,添加一个IBM Watson* IoT平台输出节点,并将数据发送到IBM Watson IoT平台快速入门。快速入门允许快速且最小化设置地将设备连接到IBM Watson IoT平台。它通常用于构建新的物联网应用程序的最初步骤。
在Intel® IoT网关开发中心,将一个“Watson IoT”输出节点拖到画布上。当节点在画布上时,其名称会更改为“IBM IoT Device”。从“Grove Rotary”的输出连接到“IBM IoT Device”的输入。双击画布上的“IBM IoT Device”节点,并按照图3所示设置其参数,包括将“名称”设置为“Watson IoT Quickstart”。快速入门ID是自动生成的;不需要更改它。