Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Raspberry pi 设备已连接,但';IBMIoT:错误:连接被拒绝:未授权';消息不断出现_Raspberry Pi_Ibm Cloud_Node Red_Watson Iot - Fatal编程技术网

Raspberry pi 设备已连接,但';IBMIoT:错误:连接被拒绝:未授权';消息不断出现

Raspberry pi 设备已连接,但';IBMIoT:错误:连接被拒绝:未授权';消息不断出现,raspberry-pi,ibm-cloud,node-red,watson-iot,Raspberry Pi,Ibm Cloud,Node Red,Watson Iot,我正在IBM Bluemix中试验物联网服务,正在参加。我已经设置了试用帐户并成功注册了一些设备。我正在使用Bluemix中的以下简单节点红流测试Bluemix和Raspberry Pi之间的连接: 当normal和alert是各自字符串的简单注入节点时,format message节点同样简单(返回msg,其中msg.payload={'a':{'indicator':msg.payload};,IBM IoT节点如下所示: senseHAT设备已注册并成功连接到Bluemix,从Wats

我正在IBM Bluemix中试验物联网服务,正在参加。我已经设置了试用帐户并成功注册了一些设备。我正在使用Bluemix中的以下简单节点红流测试Bluemix和Raspberry Pi之间的连接:

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

senseHAT设备已注册并成功连接到Bluemix,从Watson IoT平台仪表板可以明显看出:

在Raspberry方面,我设置了以下简单流程来捕获Bluemix中发出的“命令”(
normal
alert
):

所有命令的
节点如下所示:

现在,尽管'commands'
normal
alert
从Bluemix传递到我的Raspberry,我还是不断收到主题错误消息,如下所示(注意时间戳):

节点红色控制台中会记录类似的错误消息(每分钟一次):

我想知道怎么可能一方面通过“命令”,另一方面每分钟收到一条错误消息,声称我没有连接,因为我的设备未经授权

有什么想法吗

附带说明(以及可能有用的其他信息):

  • 按Watson IoT平台仪表板中的“刷新”,senseHAT设备显示为断开连接;刷新整个页面(即从浏览器),它显示为再次连接
  • 无论我尝试了什么,我都无法连接上面显示的其他两个设备(
    b827eb0a0ee8
    b827eb5f5bbd
    )-我甚至尝试在Bluemix中删除并重新注册它们

  • 根据我之前的评论,这可能是由于网关和设备的混淆造成的。从日志来看,您似乎已更改网关和设备之间的设备id类型,在某些情况下,id为b827eb0a0ee8的设备已连接为网关(在屏幕截图中仅显示为设备)由于它试图进行未经授权的操作(可能试图连接未注册的设备;即客户端ID混淆问题),因此随后被断开连接


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

    我接受Paul的回答,认为它是正确的,因为它帮助我了解了发生了什么,但它相当神秘。下面是具体发生的情况,以及补救措施

    如果(即使是意外地)尝试将设备错误地连接为网关(反之亦然),整个事情都会变得一团糟……:

  • 您无法重新连接设备/网关,即使您返回并更正凭据(即,您的设备/网关已失败…)
  • 一旦发生此类事件(事故…),您的所有其他注册设备(尽管它们可以成功连接到Bluemix),请给出我在上述问题中描述的错误消息(包括节点红色控制台中的状态,永远报告
    连接已关闭
  • 重新启动Bluemix应用程序无效
  • 因此,无论出于何种原因,一旦发生此类错误/事故,补救措施是停止并重新启动本地节点红色服务(即,在我的情况下,在我的Raspberry Pi中运行的服务)


    我希望这有助于平台未来的改进-这肯定是一个意外的行为。

    我也有同样的行为。只是重新启动本地节点RED没有帮助。重新启动后,我删除了wiotp凭据节点,重新创建了它,部署了流,最后我的网关连接起来。

    您的注意事项:1.这是一个k计划2中没有问题和修复。b827eb0a0ee8是一个设备,但您在尝试连接时使用的是网关客户端ID(g:e7u2kv:raspberry:b827eb0a0ee8应该是d:e7u2kv:raspberry:b827eb0a0ee8,类似地,b827eb5f5bbd是网关,但您使用的是设备客户端ID(d:e7u2kv:raspberryGW:B827EB5BBD应该是g:e7u2kv:raspberryGW:B827EB5BBD)听起来可能问题在于节点红色的IoT节点没有正确更新固定凭据,需要重新启动才能更新配置?听起来似乎有道理-但是,为什么其他设备会出现这种行为??
    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.