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

    Node-RED と Tulip API の併用


    記事の要約

    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テーブルに送信するフローと、レスポンスのペイロード。

    さらに読む


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