首页 文章

IBM Bluemix:设备已连接,但'IBMIoT: Error: Connection refused: Not authorized'消息不断弹出

提问于
浏览
0

我正在IBM Bluemix中试验IoT服务,参加a running MOOC at Coursera . 我已经设置了试用帐户并成功注册了一些设备 . 我正在使用Bluemix中的以下简单Node-RED流测试Bluemix和我的Raspberry Pi之间的连接:

enter image description here

其中 normalalert 是各个字符串的简单注入节点, format message 节点同样简单(返回 msg ,其中 msg.payload = {'a' : {'indicator' : msg.payload}};IBM IoT 节点如下:

enter image description here

senseWAT设备已注册并成功连接到Bluemix,从Watson IoT Platform仪表板可以看出:

enter image description here

在Raspberry方面,我设置了以下简单流程来捕获Bluemix中发布的'commands'( normalalert ):

enter image description here

all commands 节点如下:

enter image description here

现在,虽然'commands' normalalert 从Bluemix传递到我的Raspberry,但我继续收到主题错误消息,如下所示(注意时间戳):

enter image description here

并在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仪表板中按'Refresh',senseHAT设备显示为断开连接;刷新整个页面(即从浏览器),它再次出现连接

  • 无论我尝试过什么,我都无法连接上面显示的其他两个设备( b827eb0a0ee8b827eb5f5bbd ) - 我甚至尝试在Bluemix中再次删除并重新注册它们...

3 回答

  • 0

    根据我之前的评论,看起来这可能是网关和设备混淆的原因 . 从日志中看起来您已经更改了网关和设备之间的设备ID类型,并且在某些情况下,ID为b827eb0a0ee8的设备已连接为网关(仅显示为屏幕截图中的设备),随后因此而断开连接它尝试未经授权的东西(可能试图连接未注册的设备;即客户端ID混淆问题) .

    暂时禁用设备的自动注册,因此如果设备不存在(因为客户端ID错误),则网关设备将断开连接 .

  • 0

    我已经接受保罗的答案是正确的,因为它帮助我弄清楚发生了什么,但它是相当神秘的 . 这是究竟发生了什么,以及补救措施 .

    如果(甚至 accidentally )你试图错误地将设备连接为网关(反之亦然),整个事情就搞砸了......:

    • 您无法重新连接设备/网关,即使您返回并更正凭据(即您的设备/网关注定...)

    • 一旦发生了这样的事情(意外......), all 您的其他注册设备,虽然它们可以成功连接到Bluemix,但是给出我在上面的问题中描述的错误消息(包括Node-RED控制台中的状态) ,永远报告 Connection was closed .

    • 重新启动Bluemix应用程序无效

    因此,一旦出现这样的错误/事故,无论出于何种原因, remedy 将停止并再次启动您的本地Node-RED服务(即在我的情况下是在我的Raspberry Pi中运行的服务) .

    我希望这有助于未来平台的改进 - 这肯定是一种意想不到的行为 .

  • 5

    我有同样的行为 . 只是重新启动本地Node-RED没有帮助 . 重新启动后,我删除了wiotp-credentials节点,重新创建了它,部署了流程,并最终工作了我的网关连接 .

相关问题