- 印刷する
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の読み取り、書き込み、設定を行います。
前提条件
- ローカルにNode-REDがインストールされ、実行されていること。
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テーブルに送信するフローと、レスポンスのペイロード。
さらに読む
tulip/node-red-tulip-api
パッケージREADME- テーブルAPIの使い方
- マシン属性APIの使い方