Help us understand the problem. What is going on with this article?

Check! enebular editor で自作ノードが使えるか検証してみる

More than 1 year has passed since last update.

こんにちは! @dz こと大平かづみです。

enebular Advent Calendar 6日目の記事を書きました。(遅くなってすみませんん…!)

Prologue - はじめに

つい先日、痒い所に手が届く enebular editor がリリースされました!

enebular は、オンラインのサービス上でフローを作成・管理でき、そのフローをエッジデバイスへデプロイすることができます。enebular ならログインするだけでさっと使うことができ、フローをいくつでも、プロジェクト単位で管理できるため、 Node-RED 単体で使うよりも手間を省いて開発に集中できます。

そんな enebular ですが、SaaS として提供されているため、 Raspberry Pi の GPIO などデバイスの低レイヤーにアクセスするノードが使えなかったり、自作したノードを読み込むことができないという弱点がありました。

この弱点を打開すべく(?)リリースされた enebular editor は、 Electron 製のデスクトップアプリケーションであり、インストールしたマシン上で enebular で管理しているフローを編集できたり、エッジデバイスにデプロイしたフローを直接編集できるようになりました!便利!

ということは、ローカルで動くなら、自作したノードも enebular で動かせるのではないか!?

enebular editor で自作したノードが利用できるのか検証

まず、通常では <ユーザーディレクトリ>\.node-red に該当する、 Node-RED のユーザーディレクトリがどこにあるのか探りました。

私のマシンは Windows なので、インストールしたアプリケーションのデータは AppData 配下に保存されます。その中にありました。

%LOCALAPPDATA%\Programs\enebular-editor\resources\app\node_modules\@uhuru\enebular-node-red

%LOCALAPPDATA% には、 <ユーザーディレクトリ>\AppData\Local が定義されています。)

つぎに、このディレクトリに対して、自作したノードをリンクしてみます。リンクの方法はこちらを参照しました。

enebular editor で編集したいフローを開いておいた状態(フローの npm パッケージが一式インストールされている状態)で、下記のように、自作したノードのディレクトリで npm link を実行したあと、Node-RED のユーザーディレクトリで npm link <name of node module> を実行します。

cd <directory that includes my own node>
npm link

cd %LOCALAPPDATA%\Programs\enebular-editor\resources\app\node_modules\@uhuru\enebular-node-red
npm link <name of my own node module>

npm list で確認すると、自作ノードが含まれていることがわかりました。

そして、いざ!enebular editor のフロー編集で自作ノードを探してみる。みつからない。 View > Reload してみても見つからない…(´・ω・`)

image.png

よし、一度ダッシュボードに戻ってから、またフローの編集画面を開いてみる。お…?

なるほど、そういうことなのですね。

どうやら、enebular editor は、フローの編集画面を開くときにいったん npm パッケージを全消ししてから、フローで使われるパッケージを改めてインストールしているようです。ふむ、 npm link した自作ノードのリンクも消されてしまうのですね~。目論見失敗 (´・ω・`)

結論

現時点の enebular editor (0.9.0) では、自作ノードは利用できなさそう(´・ω・`)

今後の更新で自作ノードも使えるようになること期待します~!✨

Epilogue - おわりに

ということで、期待叶わずという結果になってしまいましたが、enebular editor の動きを知ることができてそれはそれで面白かったです!

enebular はフローの管理やエッジデバイスへのデプロイなど、チーム開発や本番運用に近いところが良いところなので、ノードの開発・検証は Node-RED 単体で行って、自作ノードが晴れて Node-RED Flow Library にリリースできたら enebular で仕上げるという流れが本来なのかもしれませんね!

良い知見となりました!今後の更新も楽しみにしております!(・ω・)ノ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした