4.1.1.1. MQTTとは?

MQTTとは、Message Queuing Telemetry Transportの略です。パブリッシュ/サブスクライブ型の極めてシンプルで軽量なメッセージングプロトコルで、低帯域幅、高レイテンシー、または信頼性の低いネットワークで制約のあるデバイス向けに設計されています。設計の原則は、ネットワークの帯域幅とデバイスのリソース要件を最小限に抑えながら、配信の信頼性と保証を確保しようとすることです。これらの原則により、このプロトコルは、「マシン・ツー・マシン」(M2M)や「モノのインターネット」と呼ばれる接続デバイスの世界や、帯域やバッテリーに制限のあるモバイルアプリケーションに理想的です。

4.2. Node-REDに初めてアクセスする

Node-REDにアクセスするには、ブラウザを使ってNode-RED環境のURLにアクセスするだけです。ローカルで動作している場合、デフォルトはhttp://localhost.openiap.io:1880。OpenFlow/Node-REDをお持ちでない場合は、OpenIAP プラットフォームを使って無料の(そして一時的な)Node-REDデモを作成することができます。

4.2.1.1. OpenIAP プラットフォームを使用した Node-RED のデモ・インスタンスの作成

Demo OpenIAP(https://app.openiap.io)にあるOpenIAPのデモ環境にアクセスします。

OpenFlow の認証情報を使ってアクセスします。もしこれが初めてのログインなら、どんな認証情報でも構いません。なぜなら、あなたが提供したのと同じ認証情報でユーザが作成されるからです。ユーザーとパスワードはメモしておいてください。

備考

NodeRED無料デモ環境のURLは、OpenFlowのユーザー名に基づいて作成されます。したがって、URLとして不適切な文字(_, #, @, $, など)を含むユーザー名を作成しないでください。

上部のメニューから「NodeRED」タブを探し、クリックします。そして、Created NodeREDというボタンをクリックして進みます。

images/nodered_create_nodered_instance.png

すべてがうまくいくと、次の画像のような出力が表示されます。あなたのデモ環境は使用する準備ができており、https://{YOUR-OPENFLOW-USERNAME}.app.opniap.io/にアクセスできます。次の画像例では、ユーザー名はdoc-johnnyです。

images/nodered_create_nodered_instance_success.png

4.2.1.2. Node-REDにログインする

目的のNode-REDのURLにアクセスします。ボタンをクリックすると、Node-RED は現在ログインしている(またはキャッシュされている)OpenFlow認証データを収集しようとし、同じユーザでNode-RED にログインします。

images/nodered_sign_in_page.png

Node-REDサインインページ

4.3. Node-REDエディタの

エディタウィンドウは、すべての作業が行われる場所です。ヘッダー、パレット、ワークスペース、サイドバーの4つの要素で構成されています。

images/nodered_editor_default_components.png

Node-RED Components.

4.3.1. ヘッダー

ヘッダーには、デプロイボタン、メインメニュー、そしてユーザー認証が有効な場合はユーザーメニューが含まれます。

4.3.1.1. ボタンを展開する

デプロイボタンは、フローの作成または編集を終了した後に、フローをデプロイするために使用します。なお、フローを編集した後は、必ずデプロイを行い、変更内容を反映させることが重要です。

4.3.1.2. メインメニュー

メインメニューには、コンポーネントの非表示、フローのインポート/エクスポート、フローの検索、フローやサブフローのアクション(追加、名前変更、削除など)、パレットの管理、設定、キーボードショートカット、Node-REDのWebページへのリンクなど、多くのアクションが含まれています。

4.3.1.3. ユーザーメニュー

ユーザーメニューは、ユーザーが認証されている場合、ユーザー名とログアウトするためのオプションが表示されます。

4.3.2. パレット

パレットには、インストールされ使用可能なすべてのノードが含まれています。これらのノードはいくつかのカテゴリーに分類されており、そのヘッダーをクリックすることで展開したり折りたたんだりすることができます。

パレットにマウスを乗せると表示されるトグルボタンをクリックするか、Ctrl+pを押すと、パレット全体を隠すことができます¹。

¹ –パレット(https://nodered.org/docs/user-guide/editor/palette/)

images/nodered_editor_palette.png

Node-RED Editor Palette.ノードレッドエディターパレット

4.3.3. ワークスペース

メインワークスペースでは、パレットからノードをドラッグして配線することでフローを展開する。

ワークスペースの上部には、各フローと開いたサブフローに対応したタブが並んでいます。²

images/nodered_editor_workspace.png

Node-RED Editorワークスペース.

4.3.3.1. ツールを見る

ワークスペースのフッターには、ズームインとズームアウト、およびデフォルトのズームレベルをリセットするためのボタンがあります。また、ビューナビゲータのトグルボタンも含まれています。

拡大するには、ビューナビゲータ内の+ボタンをクリックするか、Ctrl+=を押してください。

ズームアウトするには、ビューナビゲータ内のボタンをクリックするか、Ctrl+-を押してください。

ズームをリセットするには、ビューナビゲータ内のOボタンをクリックするか、Ctrl+0キーを押します。

ビューナビゲータは、ワークスペース全体を縮小して表示し、現在表示されている領域を強調表示します。その領域をナビゲータ上でドラッグすると、ワークスペースの他の部分に素早く移動することができます。また、ワークスペースの端に移動してしまったノードを探すのにも便利です。

images/node_red_workspace_navigator_active.png

Node-RED Editor ワークスペース・ナビゲーター アクティブ..

4.3.4. サイドバー

サイドバーには、エディター内の便利なツールの数々を提供するパネルがあります。

  • インフォメーション

    ノードとそのヘルプ情報を表示する

  • デバッグ

    デバッグノードに渡されるメッセージの表示

  • コンフィギュレーションノード

    コンフィギュレーションノードの管理

  • コンテキストデータ

    コンテキスト変数の内容を表示する

images/nodered_editor_sidebar.png

Node-RED Editor Sidebar.

ノードによっては、node-red-dashboard(https://flows.nodered.org/node/node-red-dashboard) のように、独自のサイドバーパネルを提供するものもあります。

サイドバーのヘッダーにあるアイコンをクリックするか、表示されているドロップダウンリストから選択することでパネルを開くことができます。

サイドバーの端をワークスペース上でドラッグすると、サイズを変更することができます。

エッジを右端にドラッグして近づけると、サイドバーが非表示になります。表示メニューの「サイドバーを表示」を選択するか、Ctrl+Spaceのショートカットキーで再表示させることができます。

4.4. フロー、サブフロー、ノードとメッセージ

このセクションは、ほとんどNode-REDのドキュメントに基づいています。詳細はhttps://nodered.org/docs/user-guide/editorを参照してください。

フローはノードが整理された作業スペースです。各フローは、その名前を持つタブで表現され、説明は情報サイドバーに記載される。1つのフロー内のすべてのノードは、同じフロースコープコンテキストを共有し、つまり、すべてのノードが同じコンテキスト値にアクセスできる。

トップバーの「プラス」ボタンをクリックすることで、新しいフローを作成することができます。フローのプロパティを編集するには、トップバーのそのタブをダブルクリックします。ダイアログボックスの下部にあるトグルボタンをクリックすると、フローを無効にすることができます。

サブフローは、1つのノードの中にグループ化されたノードのコレクションである。目的は、フローの視覚的な複雑さを軽減するため、またはこれらのコレクションを再利用するためである。作成されたサブフローはパレット内の新しいノードとなる。

サブフローを作成するには、メニューの「サブフロー -> サブフローを作成」をクリックします。もう一つの方法は、既存のノードから新しいサブフローを作成することです。 ユーザーは、変換するノードを選択し、メニューの「サブフロー -> 選択してサブフロー」をクリックする必要があります。

ノードはアクションを視覚的に表現したもので、ワイヤーを介して連鎖させ、フローを作ることができます。ワイヤーはノードのポートに接続され、ドアとして機能する。各ノードは、最大で1つの入力ポートと複数の出力ポートを持つことができる。

ここで、いくつかのアイコンについて考慮する必要があります。ノードの上に青い丸がある場合、そのノードには未展開の変更があることを意味します。ノード内にエラーがある場合、そのノードの上に赤い三角形が表示されます。ノードの下にアイコンとステータスメッセージがある場合、それはノードのランタイムステータスを示しています。

ノードをダブルクリックすると、そのプロパティ説明外観にアクセスすることができます。また、ダイアログボックスの下部にあるボタンをクリックすると、ノードを無効にすることができます。

メッセージはJavaScriptのオブジェクトであり、任意のプロパティセットを持つことができる。メッセージはフローが動作しているときにノード間で受け渡しされる単位である。

メッセージのプロパティで最もよく使われるのはペイロードで、ワークスペース内ではmsg.payloadで表されます。これはノード間でデータを渡すためのデフォルトのプロパティですが、ユーザは自分のニーズに合わせて自由にプロパティを作成することができます。JavaScript のすべての値型が使用できます。

JSON文字列を扱う場合、その内容にアクセスする前に、まずJavaScriptオブジェクトに変換する必要があります。

メッセージの詳細については、Node_REDのページ(https://nodered.org/docs/user-guide/messages)を参照してください

4.5.1. RPA検出器

このノードは、OpenRPAで事前に作成したDetectorを呼び出す役割を担っています。一度デプロイすると、Node-REDエディターを閉じてもRPA Detectorはアクティブになります(サーバーがまだ動作しているため)。このノードの出力端をRPA Workflowノードに接続し、Detectorのトリガー時にワークフローを起動させます。

プロパティ

Detector– このフローにデプロイされるOpenRPADetectorです。利用可能なすべてのDetectorのリストがユーザーに表示されます。

Nameノードの 表示

4.5.2. RPAワークフロー

OpenRPAワークフローをリモートで起動するためのノードです。

このノードには3つの出力ポートがあります。1つ目はcompletedという名前で、OpenRPAロボットの実行が成功した場合にそのメッセージを出力します。2つ目はstatusという名前で、実行中のロボットのステータスを出力します。最後に、3つ目はfailedという名前で、実行に失敗した場合にロボットが返すエラーメッセージが出力されます。

プロパティ

Robotワークフローが所属するロボット。OpenRPAの Projectに相当する。

ワークフロー– 呼び出されるワークフローの名前です。利用可能なすべてのワークフローのリストが表示されます。

ローカル キュー – “ロボットエージェント “が消費するためにRabbitMQ内に作成されるキューの名前。

Nameノードの 表示