2016-05-21 3 views
1

Я пытаюсь использовать концентратор IOS Microsoft Azure для демонстрации подключения моего устройства к IOT-концентратору и отправки сообщений с использованием протокола mqtt. У меня есть учетная запись и создано устройство и SAS с TTL, если требуется. Я использую SDK Java-клиента, предоставленный microsoft azure для подключения, но мое подключение не разрешено. Я выполнил все шаги, указанные в приведенном ниже URL-адресе: https://azure.microsoft.com/en-us/documentation/articles/iot-hub-mqtt-support/ Пожалуйста, помогите мне в этом отношении. Мои журналы ниже:MQTT на Azure IOT Hub: ошибка инициализации MQTT-соединения: не разрешено подключаться

Журналы:

MqttIotHubConnection.open() connectionOptions= 
============== Connection options ============== 
CleanSession : false 
SocketFactory : null 
MqttVersion : 4 
KeepAliveInterval : 20 
ConTimeout : 30 
UserName : PCSIOTHub.azure-devices.net/MQ... 
SSLProperties : null 
WillDestination : null 


Exception in thread "main" java.io.IOException: Error initializing MQTT connection:Not authorized to connect 
at com.microsoft.azure.iothub.transport.mqtt.MqttIotHubConnection.open(MqttIotHubConnection.java:142) 
at com.microsoft.azure.iothub.transport.mqtt.MqttTransport.open(MqttTransport.java:83) 
at com.microsoft.azure.iothub.DeviceClient.open(DeviceClient.java:163) 
at samples.com.microsoft.azure.iothub.SendReceive.main(SendReceive.java:210) 

ответ

1

Если вы используете клиент Microsoft Java для IoT Hub, вам не нужно, чтобы создать SAS фишку себя, то SDK делает это для вас.

Если следовать примеру здесь, https://azure.microsoft.com/en-us/documentation/articles/iot-hub-java-java-getstarted/#create-a-simulated-device-app, все, что вам нужно сделать, это заменить:

private static IotHubClientProtocol protocol = IotHubClientProtocol.AMQPS; 

с:

private static IotHubClientProtocol protocol = IotHubClientProtocol.MQTT; 

и вы будете иметь базовый клиент Java, который может общаться с IoT Концентратор над MQTT.

1

Как сказал @DominicBetts, вам не нужно создавать токен SAS при использовании IoTHub SDK для Java. Более подробное объяснение безопасности IoTHub, см. Официальный документ Azure IoT Hub developer guide.

Как ссылка в качестве образца, вы можете обратиться к example в GitHub, чтобы узнать, как отправлять сообщения в разных протоколах для Java.

 Смежные вопросы

  • Нет связанных вопросов^_^