reComputer R1000 with FlowFuse
はじめに
FlowFuseは、協調開発、リモートデプロイメントの管理、DevOps配信パイプラインのサポート、Node-REDアプリケーションのホスティング機能を追加することでNode-REDを強化します。Node-REDアプリケーションの開発と配信に特化して設計されたDevOpsプラットフォームとして機能し、チームが協力してプロジェクトを効率的にデプロイすることを容易にします。
はじめに
このプロジェクトを開始する前に、ここで説明するようにハードウェアとソフトウェアを事前に準備する必要があります。
ハードウェアの準備
reComputer R1000 |
---|
![]() |
ソフトウェアの準備
reComputerでFlowFuse用のNode.jsをインストールする
reComputerをFlowFuse用に準備するには、Node.jsをインストールする必要があります。Node.jsバージョン20をインストールするには、以下の手順に従ってください:
- Node.jsリポジトリの準備
まず、パッケージリストを更新し、必要な証明書とツールをインストールします:
sudo apt update
sudo apt install -y ca-certificates curl gnupg
- NodeSourceリポジトリの設定
次に、reComputer上でNodeSourceリポジトリを設定します:
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
- Node.jsリポジトリの追加
FlowFuseのドキュメントによると、Node.jsバージョン20のインストールが推奨されています。NODE_MAJOR
変数を20に設定します:
NODE_MAJOR=20
Node.jsリポジトリをreComputerのソースリストに追加してください:
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
パッケージリストを再度更新して、Node.jsリポジトリを含めてください:
sudo apt update
- Installing Node.js
Finally, install Node.js:
sudo apt install nodejs
これで、お使いのデバイスにNode.jsバージョン20がインストールされました。
FlowFuseの使用を開始するには、アカウントを作成してメールアドレスを確認する必要があります。以下の簡単な手順に従ってください:
アカウントの作成
-
登録ページにアクセス:
- FlowFuseアカウント作成にアクセスします。
-
登録フォームに記入:
- ユーザー名: 一意のユーザー名を選択します。
- フルネーム: フルネームを入力します。
- メール: 有効なメールアドレスを入力します。
- パスワード: 強力なパスワードを作成します。
-
フォームを送信:
- 必要なフィールドをすべて入力した後、「Create Account」ボタンをクリックします。
-
メールを確認:
- メールの受信箱に移動し、FlowFuseからの確認メールを探します。
-
確認メールを開く:
- メールを開き、コードを使用してメールアドレスを確認します。
-
FlowFuseログインページに戻る:
- FlowFuseログインページに移動します。
-
認証情報を入力:
- ユーザー名/メール: 登録したユーザー名またはメールアドレスを入力します。
- パスワード: パスワードを入力します。
- ログイン:
Login
ボタンをクリックしてFlowFuseアカウントにアクセスします。チームの作成を求められる場合があります。
FlowFuseでのアプリケーション作成
Node-REDインスタンスを整理するために、それらはアプリケーション内でグループ化されます。アプリケーション内では、Node-REDの1つ以上のインスタンスを持つことができます。インスタンスは、プラットフォームと統合するための様々なFlowFuseプラグインを含むNode-REDのカスタマイズされたバージョンです。
- アプリケーションセクションに移動:
- FlowFuseダッシュボードで、
Create Application
をクリックします。
- FlowFuseダッシュボードで、
- アプリケーションの詳細を入力:
- 名前: アプリケーションの名前を入力します。
- 説明: アプリケーションの簡単な説明を入力します。
- インスタンス名: Node-REDインスタンスの名前を選択します。
- ブループリント: ブループリントとして
Blank Workspace
を選択します。 - Node-REDバージョン: ドロップダウンメニューから最新のNode-REDバージョンを選択します。
- アプリケーションを作成:
- すべての詳細を入力した後、
Create
ボタンをクリックします。
- すべての詳細を入力した後、
FlowFuseでのフロー作成
Node-REDでランダムな数値を生成してダッシュボードに表示するフローを作成しましょう。Node-REDが初めての場合は、Node-RED入門ガイドをご覧ください。フロー作成の手順
- Node-REDエディターを開く:
- インスタンスに移動し、作成したインスタンスを選択します。
Open Editor
をクリックしてNode-REDエディターを起動します。

