位置更新
在阅读本部分之前,必须完成本系列的第 1 部分。
在这一步中,我们将更新 Raspberry Pi 网关和 Arduino Uno 设备的位置。
网关和设备可在其位置发生更改时将它们更新到 Watson IoT Platform。网关可从 GPS 接收器检索其位置,并向 IoT Platform 发送设备管理消息来更新它的位置。请参阅 文档 ,了解位置更新的更多信息。
向 IBM Watson IoT Platform 更新网关的位置
- 在控制台中键入“ location gateway ”,向 IBM Watson IoT Platform 更新网关位置信息:
location gateway
- 可以观察到,该示例将网关的随机位置发送到了 Watson IoT Platform。
- 修改后的网关位置可使用 Watson IoT Platform API 进行检索,在以下 ReST URI 上通过您之前获得的 API 密钥和身份验证令牌发出 GET 命令,并选择 Accept: application/json
作为标头。
https://coi0nz.internetofthings.ibmcloud.com/api/v0002/device/types/iotsample-gwtype/devices/Gateway01/location
(使用您的组织 ID、网关设备类型和网关设备 ID 修改 URI)
- 可以观察到,此处返回了网关位置。使用 REST Client 插件获取位置检索的示例屏幕截图。
将 Arduino Uno 设备的位置更新到 IBM Watson IoT Platform
- 在控制台中键入“ location device ”,将 Arduino Uno 位置信息更新到 IBM Watson IoT Platform。
- 可以观察到,该示例将一个随机位置发送给了 Watson IoT Platform。
- 与网关类似,可在 ReST URI 中指定 Arduino Uno 的设备细节来检索设备 Arduino01 的经过修改的位置。
在这一步中,我们已经成功地将网关和 Arduino Uno 设备的位置更新到 IBM Watson IoT Platform。
诊断:日志
在这一步中,我们将更新 Raspberry Pi 网关和 Arduino Uno 设备的诊断日志信息。
网关可以代表连接到它的设备和它自己将日志信息更新到 Watson IoT Platform。这些信息是设备的本地日志消息,没有提供与连接到 IBM Watson IoT Platform 的设备相关的诊断信息。例如,网关或设备可以使用日志消息向应用程序告知固件下载/更新进度。请参阅 文档 ,了解日志更新的更多信息。
将网关日志消息附加到 IBM Watson IoT Platform
- 在控制台中键入“ log gateway ”来生成网关的模拟日志消息:
log gateway
- 可以观察到,该示例向 IBM Watson IoT Platform 添加了此网关的一条随机日志消息。
- 可在 IBM Watson IoT Platform 仪表板中查看日志消息,也可以转到以下部分查看相同信息:
- 启动 IBM Watson IoT Platform 仪表板
- 单击 DEVICES 选项卡
- 单击 Diagnose 选项卡
- 单击相应的网关
- 向下滚动来查看诊断日志
将 Arduino Uno 日志消息附加到 IBM Watson IoT Platform
- 在控制台中键入“ log device ”,为 Arduino Uno 设备生成一条模拟的日志消息。
- 要查看日志消息,可转到 IBM Watson IoT Platform 仪表板,对网关执行上述类似步骤。
在这一步中,我们已经成功地将 Raspberry Pi 网关和 Arduino Uno 设备的诊断日志消息更新到 IBM Watson IoT Platform。
诊断:错误代码
在这一步中,我们将更新 Raspberry Pi 网关和 Arduino Uno 设备的诊断错误代码。
网关和设备可以选择向 Watson IoT Platform 设备管理服务器告知其错误状态的改变。请参阅 文档 ,了解如何添加或清除错误代码的更多信息。
将网关错误代码附加到 IBM Watson IoT Platform
- 在控制台中键入“ errorcode gateway ”,为网关生成模拟的错误代码:
errorcode gateway
- 可以观察到,该示例向 IBM Watson IoT Platform 添加了此网关的一个随机错误代码。
- 可在 IBM Watson IoT Platform 仪表板中查看错误代码,也可以转到以下部分查看相同的信息:
- 启动 IBM Watson IoT Platform 仪表板
- 单击 Devices 选项卡
- 单击 Diagnose 选项卡
- 单击相应的网关
- 向下滚动来查看错误代码
将 Arduino Uno 错误代码附加到 IBM Watson IoT Platform
- 在控制台中键入“ errorcode device ”,为 Arduino Uno 设备生成模拟的错误代码。
- 要查看 Arduino Uno 的错误代码,可转到 IBM Watson IoT Platform 仪表板,对网关执行上述类似步骤。
在这一步中,我们已经成功地将 Raspberry Pi 网关和 Arduino Uno 设备的错误代码更新到 IBM Watson IoT Platform。
取消管理
离开托管状态
- 键入“ unmanage ”,从管理活动中删除网关和 Arduino Uno 设备:
unmanage
- 可以观察到,网关和设备现在变为非托管设备,且无法参加管理活动,但它们可以继续发布设备事件和订阅应用程序命令。
- Watson Internet of Things Platform 不再向 Raspberry Pi 网关和 Arduino Uno 设备发送新设备管理请求。另外,来自这些设备的设备管理请求也会遭到拒绝,‘ Manage device ’请求除外。请参阅 文档 ,了解解除管理操作的更多信息。
在这一步中,我们已经成功地将网关和设备从托管状态转变为非托管状态。
结束语
在本文中,我们演示了如何使用 Java Client Library for IBM Watson IoT Platform IoT Platform 实现网关设备管理支持。开发人员可以查看 Github 存储库 中提供的代码来了解幕后发生的事情。开发人员可以将本文视为 IBM Watson IoT Platform 中的任何网关设备管理示例开发的模板。
后续操作
- 请查阅 IBM Watson IoT Real-Time Insights 秘诀 ,帮助在来自 IoT 设备的实时数据上执行分析并获得诊断洞察。尽管这篇文章是为分析车辆数据而编写的,但它可以作为从任何 IoT 数据获取洞察的模板。
- 查阅Node-RED 秘诀,学习如何将设备事件接收到 Node-RED 应用程序中。
- 浏览developerWorks 秘诀中提供的各种教程,了解如何将特定的设备连接到 IBM Watson IoT Platform,可视化来自这些设备的事件,使用应用程序控制、处理和分析这些设备事件。
- 浏览各种 IBM Watson IoT 编程指南 ,开发您自己的设备、网关或应用程序代码 – 有多个客户端库可用于 Watson Internet of Things Platform。这些客户端库的设计允许用户使用他们最喜欢的语言与他们的设备、网关和应用程序进行交互,并尽可能地简化此交互。
(本文的 4 个部分中的图都是使用 Fritzing.org 和 draw.io 制作的。)
原文 http://www.ibm.com/developerworks/cn/iot/blog/iot-raspberry-pi-as-managed-gateway-in-watson-iot-platform-part-4/index.html?ca=drs-