2016-08-08 4 views
0

ノード020110からネットワークに再び挿入される可能性のあるメッセージが入った場合、どのように自動返信を作成することができますか。その意味では、以下のスキーマ内の図示のブロックサーバーにパケットを送信します。赤い線は私がまだやらなければならないものです。ノードに自動応答を作成する方法 - 着信メッセージがある場合は赤ですか?

enter image description here

それが見られるように、私は、センサーからのフィードを取得し、私は戻ってネットワークに何かがトリガー機能を使用してノード02010110に来るたびにメッセージを送信したいと思います。しかし、私は問題に直面している、私は2つのノード(赤い線)に直接接続すると、私はブラウザが非常に遅くなり、ノードの赤のデバッグ端末をチェックする方法を見ることができます。トリガーブロックなので、それに対処できない点があると思います。ノードは5秒ごとにデータを送信します。

私はノードredでこれを行うためのいくつかの例、ライブラリ、またはアプローチが疑問に思っていました。

答えて

0

MQTTでは、クライアントが発行したトピックと同じトピックを購読している場合、それ自体にメッセージが戻されます。

受信メッセージごとに同じトピックにメッセージを公開する場合は、ループを繰り返して新しいメッセージとして応答を処理し、新しい応答を送信してください。

メッセージを別のトピックに送信する必要がある場合は、「返信」(MQTTに1対1メッセージングという直接的な概念はありませんが、通常は1対多のメッセージとみなされます)というメッセージを送信する場合。受信メッセージにはすでにMQTTサブスクライブ・ノードからトピック・フィールド・セットが設定されています。MQTTパブリッシュ・ノードに送信する前に、関数ノードでこれを変更できます。

MQTT Subscribeノードの後に​​スイッチノードを挿入して、簡単に識別できる場合は、応答メッセージをフィルタリングする方法があります。

+0

私は新しいメッセージ/ペイロードとノードからの着信番号を送信したいので、node-redのトリガーブロックがそのゴールで設計されたものであるかどうかさらに疑問に思っていました。私はトリガーブロックが文字列を許可するだけで、独自のペイロードを定義することはできないことを見てきました。 – ndarkness

+0

トリガーノードは実際に受信したすべてのメッセージに対して、2つのメッセージを指定された遅延で送信するため、事態を悪化させます。それらはどちらも元のメッセージと同じトピックを持つので、これをMQTT公開ノードに接続すると、サブスクライバ・ノードで2つのメッセージが戻され、4つのメッセージが発行されるようになります。のメッセージがリセットをトリガーします。 – hardillb

+0

その話題から何かが返ってきた場合は、どのように返信することができますか? – ndarkness

関連する問題