0

IBM IoTF にデバイスとして正常に登録された Arduino Uno があります。現在、問題なく Bluemix Node-RED アプリに情報を送信できます。ここで、Node-RED アプリがデバイス (Arduino Uno) にコマンドを送信できるようにします。Arduino は、エラーなしで MQTT にサブスクライブされます。しかし、Node-RED からコマンドを受信して​​いません。以下のリンクの指示に従って、Node-RED で別のフローを作成し、コマンドがいつ発行され、コマンドが表示されているかを示します。これにより、MQTT ブローカーに送信されるように見えます。しかし、デバイス(Arduino)はそれらを受信して​​いません。これを機能させる方法をどのように理解できますか?

Node-RED、IOT Foundation Out ノードがコマンドを送信しない

IBM IoT Out Node パラメーターを次のように設定しました。 認証: Bluemix サービス 出力タイプ: デバイス コマンド デバイス タイプ: Arduino-tempsensor (これは、IoTF に登録したときにデバイス タイプ (名前) に使用した文字列と同じです) デバイスID: ここに MAC アドレスを入力します。それ以上にする必要があります。 : "iot-2/cmd/status/fmt/json" は正しいですか?) フォーマット: json (ここで大文字は重要ですか?) データ: {"d":{"myName":"Arduino Uno", "temperature": 989}} (JSON であり、デバイスで何でも見たかったのでこれを使用しました) 名前: IBM IoT App Out

4

1 に答える 1

2

この質問全体を入力したところ、公開されたコマンドを探すテスト フローでは、すべてのパラメーターを出力とまったく同じに設定する必要があることに気付きました。それを試したところ、コマンドメッセージが戻ってきませんでした。その後、自分の MAC アドレス (デバイス ID) が大文字になっている場所とそうでない場所があることに気付きました。デバイスの登録に使用した MAC アドレス (デバイス ID) はすべて大文字だったので、コマンドの Iot-out ノードをすべて大文字になるように作成し、メッセージをテストする Iot-in ノードを作成して、すべて大文字でした。今それは動作します!次に、デバイス (何が起きているかを確認できるようにシリアル モニターに出力していた) をもう一度見てみると、メッセージが表示されるようになりました。そのため、パラメーターが同じ大文字小文字になっていることを確認してください。

于 2015-10-06T03:38:49.850 に答える