转载

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

在物联网 (IoT) 的演变过程中,可穿戴设备是发展最快的细分类别之一。可穿戴计算可能具有多种形式,比如手表、健康手环、眼镜,甚至是衣服。在我们生活的这个激动人心的时代里,可穿戴设备使技术能够以大型计算设备和智能电话以前无法做到的方式融入到生活中。

只有设计者的想象力才会限制可穿戴设备的潜在使用和应用。本教程介绍了将一个启用了蓝牙的可穿戴设备工具包连接到一个混合移动应用程序,并将传感器数据发送到 IBM Internet of Things Foundation (IoT Foundation) 云中的基本过程。在传感器数据到达 IoT Foundation 后,可以使用 IBM Bluemix 根据收集到的传感器数据来触发各种流程。

基本方法

可穿戴设备和安全性

安全性是采用 IoT 技术时的一个关键问题,它是本系统和教程的设计的一个重要考虑因素。选择一个支持安全特性的开发和生产平台非常重要。

图 1 显示了一种可用于设计与云通信的可穿戴设备应用程序的典型架构方法。跟踪可穿戴设备有许多跟踪和报告个人行为的特性 — 一般通过与智能电话或平板电脑设备通信来显示状态和报告数据。随着可穿戴设备的技术和市场的不断增加,将此数据传输到其他服务的需求也在增长。此架构方法只是用于将来自可穿戴设备的传感器数据传输到云中来处理的多种方法之一。

图 1. 可穿戴设备与云的通信架构

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

回页首

可穿戴设备硬件选择

如今的用户可穿戴设备市场正在蓬勃发展,存在不同类型的设备。通常,从可穿戴设备到智能设备(比如智能电话或平板电脑)的低功耗通信的方法,可以准确地检测用户每天可能参与的各种类型的活动。设备数据收集的质量和准确性高度依赖于设备内包含的传感器的数量和类型。这种依赖性为可穿戴设备开发人员带来了棘手的平衡工作,他们必需平衡形状规格、处理能力、电池寿命和有吸引力的用户界面。

WICED Sense Development Kit 简介

从廉价和 DIY 角度看,来自 Broadcom 的 WICED Sense Development Kit 是不断扩张的 IoT 世界的一个价格合理的切入点。该工具包是一种适合工程师、创建小工具的人、喜欢 DIY 的人和设计可穿戴设备用例原型的企业家的设备选择。

WICED(发音为 wicked )表示 Wireless Internet Connectivity for Embedded Devices(嵌入式设备无线互联网连接),该工具包包含一个蓝牙低功耗 (BLE) 主板和 5 个传感器(电子罗盘、压力、湿度和温度、陀螺仪和加速计),使用了一个 2032 纽扣电池进行供电。主板、传感器和电池封装在一个坚固的塑料盒子中(参见图 2)。这些特征(与一种小形状规格相结合)使得 WICED Sense 工具包成为了一种有吸引力的试验选择。出于本教程的目的,我们使用 WICED Sense 工具包来充当您的 可穿戴设备 。接下来,查看如何将 WICED Sense 可穿戴设备连接到一个混合移动应用程序。

图 2. 来自 Broadcom 的 WICED Sense Development Kit

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

回页首

需要做的准备工作

您需要准备一些东西,才能继续阅读本教程:

  • 一个 Broadcom WICED Sense Development Kit 。可使用其他传感器标记工具包,但本教程主要使用 WICED Sense。
  • Apache Cordova 3.6.3 或更高版本。
  • 一个具有 BLE 功能的智能设备(智能电话或平板电脑)。本教程使用了一个运行 Android 4.4 的 Android 平板电脑(拥有 BLE 功能)。
  • 一个 IBM Bluemix 帐户,以便您可使用 IBM IoT Foundation 和 Node-Red。您可以使用免费的 Bluemix 试用版。

参见下载,获取本教程的源代码。

回页首

将您的可穿戴设备与一个混合应用程序相连接在一起

首先,为了读取从您的 WICED Sense 可穿戴设备上的传感器收集的数据,可以使用 Apache Cordova 创建一个混合应用程序。该混合应用程序在您启用了 BLE 的智能设备上运行,并与 WICED Sense 工具包相连接。完成连接后,您的混合应用程序可从 WICED Sense 工具包上的传感器读取所有读数,并将它们发送到 IoT Foundation 云。

