2016-05-21 22 views
1

を接続するために許可されていません私は、IOTハブに自分のデバイスを接続する実証し、MQTTプロトコルを使用してメッセージを送信するには、MicrosoftのAzure IOTハブを使用しようとしています。 私はアカウントを持っており、必要に応じてTTLを使ってデバイスとSASを作成しました。私は接続するためにマイクロソフトの紺碧によって与えられたjavaクライアントSDKを使用していますが、私の接続は承認されていません。 以下のURLで与えられたように私はすべての手順に従っています https://azure.microsoft.com/en-us/documentation/articles/iot-hub-mqtt-support/ この点で私を助けてください。私のログは以下の通りです:MQTT:エラーが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

あなたはIoTをハブのためのMicrosoftのJavaクライアントを使用している場合は、自分でトークン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; 

、あなたがたIoTと通信することができ、基本的なJavaクライアントを持っていますMQTTのハブ。

1

@DominicBettsでは、JavaのためのIoTHub SDKを使用している場合、SASトークンを作成する必要はありません、言ったように。 IoTHubのセキュリティの詳細については、公式文書Azure IoT Hub developer guideを参照してください。

サンプルとして参考までに、あなたは、Javaのための異なるプロトコルでメッセージを送信する方法を知っているGitHubの上exampleを参照することができます。

関連する問題