Node-RED と Tulip API の併用
  • 04 Nov 2023
  • 1 読む分
  • 寄稿者

Node-RED と Tulip API の併用


Article Summary

Node-RED を Tulip API で使用する

自分のデバイスでNode-REDを使用していて、Tulip APIにデータを送信したい場合、TulipはAPIエンドポイント用にNode-REDノードを提供しています。

これらのノードはNode-REDをサポートするTulipデバイスにプリインストールされていますが、Node-REDの独自のインスタンスを実行している場合でも、Node-REDライブラリから@tulip/node-red-tulip-apiパッケージをインストールすることでノードをインストールすることができます。

この記事では...

  • Node-REDのインストールにTulip APIノードを追加する。
  • Tulip Machine Attribute APIを使用してTulip Machineにデータを送信する
  • Tulip Tables APIノードを使用して、Tulip Tablesの読み取り、書き込み、設定を行います。

前提条件

TulipのEdge MCでNode-REDを実行しますか?こちらのスタートガイドをご覧ください。

インストール

1.Node-REDパレットに@tulip/node-red-tulip-apiを追加します。

Node-REDエディタを開き、メニュー → パレットの管理へ移動します。

インストールタブをクリックし、@tulip/node-red-tulip-apiを検索します。

注:コマンドラインからパッケージをインストールすることもできます。Node-REDのユーザーディレクトリに移動し(例:cd ~/.node-red/)、 npm install @tulip/node-red-tulip-apiを実行します。

2.インストールが成功したか確認する

インストールに成功すると、tulip-machine-attributeと tulip-tablesノードがパレット(左サイドバー)のTulipカテゴリに表示されます。

Tulip Machine Attributeノードを使用する

前提条件:「How to use the Machine Attributes API」を読んでおり、attributes:writeパーミッションを持つAPI Tokenが設定されており、データを送信したい特定のマシン属性がある。

1.Tulip Machine Attributeノードをフローにドラッグ&ドロップします。

注:右側のサイドバーで ヘルプ タブを**選択 すると、ノードの使用方法に関するドキュメントが表示されます。

2.対象のマシン属性に合わせてノードを設定します。

例として、以下のマシン属性を使用します。マシン・データ・ソースは Tulip APIであることに注意してください。

Tulip Machine用の整数マシン属性「Example Tulip API Machine」。

ノードをダブルクリックしてエディタを開き、このマシン属性に合わせてノードを設定します。例えば、以下のようにノードを構成します:

Tulip Machine Attributeノードの構成。

Tulip API認証ノードを以下のように構成します(認証情報を入力してください):

APIトークンのTulip API認証構成。

3.データの送信をテストする。

Machine Attributeエンドポイントにデータを送信するための残りのフローを作成します。

単純なテストフローは、整数エンドポイントに値0を送信することかもしれない。マシン属性ノードの入力を、msg.payload=0で構成されたInjectノードに配線します(下図)。出力を、完全なmsg を出力するデバッグ・ノードに配線します。

Deploy] をクリックしてフローをデプロイします。Injectノードをクリックすると、ステータス・コード204 のデバッグ・メッセージが表示されます。

整数マシン属性に整数値 0 を送信するテストフロー。

データはTulipインスタンスのマシン属性の下にも表示されるはずです。

TulipテーブルAPIノードの使用

前提条件:テーブルAPIの使用方法を読み、tables:readおよびtables:writeパーミッションで設定されたAPIトークンを持ち、データを送信したい特定のテーブルを持っている。

1.Tulip Tablesノードをフローにドラッグ&ドロップします。

注:右側のサイドバーで ヘルプ タブを選択すると、ノードの使用方法に関するドキュメントが表示されます。

2.特定の Tulip Tables API クエリ用にノードを設定します。

まず、ノードをダブルクリックしてエディタを開きます。Tulip API Authentication構成ノードを設定して、tables:readおよび/またはtables:writeパーミッションを持つAPI Tokenの詳細と一致させます(テーブル・クエリが読み取り操作か書き込み操作かによります):

テーブル API トークンの設定

Query Typeに実行したいクエリを設定します。クエリオプションの残りの部分は、タイプに従って表示されます。

この例では、id9YHHckKcFTXHQpXEuで Status フィールドが "REVIEW" のテーブルのレコードを一覧表示するために、List recordsを選択します。

テーブル API ノードの構成

Tables APIノードの "Filters "フィールドからJSONを展開する。

3.データの送信をテストする。

Tables API エンドポイントにデータを送信するための残りのフローを作成する。

テストフローの例として、空のInjectノードを Tables API ノードの入力に配線して、API リクエストの送信をトリガーすることができます。また、msg.payloadを出力するデバッグ・ノードを追加して、解析されたレスポンスを確認することもできます。

設定された Tables API リクエストが、your-subdomain.tulip.co/tables/9YHHckKcFTXHQpXEu にある以下のテーブルに送信されたときの結果を以下に示します。応答は、StatusフィールドがREVIEWに設定された2つのテーブルエントリを返すことに注意してください。

複数のレコードをクエリするテーブル。フィルタリングできるStatusフィールドを含む。

List Records」テーブルAPIリクエストをTulipテーブルに送信するフローと、レスポンスのペイロード。

さらに読む


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