下载混合应用程序源代码,并将这个压缩文件解压到您选择的一个文件夹中(例如 WICED-Sense-IoT)。您所需要的工件都已提供,除了两个文件: easy-ble.js 和 mqttws31.js ;现在,从这里提供的链接下载它们。将 easy-ble.js 和 mqttws31.js 放在应用程序的 lib 文件夹中。

这个混合应用程序组织为以下文件和文件夹:

  • index.html :主要应用程序 HTML 文件。它控制了其他 JavaScript 库文件的加载并提供 UI。
  • common.css :包含应用程序需要的所有级联样式表 (CSS) 标记。
  • lib/easy-ble.js :用于简化与 BLE 设备的连接的 JavaScript 库。由 Evothings 提供。
  • lib/mqttws31.js :该 JavaScript 库使客户端能够使用 MQTT V3.1 协议连接到一个支持 MQTT 的消息服务器。您可以使用它连接到 IBM IoT Foundation。
  • lib/WICED-Sense.js :用于与 WICED Sense 工具包连接的 JavaScript 库。
  • lib/iotFoundation.js :该 JavaScript 库简化了与 MQTT 协议的交互和与 IBM IoT Foundation 的连接。

在开始自定义混合应用程序之前,请转到 IBM Bluemix,以便可以注册新的 WICED Sense 可穿戴设备。通过这么做,WICED Sense 设备能够在连接到混合应用程序后将传感器数据发送到云。

进入 IBM Bluemix

访问 Bluemix ,如果还没有帐户,则应创建一个免费试用帐户。登录到 Bluemix。现在设置一个新的 Node-RED 应用程序,然后您就可以建立一个 IoT Foundation 服务:

  1. 在 Bluemix 仪表板中,单击 CREATE AN APP 并选择 WEB 作为类型。
  2. 选择 Browse Sample Apps ,单击 EXPLORE SAMPLES ,然后从 Boilerplates 类别选择 Node-RED Starter
  3. 在右侧的 Create an app 对话框中,为应用程序提供一个惟一名称(比如 developerWorks-App )并单击 CREATE
  4. 您的 Node-RED 应用程序现在已准备就绪。在仪表板中,单击 ADD A SERVICE
  5. 向下滚动到 Internet of Things 并单击它来添加服务。
  6. 在右侧的 Add Service 对话框中,确保已在 App: 字段中选中您的 Node-RED 应用程序。您可以选择 Free 作为 Selected Plan。单击 CREATE
  7. 如果提示您重新呈现您的应用程序,请单击 RESTAGE

您的应用程序仪表板现在类似于图 3。

图 3. Bluemix 仪表板

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

在 IoT Foundation 中设置 WICED Sense 工具包

仅供参考

连接已注册的设备 包含针对 IoT Foundation 来改进您自己的设备的更多信息。

借助绑定到您的 Bluemix 应用程序的物联网服务,您可以轻松触发来自一个设备的数据流。但是,您首先必须注册自己的 WICED Sense 设备。截至撰写本文时,WICED Sense 设备不是 IoT Foundation 中正式的 “秘诀”,所以您需要 即兴表演 ,自行添加该设备:

  1. 在 Bluemix 仪表板中,单击 Internet of Things 服务,然后单击 LAUNCH
  2. 在 IBM Internet of Things Foundation 仪表板中,单击 Add Device 链接。
  3. 在 Register Device 表格中,Device Type 被设置为 Create a Device Type 。在紧挨 Device Type 框下方的文本框中,键入 WICED-Sense
  4. 在 Device ID 文本框中,可以输入任何惟一标识符(比如 8675309 )。以后会需要使用此标识符,所以一定要记下它。单击 Continue
  5. 下一页显示了您新注册的 WICED Sense 设备的重要凭据。将此信息复制到一个文本文件中来安全地保存它,然后单击 Done

回页首

返回到混合应用程序

目前为止,您已经:

  • 创建了一个 Bluemix Node-RED 应用程序
  • 将这个 Node-RED 应用程序与 IoT Foundation 绑定在一起
  • 在 IoT Foundation 内注册您的 WICED Sense 工具包

