【发布时间】:2016-06-09 16:52:45
【问题描述】:
我正在 IBM Bluemix 中试验 IoT 服务,参加 a running MOOC at Coursera。我已经设置了我的试用帐户并成功注册了一些设备。我正在使用 Bluemix 中的以下简单 Node-RED 流测试 Bluemix 和我的 Raspberry Pi 之间的连接:
其中normal和alert是各自字符串的简单注入节点,format message节点同样简单(返回msg,其中msg.payload = {'a' : {'indicator' : msg.payload}};,IBM IoT节点如下:
senseHAT 设备已注册并成功连接到 Bluemix,从 Watson IoT Platform 仪表板可以看出:
在 Raspberry 方面,我设置了以下简单流程来捕获 Bluemix 中发出的“命令”(normal 和 alert):
all commands 节点如下:
现在,虽然“命令”normal 和 alert 从 Bluemix 传递到我的 Raspberry,但我不断收到主题错误消息,如下所示(注意时间戳):
并且在 Node-RED 控制台中记录了类似的错误消息(每分钟一次):
Connection Error :: Error: Connection refused: Not authorized
9 Jun 19:41:19 - [error] IBMIoT: Error: Connection refused: Not authorized
Iotfclient is offline. Retrying connection
Connection was closed.
我想知道怎么可能,一方面让“命令”通过,另一方面每分钟收到一条错误消息,声称我没有连接,因为我的设备未经授权。
有什么想法吗?
附注(以及可能有用的附加信息):
- 在 Watson IoT Platform 仪表板中按“刷新”,senseHAT 设备似乎已断开连接;刷新整个页面(即从浏览器中),它再次显示为已连接
- 无论我尝试了什么,我都无法连接上面显示的其他两个设备(
b827eb0a0ee8和b827eb5f5bbd) - 我什至尝试在 Bluemix 中删除并重新注册它们...
【问题讨论】:
-
补充说明:1. 这是一个已知问题,已在计划 2 中修复。b827eb0a0ee8 是一个设备,但您在尝试连接时使用的是网关客户端 ID (g:e7u2kv:raspberry:b827eb0a0ee8 应为 d:e7u2kv:raspberry:b827eb0a0ee8,同样,b827eb5f5bbd 是网关,但您使用的是设备客户端 ID (d:e7u2kv :raspberryGW:b827eb5f5bbd 应该是 g:e7u2kv:raspberryGW:b827eb5f5bbd)
标签: raspberry-pi ibm-cloud node-red watson-iot