Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

使用 IBM Watson* 物联网平台以及英特尔® 物联网设备和网关

$
0
0

将物联网 (IoT) 设备(支持英特尔® Edison 开发板、英特尔® Curie™ 计算模块和英特尔® 物联网网关等英特尔微控制器的设备)连接至 IBM Watson* 物联网平台时,您可以快速构建物联网应用,以实现您的物联网用例。 本文将指导您连接至 Watson 物联网平台环境。

IBM Watson* 物联网平台和 IBM Bluemix*

Watson* 物联网平台是一项完全由云托管的服务,有助于轻松发挥物联网设备的价值。 该平台提供设备管理功能和数据收集与管理功能(以时间序列格式)。 作为 IBM 平台即服务产品的一部分,IBM Bluemix* 可支持您使用 Watson 物联网平台,借助 Bluemix 中提供的服务目录快速构建物联网应用。 您可以选择各种物联网应用选项,包括存储服务、规则、分析服务、数据流分析、机器学习、虚拟化和用户应用(Web 或移动)。 您还可以通过使用 Bluemix 中提供的服务,将认知功能嵌入至物联网应用。

通信战略

IBM Watson* 物联网平台支持 MQ 遥测传输 (MQTT) 协议,它是英特尔或其他物联网设备与 IBM Watson 物联网平台之间进行通信的基础。 MQTT 是基于发布-订阅模式、以信息为导向的轻量级中间件。 该协议专为涉及小数据空间的机器对机器通信而设计。 发布-订阅模式依靠消息代理,根据消息主题传达相关客户端之间的交互。 客户端可作为订阅者,使用主题的消息,也可作为发布者,向相应主题发送消息。 在物联网环境下,物联网设备通过 TPC 连接至中央 MQTT 代理,以收发消息。 MQTT 广泛用于资源有限、可能遭遇高带宽问题的设备和网络。 更多 MQTT 详情请参阅物联网网关协议对比: MQTT 和 Modbus

Watson 物联网平台可提供设备客户端库,以简化设备与平台的连接过程。 客户端库通过 Python*、Java*、嵌入式 C、Node.js* 和 C# 编程语言提供。 更多客户端库应用编程接口 (API) 详情,请参阅 IBM 文档和参考资料

将英特尔设备连接至 Watson 物联网平台的另一种方法是使用开源 Eclipse* Paho MQTT 库,它可提供 MQTT 客户端实施。 使用 Paho 时,需要获取支持的 Paho MQTT 库,例如面向 Windows* 10 设备的 Microsoft .Net 或面向设置该语言的设备的 C 客户端。

图 1 演示了英特尔物联网设备如何与 Watson 物联网平台通信。

Intel IoT Devices
图 1. 通过 MQ 遥测传输协议将英特尔® 物联网 (IoT) 设备连接至 IBM Watson* 物联网平台

 

将英特尔® Edison 开发板连接至 Watson 物联网平台

将英特尔® Edison 开发板连接至 Watson* 物联网平台时,可以选择使用 Watson 物联网平台提供的 C、C++、JavaScript* 或 Java 库。 您还可以直接使用 Paho MQTT 库将设备连接至 Watson 物联网平台。

开发和调试设备代码时,可以下载编程环境所需的集成开发环境 (IDE)。 例如,您可以下载适用于 JavaScript 的英特尔® XDK IoT Edition、适用于 C 和 C++的英特尔® System Studio IoT Edition适用于 Java 的英特尔 System Studio IoT Edition、或支持为英特尔® Edison 开发板和 Arduino 技术编程的 Arduino* IDE。 然后将所需的 Watson 物联网平台 API 或 MQTT 库导入到代码中,以连接至 Watson 物联网平台并向其发送数据(即传感器数据)。

英特尔提供 libmraa 库,以支持与开发板上的传感器和致动器进行交互。 该库可在支持的硬件顶部提供抽象层,以便您以标准的方式读取传感器和致动器的数据,并创建可用于不同支持平台的便携式代码。

传感器数据读取后,将通过支持网络的 MQTT 协议传输至 Watson 物联网平台。 通常将数据转化为 JavaScript Object Notation 等格式,而不是使用设备客户端库通过 MQTT 发送原始数据。 设备可通过 Wi-Fi 或以太网连接直接连接至互联网或 Watson 物联网平台,还可以首先连接至英特尔网关,然后连接至 Watson 物联网平台。

