我有一个系统,其中设备使用 REST 与我的服务器通信,该服务器充当 IOT 网关来代表设备注册和发送事件。这很好用。现在我想向我正在为其创建 DeviceClient 的设备添加远程命令/控制(使用 Java API)。该设备使用与网关相同的 api key 和身份验证 token ,我可以在仪表板的设备 View 中看到该设备,但当我 connect() 时,我遇到连接失败。网关下创建的设备是否可以直接连接IOT平台?如果是的话,有什么建议吗?
Looks like one or more connection parameters are wrong !!!
Apr 27, 2017 9:19:40 AM com.ibm.iotf.client.AbstractClient connect
SEVERE: main: Connecting to Watson IoT Platform failed - one or more connection parameters are wrong !!!
Not authorized to connect (5)
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:28)
at org.eclipse.paho.client.mqttv3.internal.ClientState.notifyReceivedAck(ClientState.java:990)
at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:118)
at java.lang.Thread.run(Thread.java:745)
连接属性如下:
{API-Key=a-sl0l32-..., iotp.enabled=true, type=AudioSensor,
Organization-ID=sl0l32, Authentication-Method=token, Authentication-Token=....,
id=cognitiveear-gmail.com-sensor-name}
我的设备在仪表板中列出,如下所示:
Device ID cognitiveear-gmail.com-sensor-name
Device Type AudioSensor
Date Added Thursday, April 27, 2017
Added By a-sl0l32-rsmowsjmuj
Connection State Registered Refresh
最佳答案
当您看到以下输出时:“看起来一个或多个连接参数错误!!!”您用于连接的值很可能是错误的。
对于网关,请查看此示例链接:https://github.com/ibm-messaging/iot-gateway-samples/tree/master/java/advanced-gateway-sample
您需要设置:
- 组织 ID = [您的组织 ID]
- 设备类型 = [您的网关设备类型]
- 设备 ID = [您的网关设备 ID]
- 身份验证方法 = token
- 身份验证 token = [您的网关 token ]
对于设备,请参阅https://github.com/ibm-messaging/iot-device-samples/tree/master/java
您需要设置:
- 组织 ID = [您的组织 ID]
- 设备类型 = [您的设备类型]
- 设备 ID = [您的设备 ID]
- 身份验证方法 = token
- 身份验证 token = [您的设备 token ]
关于java - 我无法通过 DeviceClient.connect() 连接到 IOT 平台上使用 GatewayClient 创建的设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43660084/