チューリップからノードレッドへのメッセージ送信
  • 20 Feb 2024
  • 1 読む分
  • 寄稿者

チューリップからノードレッドへのメッセージ送信


記事の要約

Tulipからメッセージを送信するには(アプリ内トリガーやオートメーションなど)、Connectorを使用します。これは、すべてのTulip Edge DevicesにConnector Hostをインストールすることで最も簡単に実行できます。

Tulipエッジデバイス

以下のフローは、TulipトリガーからTulipエッジデバイス上で動作するNode-REDにメッセージを送信するために使用されます:

Communicate with Machines using Edge MC's Connector Host & Node-RED_314676359.png

完了したら、Tulipアプリまたはオートメーションで新しく作成したコネクタを使用して、デバイスコマンドやフロー入力などのメッセージをNode-REDに送信します。

Tulipでコネクタとコネクタホストの設定

注:Tulipのコネクタホストとコネクタ機能に精通していない場合は、こちらの記事をご覧ください。

  1. TulipインスタンスのConnectorsページから新しいコネクタを作成します。
  2. 表示されるモーダルで、以下の情報を入力します:

名前:コネクタホストの名前を選択します**:コネクタホストの名前を選択します:** HTTPを選択

  1. 保存」をクリックします。
  2. Connector Hostの詳細を指定するには、左側のproduction & testing & developmentボタンをクリックします。表示されるモーダルで、以下の情報を入力します:

Running On:対象のEdge Deviceのコネクタホストを選択します。*注:Edge Deviceのコネクタホストが見つからない場合は、Edge Deviceのポータルに移動し、"Connector Host "が有効になっていることを確認してください。*ホスト:localhost を入力 ポート: 1880 を入力(これは Node-RED が実行しているポートです) TLS: No を入力 ヘッダーや証明書を追加する必要はありません。

  1. Testをクリックし、接続がパスすることを確認します。最後に [Save] をクリックします。

このコネクタはターゲットエッジデバイスの Node-RED と通信できるようになりました。


Node-RED でHTTP IN ノードの設定

注意:このセクションは Node-RED に精通していることを前提としています。

デバイス上のコネクタホストからメッセージを受信するために、HTTP IN ノードを使用します。

  1. クリックしてドラッグし、Node-RED エディタの左側にあるパレットから HTTP IN ノードをフローに追加します:

image.png

以下の情報を入力します:
以下の情報を入力します:POSTURL :/nodeREDや /myMachine/0013など、ユーザーが定義した任意のパス。この URL は Node-RED 内で再利用されるため、認識しやすく覚えやすいものである必要があります。 以下の例では、/test として URL を設定しています:
image.png

  1. Done "をクリックして変更を保存します。

HTTPリクエストは、サーバー(この場合はTulip)にResponseが返されないと失敗します。
1.HTTP Responseノードをドラッグします。
2.HTTP RequestノードをHTTP Responseノードに接続します。HTTPResponseノードをダブルクリックし、ステータスコードとして200を入力します。完了をクリックします。

image.png{をクリックします。)

:::(Info) (HTTP レスポンスと高度なフィードバック)ステータス コードを変更したり、HTTP レスポンスノードの**+add**ボタンを使用して Connector のレスポンスを変更または追加します。これらのデータ(多くの場合、フローによって生成されたシステムまたはデバイス出力)は、コネクタのレスポンスに表示されます。こちらのガイドを参照して、コネクタ出力を構成してください!これは正しい表現ですか?

  1. 最後に、パレットからDebugノードをドラッグします。msg.ドロップダウンを使用して「Complete Message Object」を出力するように、このノードを設定します:image.png{height="" width=""}.

このNode-REDフローはTulipからメッセージを受信し、Node-REDデバッグログに表示します。

完成したフローは以下のように表示されます:image.png

右上のDeployをクリックして、すべての変更をコミットします。

Tulipでコネクタ機能の設定とテスト

Node-REDフローの設定が完了したら、Tulipのコネクタに戻ります。
1.新しいConnector Functionを作成する。
2.Connector FunctionをGETからPOSTに変更する。
3.URL に Node-RED で設定したパス(この例では/test)を入力します。
4.(オプション)コネクタにコンテンツ(メッセージやコマンドなど)を追加するには、コネクタに Input を追加します。
5.(オプション)最初にContent TypeをJSONに変更し、rootに項目を追加して、InputをRequest Bodyに追加します。

以下のスクリーンショットは、上記で指定した/testエンドポイントに構成され、testValue という入力が含まれる Connector を示しています:image.png

Run」をクリックして Connector Function をテストします。成功の 2 つのインジケータが表示されます:
1.Connector Function は、(該当する場合)を含む200 OK応答を受信する:
1.Connector に設定されたすべての入力 2.Node-RED のHTTP レスポンスノードで設定された追加出力 2.Node-RED のデバッグログに Connector メッセージが表示されます。注:Node-RED の現在のバージョンによって、Connector リクエストボディは、a.msg.payload または b.msg.req.bodyにあります。

両方の成功状態を以下に示します:

コネクタの成功:image.png

Node-RED成功:image.png


この記事は役に立ちましたか?