连接至 Watson 物联网平台时,必须通过 Watson 物联网平台注册设备。 注册后,您将收到一个组织 ID - 由 6 个字符组成的唯一的账户标识符 Watson 物联网平台组织看上去就像是一个域,其中数据只能通过设备和应用访问。 注册设备后,设备和 API 密钥将绑定至该组织。 使用 API 密钥将应用连接至 Watson 物联网平台时,该连接向“拥有”该 API 密钥的组织注册。 这种组合可以使设备和应用成为相同组织的一部分,从而相互通信。 如欲了解有关设备注册说明详情,请参阅如何在 IBM IoT Foundation 中注册设备

将英特尔® Curie™ 计算模块连接至 Watson 物联网平台

英特尔® Curie™ 计算模块是采用英特尔® Quark™ 处理器的系统芯片。 它能够为可穿戴设备,以及消费类和工业级前沿产品提供专门设计的完备的低功耗解决方案。 英特尔® Curie™ 计算模块配备了内置 6 轴组合传感器和蓝牙*低能耗(蓝牙 LE)无线电和低功耗使用模式,非常适合于健康和健身监控器等“始终在线”项目。

开始构建原型和开发应用时,您可以使用随英特尔® Curie™ 计算模块发运的 Arduino 101*/Genuino 101* 开发板。 Arduino* IDE 支持编写程序(在 Arduino 中称为 sketch)以读取传感器的数值。 然后使用支持的网络通过 MQTT 将传感器数据传输至 Watson* 物联网平台。 英特尔® Curie™ 计算模块支持蓝牙 LE。一种方案是通过蓝牙将英特尔® Curie™ 计算模块连接至智能手机,将智能手机的蜂窝或 Wi-Fi 连接用作中枢,以连接至互联网。 英特尔® Curie™ 计算模块提供专用蓝牙 LE 库,从而有助于更轻松与其他支持蓝牙的设备通信(阅读英特尔® Curie® 蓝牙参考指南了解更多详情)。 另一种方案是通过蓝牙将英特尔® Curie™ 计算模块连接至英特尔网关;然后将网关连接至 Watson 物联网平台。 当然还有其他的方案,比如将 Wi-Fi 护罩用于 Arduino101 开发板以支持直接将该开发板连接至互联网。 网络战略的选择取决于您的使用案例和最终产品的用法。

注:请随时关注英特尔® System Studio 了解微控制器,这款基于 Eclipse 的软件套件可简化开发过程,并帮助您借助英特尔 Curie 模块创建炫酷的消费类和工业解决方案。

将英特尔网关连接至 Watson* 物联网平台

如果由于协议不兼容问题或要求通过中央实体传输设备的现有数据以满足不同需求,设备无法直接连接至 Watson* 物联网平台,此时要求采用英特尔网关。 常见需求包括过滤边缘数据、将相关数据传输至 Watson 物联网平台、执行本地分析以获取实时洞察,或确保网络安全与合规性。

协议不兼容问题常见于连接和集成传统工业设备的过程,或通常使用 ZigBee* 或 Z-Wave* 等协议的家庭自动化设备(比如智能建筑协议)。 采用英特尔网关设备可支持您将这些智能设备连接至网关,并使用这些设备支持的协议收集数据。 然后网关使用云平台支持的协议将数据传输至云。

Watson* 物联网英特尔设备方案

如欲将英特尔物联网设备连接至 Watson* 物联网平台,IBM 提供一套方案(运行代码和文档),作为 IBM developerWorks* 方案社区的一部分。 以下方案目前可供英特尔物联网设备使用:

借助 Watson* 物联网平台和 Bluemix* 构建物联网应用

当设备数据可用于 Watson* 物联网平台时,您可以开始查看数据。 设备数据以相应的主题提供,以支持使用,而应用(即 Bluemix* 服务)可订阅主题以使用设备数据。 例如,您可以创建 Node-RED Bluemix 服务,以在消息到达相应主题时调用。 在 Node-RED 服务中,您可以根据要求创建应用流以调用其他 Bluemix 服务(比如可保存设备数据的 MongoDB*)、创建规则以使用规则服务过滤和处理数据,并调用 IBM SPSS* 机器学习服务以分析数据和预测结果。 最后,您还可以使用 IBM 推送通知服务向移动设备发送通知。

总结

本文为您介绍了如何将英特尔物联网设备连接至 Watson* 物联网平台。 数据提供给 Watson 物联网平台后,您可以通过编写相应的 Bluemix* 服务以使用该数据并快速构建物联网应用,从而实现您的物联网使用案例。


Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>