现在,可以将注意力返回到您的混合应用程序。首先将一些您从 IoT Foundation 生成的值插入到混合应用程序中,以便它们可彼此通信:

  1. 在您的本地文件系统上,导航到混合应用程序源文件解压到的地方。
  2. 在文本编辑器中,打开 lib/iotFoundation.js 文件。
  3. 在第 17 行左右,一条注释会告诉您输入您在注册 WICED Sense 设备后从 IoT Foundation 收到的凭据信息。
  4. 输入以下值: CLIENT_IDORG_IDIOT_URL 的第一部分和 IOT_PASS
  5. 保存任何修改的代码。

构建您的 Cordova 应用程序

读取和处理 WICED Sense 可穿戴设备传感器数据的最后一个任务是,构建您的混合应用程序,将它部署到智能设备上并进行测试。您可以使用 Apache Cordova 创建和实现许多东西。出于本教程的目的,我仅介绍如何构建该应用程序。

在安装 Apache Cordova 后,打开一个命令窗口并执行以下步骤:

  1. 键入 cordova create project-folder app-identifier app-name (例如: cordova create dw-project com.developerWorks.wiced WicedSenseApp )。
  2. 更改到您的项目目录:
    cd dw-project
  3. 从项目文件夹内,删除 www 文件夹中的文件。
  4. 将来自混合应用程序项目的所有文件移动或复制到 www 文件夹中。
  5. 添加 Evothings BLE 插件:
    cordova plugin add com.evothings.ble
  6. 通过键入以下命令,添加您想要针对其构建应用程序的平台:
    cordova platform add ios cordova build ios
    cordova platform add android Type: cordova build android
  7. 将代码部署到合适的设备并执行测试。

您现在有一个在具有 BLE 功能的智能设备上运行的混合应用程序了,而且可以将该应用程序绑定到您的 WICED Sense 工具包。在智能设备上运行该混合应用程序时,它看起来类似于图 4。

图 4. 混合应用程序

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

回页首

测试您的混合应用程序

运行混合应用程序后,可以启动您的 WICED Sense 标签。在智能设备检测到 WICED Sense 标签后,就会看到应用程序的 Status 显示 Sensors online 。该混合应用程序还使用了智能设备的网络连接,打开了一个与 IBM IoT Foundation 的连接。最后,WICED Sense 传感器数据在屏幕上显示为一系列数字。在您移动 WICED Sense 标签时,这些数字也会发生改变。

可穿戴设备与云计算的演变

随着新一代的可穿戴传感设备与智能设备的进一步结合,快速管理生成的大量传感器数据成为了一个设计考虑因素。处理和管理此数据,以便得到准确的、有意义的信息的模型,这些正在改变我们以前所认识的云计算。智能设备可在混合应用程序中获得更多智慧,有助于对各种类型的数据进行编组,最终过滤和组合数据,生成可传输到云来进一步处理的 “信息”。

该混合应用程序已被编码:在它感知到 WICED Sense 标签在移动时,就会向 IoT Foundation 发送一个 移动 事件。移动被定义为 WICED Sense 标签持续 6 秒以上的不断移动。作为测试,在您的 WICED Sense 标签中装上电池。当混合应用程序检测到它时,在您的手中移动 WICED Sense 标签六七秒。在该应用程序中,可以观察到 Are You Moving? 状态从 false 更改为 true

随着移动状态切换为 true,一个移动事件就会发送到 IoT Foundation Cloud。现在,拿着该 WICED Sense 标签在六七秒内尽可能保持静止,可以观察到 Are You Moving? 状态被还原回 false 。移动状态切换回 false 后,会向 IoT Foundation 云发送另一个事件。重复这些操作,以便继续向 IoT Foundation 发送事件。要查看这些事件,可以查看 IoT Foundation Devices 仪表板(如图 5 所示),从您的 IBM Bluemix 仪表板访问它。

图 5. IoT Foundation Devices 视图

使用 IBM IoT Foundation 和 IBM Bluemix 构建自己的可穿戴设备应用程序

回页首

结束语

现在您已拥有传递到 IoT Foundation 的传感器数据,您可轻松地创建一个 Node-RED 应用程序来处理传入的移动数据。例如,您可发送一个 SMS 提醒,将数据写入到数据库,或者发起任意多个其他操作。

此外,您可以更改该代码,以便在 WICED Sense 工具包中的不同传感器上运行。本教程使用了陀螺仪来检测移动。您还可以使用本教程的代码从其他传感器(比如温度或湿度传感器)获取读数,并根据这些读数来触发事件。

回页首

下载

描述 名字 大小
本教程的源代码 WICED-Sense-dW.zip 8KB
正文到此结束
Loading...