- 必要なノードをインストール:
- デフォルトでは
random
ノードとgauge
ノードが表示されない場合があります。これらをインストールするには: - 右上のメニューに移動し、
Manage palette
を選択します。 Install
タブに移動します。Random
とDashboard
ノードを検索してインストールします。
- デフォルトでは
- フローを作成:
- 時間を節約するために、以下のフローをコピーしてNode-REDエディターにインポートします:
[
{
"id": "fd017c5f719054f5",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "45888468a69bbabb",
"type": "random",
"z": "fd017c5f719054f5",
"name": "Random",
"low": 1,
"high": "100",
"inte": "true",
"property": "payload",
"x": 340,
"y": 160,
"wires": [
[
"ce3820147521aaa6"
]
]
},
{
"id": "5e571c440b2340e9",
"type": "inject",
"z": "fd017c5f719054f5",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "5",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 130,
"y": 160,
"wires": [
[
"45888468a69bbabb"
]
]
},
{
"id": "ce3820147521aaa6",
"type": "ui_gauge",
"z": "fd017c5f719054f5",
"name": "",
"group": "7ac87662e9cf0550",
"order": 0,
"width": 0,
"height": 0,
"gtype": "gage",
"title": "Random Number",
"label": "units",
"format": "{{value}}",
"min": 0,
"max": "100",
"colors": [
"#00b500",
"#e6e600",
"#ca3838"
],
"seg1": "",
"seg2": "",
"diff": false,
"className": "",
"x": 670,
"y": 160,
"wires": []
},
{
"id": "7ac87662e9cf0550",
"type": "ui_group",
"name": "Default",
"tab": "0dc7fe4a8add5b68",
"order": 1,
"disp": true,
"width": "6",
"collapse": false,
"className": ""
},
{
"id": "0dc7fe4a8add5b68",
"type": "ui_tab",
"name": "Home",
"icon": "dashboard",
"disabled": false,
"hidden": false
}
]
- フローをデプロイする:
- 右上角の
Deploy
ボタンをクリックしてフローをデプロイします。
- 右上角の
FlowFuseでのデバイスの追加と設定
- FlowFuseでデバイスを追加・設定するには、以下の手順に従ってください:
- FlowFuseダッシュボードで、
Devices
セクションに移動します。 Add Device
ボタンをクリックします。
- デバイスの詳細を入力します
Add
ボタンをクリックしてデバイスを作成します。
- デバイス設定をコピーする
- デバイスを追加した後、デバイス設定が表示されます。
- 手動指示の下で、提供されたコードスニペットをコピーします。デバイスをFlowFuseクラウドに接続するために、これらの認証情報が必要になります。
デバイスエージェントのインストール
reComputerターミナルで、以下のコマンドを実行してFlowFuseデバイスエージェントをインストールします:
sudo npm install -g @flowfuse/device-agent
デバイスエージェントの設定
- 設定ディレクトリの作成:- 以下のコマンドを順番に実行して、設定ディレクトリを作成し、適切な権限を設定します:
sudo mkdir /opt/flowfuse-device
sudo chown -R $USER /opt/flowfuse-device
sudo su
cd /
cd opt/flowfuse-device
- 設定ファイルの作成と編集:** -
device.yml
という名前の新しい設定ファイルを開きます:
nano device.yml
- コピーしたデバイス設定をこのファイルに貼り付け、
Ctrl + X
、次にY
、そしてEnter
を押して保存します。
- Device Agentを実行する: - 以下のコマンドを実行してFlowFuse device agentを開始します:
flowfuse-device-agent --port=1881
あなたのデバイスは設定され、FlowFuseクラウドに接続されました。使用準備が完了しています。
デバイスへのフローのデプロイ
フローをデバイスにデプロイするには、Node-REDインスタンスのスナップショットを作成し、reComputerターミナルにプッシュする必要があります。以下の手順に従ってください:
スナップショットの作成
- アプリケーションに移動:
- FlowFuseアプリケーションに移動し、作成したインスタンスを選択します。
- 「Snapshot」を選択:
- インスタンスメニューの
Snapshot
オプションをクリックします。
- インスタンスメニューの
- 新しいスナップショットを作成:
- まだスナップショットがないため、新しく作成する必要があります。
Create Snapshot
をクリックします。
- スナップショットの詳細を入力:
Name
:スナップショットの名前を入力します。Description
:スナップショットの簡単な説明を入力します。Set as Target
:このスナップショットをターゲットとして設定するためにボックスにチェックを入れます。
- スナップショットを作成:
Create
ボタンをクリックしてスナップショットを作成します。これにより、フロー、認証情報、環境変数、NPMパッケージ(バージョン固定)、ランタイム設定を含む、Node-REDインスタンスの現在の状態がキャプチャされます。
デバイスへのスナップショットのプッシュ
スナップショットをデバイスにデプロイするには、以下の手順に従ってください:
- デバイスセクションに移動
- FlowFuseダッシュボードで、
Devices
セクションに移動します。
- デバイスを選択
- 先ほど作成・設定したデバイスを見つけます。
- デバイス名の横にある3つの点をタップします。
Add Instance
をクリックします。
- デバイスにインスタンスを追加
- 先ほど作成したアプリケーションとインスタンスを選択します。
Add
ボタンをクリックします。
- フローをデプロイ
- フローは数秒以内にデバイスにデプロイされます。スナップショットでキャプチャされた設定と構成で実行されます。
- デバイスにアクセス
- Webブラウザで
<ip_address_recomputer>:1881/ui
に移動してデバイスにアクセスします。
技術サポート & 製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。さまざまな好みやニーズに対応するため、複数のコミュニケーションチャネルを提供しています。