【備忘録】Raspberry PiでNode-REDをはじめよう_使ってみましょう。

Raspberry PiでNode-REDをはじめよう

Getting Started with Node-RED on Raspberry Pi

以前、投稿した記事の続きです。
【備忘録】Raspberry PiでNode-REDをはじめよう_インストールまで | 株式会社応用技術研究所 (hagane-karakuriya.com)

Node-RED概要

それでは、Node-REDのビジュアルインターフェイスを見てみましょう。

Node-RED Interface 主なセクション

下図は、Node-REDの主なセクションをラベルで表示しています。
※各セクション(NODES, FLOW, DEPLOY CHANGES… )の役割については、以下で説明します。

Nodes

左のサイドバーには、ブロックがたくさん並んだリストが表示されています。
これらのブロックはノードと呼ばれ、機能ごとに分けられています。
ノードを選択すると、ノードのドキュメントタブでその動作を確認することができます。

ノードには、他のノードと情報を受け渡しするための入力ポートおよび/または出力ポートがあります。
例えば、あるノードが前のノードから入力を受け取り、その情報を処理し、その情報を使って何かをする別のノードに別のメッセージを出力します。
このようにノード間でやり取りされる情報をメッセージと呼びます。

Flow

ノードはフローの構成要素である。
ノードを配線して、特定のタスクを実行するフローを作成します。
フローはワークスペースのタブでもあり、ノードを配置し整理する場所です。

中央にはフローがあり、ここにノードを配置します。

右サイドバー

右側のサイドバーには、いくつかのツールが用意されています。

  • Information:フローに関する情報が表示されます。
  • Help:ノードのドキュメントを表示します。
  • Debug:バグアイコンはデバッグウィンドウを開き、デバッグノードに渡されたメッセージを表示します。
  • Config nodes:歯車のアイコンは、設定ノードに関する情報を表示します。
    設定ノードはメインのワークスペースには表示されず、フロー内の複数のノードで共有可能な再利用可能な設定を保持する特別なノードです。

Deploy

デプロイボタンはフローに加えられたすべての変更を保存し、フローの実行を開始します。

シンプルなフローを作ってみましょう

Node-REDのインターフェースに慣れるために、簡単なフローを作成してみましょう。
これから作成するフローは、トリガーされるとデバッグコンソールにメッセージを出力するだけです。

injectノードとdebugノードをフローにドラッグし、それらを一緒に配線します。

では、injectノードを編集してみましょう。
ノードをダブルクリックします。
下図で、変更できるさまざまな設定を確認できます。

msg.payload フィールドで、string を選択し、Hello と入力します。そして、Doneをクリックします。

Node-RED のメッセージ(msg)は、複数のプロパティを持つことができる javascript オブジェクトです。
payloadは、ほとんどのノードが使用するデフォルトのプロパティです。
次のノードに送信するメッセージの主な内容と考えることができます。
この例では、単にテキストメッセージを送信しています。

debugノードは編集しませんが、ダブルクリックしてそのプロパティを確認することができます。

debugノードの出力である msg.payload と、その出力をどこに送るかを選択できます。
この例では、デバッグウィンドウに送信します。

アプリケーションを保存するには、右上の Deploy ボタンをクリックする必要があります。

アプリケーションが保存されます。

フローをテストする

それでは、簡単なフローをテストしてみましょう。
debugウィンドウを開き、injectノードをクリックしてフローをトリガーします。

ご覧のようにinjectノードをトリガーすると、debugウィンドウに私たちのメッセージが表示されます。
これは非常に基本的な例で、役に立つことは何もしていません。
しかし、この記事の目的はNode-REDのインターフェースに慣れ親しんでもらうことです。
すぐに、独自のフローを作成し始めることができるでしょう。

ノードのエクスポートとインポート

このセクションでは、ノードを保存する方法について説明します。
これは、次のような場合に便利です。

  • Backup Node-REDのフローをバックアップする
  • Move フローを別のRaspberry Pi(またはマシン)に移動する
  • Share Node-REDのプロジェクトを他の人と共有する

メインメニューを開き、Exportオプションを選択します。

新しいウィンドウが開きます。
選択したノード、現在のフロー、またはすべてのフローを保存するかどうかを選択できます。
また、ノードをJSONファイルとしてダウンロードしたり、JSONをクリップボードにコピーしたりすることもできます。

どのように動作するかを示すために、選択したノードのDownload をクリックします。
flows.jsonと呼ばれるJSONファイルがダウンロードされます。

メインメニューからImportオプションを選択すると、後でそれらのノードを別のRaspberry PiやNode-REDがインストールされた別のマシンにインポートすることができます。

Import nodesウィンドウでは、JSONファイルをアップロードするか、下書きのJSONを貼り付けることができます。

Pallete Nodeのインストール

これまで見たように、Node-REDはPallete(左サイドバー)にたくさんのノードがプリインストールされています。
他にも多くのノードが用意されており、インストールしてプロジェクトに使用することができます。
Node-REDのライブラリで見つけることができます。
もし、あなたのプロジェクトに何か特定のタスクが必要な場合、おそらくそのためのノードが既にあります。

例えば、フローにメールを送る機能を追加する必要がある場合、次のような感じでググってみてください。
“send email node-red node”(メールを送るノード、赤のノード)。
最初の検索結果の1つが、このnode-red-node-emailのページです。
これは、メールを送受信するためのノードがいくつか付属しています。

これらのノード(または他のノード)をフローで使用できるようにインストールしたい場合は、メインメニューに移動してManage paletteオプションを選択します。

以下のようなウィンドウが表示されます。
インストールタブを選択し、インストールしたいノードを検索します(例:node-red-node-email)。

Node-RED Dashboard

Node-RED Dashboardはライブデータダッシュボードを素早く作成するために、Node-REDのノード群を提供するモジュールです。
これらのノードは、Menu Manage Paletteを使用してインストールできます。
そしてnode-red-dashboardを検索してインストールします。

インストール後、パレットにダッシュボードのノードが表示されます。

ダッシュボードセクションのノードは、アプリケーションのユーザーインターフェイス(UI)に表示されるウィジェットを提供します。
ユーザーインターフェースは、以下のURLでアクセスできます:

http://Your_RPi_IP_address:1880/ui

例えば、この場合:

http://192.168.1.106:1880/ui

現時点では、UIにアクセスすると、前の画面が表示されます。
それは、フローにダッシュボード・ノードを追加していないからです。
このチュートリアルでは、ダッシュボードのユーザーインターフェイスの作成方法については説明しません。
もっと学びたい方は、以下のリンク先を、ぜひ読んでみてください。

まとめ

このチュートリアルは、Node-REDのクイックスタートガイドです。
Raspberry PiにNode-REDをインストールする方法、シンプルなフローの作成方法、ノードのインポートとエクスポート、ノードのインストール、Node-REDダッシュボードのインストールを学びました。

また、例えばDigital OceanのようなクラウドサーバーにNode-REDをインストールすることもできます。
それについてはチュートリアルがあります: Access Node-RED Dashboard from Anywhere using Digital Ocean.

こちらもどうぞ
(以下のリンク先は原文です。)

Node-REDはMQTTを使用するIoTプロジェクトに非常に便利なので、私たちのすべてのMQTTプロジェクトをチェックすることをお勧めします。

読んでくれてありがとう。

PAGE TOP