2017-02-07 10 views
1

私はWatson IoTにarduinoを接続しようとしています。次のコマンドで :ArduinoはMQTTを使用してWatson IoTに接続しません

mqtt.connect(0, "d6acq3.messaging.internetofthings.ibmcloud.com",1883,"d:d6acq3:Arduino_Helligkeit:1234567890","use-token-auth","<as it was provided>"); 

これは私がMQTT に使用libですし、次のようにconnectコマンドが指定されている場所:ワトソンプラットフォーム上で

bool connect (int id, String brooker, unsigned int port, String deviceId); 

bool connect ([s.o], String userName , String password); 

私は私の中で次のメッセージを参照してくださいデバイスの接続ログ:

Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:58:16 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 2 times in the last 5 minutes 07.02.2017 11:58:16 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:56:03 
Closed connection from 93.231.145.115. 
The topic is not valid: use-token-auth 
The topic does not match an allowed rule 07.02.2017 11:45:36 

この機能を利用するには、事前にお問い合わせいただきありがとうございます。

答えて

1

Danが述べたように、特定のトピック文字列のみがWatson IoTプラットフォームに許可されているため、適切なトピック文字列を使用していることを確認する必要があります。アプリケーション、イベント・トピックについて

: IOT-2 /タイプ/ {デバイスタイプ}/ID/{装置ID}/EVT/{イベントタイプ}/FMT/{フォーマットタイプ}アプリケーションについて

、コマンドトピック: IOT-2 /タイプ/ {デバイスタイプ}/ID/{装置ID}/CMD/{コマンドタイプ}/FMT/{フォーマットタイプ}デバイス、イベント・トピックについて

: IOT-2/EVT/{イベントタイプ}/fmt/{フォーマットタイプ}

デバイスの場合、トピック: iot-2/cmd/{コマンドタイプ}/fmt/{フォーマットタイプ}

ただし、ログに表示されるのは、あなたの投稿で指定したものよりも長いクライアントIDで接続しようとしていることを示しています。私はこのエラーを参照してください。

トークン認証は(デバイスが存在しない)に失敗しました:のClientID =「D:d6acq3:Arduino_Helligkeit:12345678901486464057428」、

だから、あなたはあなたの接続は右のデバイスを使用していることを確認するチェックする必要がありますあなたが登録したID。

+0

貴重なヴァレリー、私が見る限り、私は接続していない。だから、トピックはまだ役割を果たさないと思いますよね?一方、私は接続できない別のDevice-ID(18fe34a46709)も作成しました。 –

+0

私は3番目のDevice-IDをMQTTBox(Chromeクライアント)と接続してみました。 (少なくとも接続のため) –

+0

あなたのMQTTBox接続が正常に動作しています。デバイス18fe34a46709を確認すると、トピックフィールドに間違った値が入っているように見えます:トピックが有効ではありません:use-token-authトピックが許可されたルールと一致しません。 Reason = "トピックが有効ではありません:use-token-authトピックが許可されたルールと一致しません" – ValerieLampkin

関連する問題