1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【OpenRPA】「OpenFlow」と「NodeRED」をローカルインストールしてみる

Last updated at Posted at 2020-09-29

OpenRPAの記事、ほとんど私しか書いてないですね・・・。
ちまちま記事増やしていきます。

はじめに

以前、開発者ご本人からこんなコメントをもらいました。

@skadefro
Have you seen the new feature of running openflow-nodered locally?

なるほど。OpenFlow-NodeREDをローカルで動かす新機能ですか。

以前に書いた記事では、Dockerを使ってコマンドどーん!で立ち上げたのですが、今回の方法はOpenFlowとNode-REDをサービスとして起動します。
また、「OpenFlowとNode-REDは、それぞれ違うサーバーで動かそう!」といったことができます。

さっそくやってみましょう。

必要なもの

Windowsにインストールする前提です。
以下をあらかじめインストールしておく必要があります。

ダウンロード後、インストーラーに従ってインストールします。

RabbitMQ補足その1

RabbitMQは、Erlangを前提とするためあらかじめインストールしておいてください。
https://www.erlang.org/downloads

RabbitMQ補足その2

RabbitMQの管理画面を有効化する必要があります。
私はこれをやらなかったせいでOpenFlowからシナリオを実行できませんでした。
RabbitMQのインストール完了後、コマンドプロンプトから以下のコマンドを入力します。

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.8\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

※ パスはインストールしたバージョンその他環境に応じて変えて下さい。

コマンド実行後、http://localhost:15672/ にアクセスし、以下のような画面が表示されることを確認します。
image.png

OpenFlowをローカルインストール

OpenRPAのドキュメント (2.2.1. Quickstart Running OpenFlow using NPM )を参考にやっていきます。

buildtoolsのインストール

コマンドプロンプトから以下を実行します。

C:\> npm install --global windows-build-tools

※ マニュアルでは npm install --global windows-built -tools となっています。
  スペルミスっぽいので、上記のコマンドを実行してください。

openflowのインストール

コマンドプロンプトから以下のコマンドを実行します。

openiapのインストール
C:\> npm i openiap -g
+ openiap@1.0.89
added 781 packages from 697 contributors in 116.3s
設定ファイルの作成
C:\> openflow-cli --init
Creating openflow.env
サービス登録
C:\> openflow-cli --install openflow
{"message":"Serviceopenflow installed","level":"info"}

初回アクセス

ブラウザから、http://localhost.openrpa.dk にアクセスしてみましょう。
こんな画面が表示されていれば、インストールは成功です。

image.png

ユーザーの作成

OpenFlowのユーザーを作ります。
SIGN INボタンの下に英語が書かれていますが、「新しいユーザー名を入力すると、自動的のそのユーザーが作られるよ」とのことです。

自分のメールアドレスと、任意のパスワードを入力して「SIGN IN」を押すと・・・
image.png

新しくユーザーが作成されて、サインインできます。
image.png

Node-REDをローカルインストール

余談ですが、Node-REDのインストールでかなりハマってました。
マニュアル見てもNode-REDのインストール手順書いてなかったんですよね。
上記のOpenFlowのインストールをやればNode-REDも使えると思っていたので、Node-REDの画面にアクセスすらできなくてかなり悩んでました。

OpenFlowのReadmeを見て、もしかしてコレか!?と試したところでうまくいったので、以下の通りインストールします。

Node-REDのインストール

コマンドプロンプトから以下のコマンドを実行します。

Node-REDのインストール
C:\> npm i openflow-nodered -g
+ openflow-nodered@1.0.89
added 543 packages from 506 contributors in 92.33s
設定ファイルの作成
C:\> openflow-nodered-cli --init
Creating noderedlocal.env
Creating noderedremote.env
サービス登録
PS C:\WINDOWS\system32> openflow-nodered-cli --install noderedlocal
username? [OpenFlowで作ったユーザー名]
password? [OpenFlowで作ったユーザーのパスワード]
{"message":"signed in as [ユーザ名] with id xxxxxxxxxxxxxxxxxxxxxxxx","level":"info"}
{"message":"websocket.close","level":"verbose"}
{"message":"NodeJS version v12.10.0 Config C:\\WINDOWS\\system32\\noderedlocal.env","level":"info"}
{"message":"Installing servicenoderedlocal","level":"info"}
{"message":"Servicenoderedlocal installed","level":"info"}
{"message":"Quit","level":"info"}

サービス登録の時に、OpenFlowのユーザー名とパスワードを聞かれるので入力してください。

初回アクセス

ブラウザから、http://localhost.openrpa.dk:1880 にアクセスしてみましょう。

image.png

こんな画面が出ればインストール成功です。

ログイン

[Sing in with SAML]ボタンを押します。
すでにOpenFlowにログインしているのであれば、SAML認証によってそのままログインできます。
未ログインであればOpenFlowのログイン画面が表示されるので、OpenFlowに作ったユーザーでログインします。

ログインするとこんな画面が表示されます。

image.png

これでローカルインストール完了です。

補足:サービスの起動停止

コマンドでやる場合は

OpenFlow起動
openflow-cli --stop openflow
OpenFlow停止
openflow-cli --start openflow
Node-RED起動
openflow-nodered-cli --start noderedlocal
Node-RED停止
openflow-nodered-cli --stop noderedlocal

Windowsのサービスとして登録されているので、サービスの画面からでも起動・停止できます。

image.png

補足:設定ファイルについて

サービス登録のコマンドを叩くと、以下の設定ファイルが自動的に作成されます。

  • OpenFlowの設定ファイル
    • C:\Windows\System32\openflow.env
  • NodeREDの設定ファイル(ローカル接続)
    • C:\Windows\System32\noderedlocal.env
  • NodeREDの設定ファイル(デモ環境 app.openiap.io 接続)
    • C:\Windows\System32\noderedremote.env

各設定値の内容まで理解できていないのですが、1つわかっていることだけ。
最初に「OpenFlowとNode-REDは、それぞれ違うサーバーで動かそう!」と書きましたが、Node-REDの設定で、どこのOpenFlowに接続するかを定義すればよさそうです。

noderedlocal.env(一部抜粋)
saml_federation_metadata=http://localhost.openrpa.dk/issue/FederationMetadata/2007-06/FederationMetadata.xml
saml_issuer=uri:localhost.openrpa.dk
api_ws_url=ws://localhost.openrpa.dk
domain=localhost.openrpa.dk
jwt=

4か所のlocalhost.openrpa.dk を、接続したいOpenFlowのURLに書き換えます。
また、openflow-nodered-cli --install noderedlocalを実行すると、そのログイン情報としてjwtが設定されるため、jwtを空白に設定した上で再度openflow-nodered-cli --install noderedlocalコマンドを実行します。

おわりに

OpenFlowとNode-REDに関するチュートリアルは、以下の記事をご覧ください。
【OpenRPA/OpenFlow】Node-REDを使ってRestAPI経由でシナリオ実行する

1
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?