ククログ

株式会社クリアコード > ククログ > Node-REDをYoctoレシピによりインストールする

Node-REDをYoctoレシピによりインストールする

2017年7月6日の記事で紹介した通り、クリアコードは組み込みLinux向けにMozilla Firefoxを移植するプロジェクトGecko EmbeddedWebDINO Japan(旧Mozilla Japan)様と共同で立ち上げ、開発を進めております。Yoctoを使用してFirefoxをビルドしたりハードウェアクセラレーションを有効化する際のノウハウを蓄積して公開することで、同じ問題に悩む開発者の助けになることを目指しています。

この記事では、Gecko Embedded本体ではなく周辺のミドルウェアのNode-REDをRZ/G1で動かす話を書きます。 Node-REDは、ハードウェアデバイス/APIおよびオンラインサービスを接続するためのツールです。

現在のステータス

ターゲットボード

2月時点では、Node-REDのビルド及び動作は以下のボードで確認しています。

ビルド方法

レシピはGitHubにて公開されているものを使用します。

Yoctoに組み込むには、meta-nodejs-contribを git clone したのち、(bitbakeのビルドディレクトリ)/conf/local.confへ

IMAGE_INSTALL_append = " node-red nodejs nodejs-npm "
PREFERRED_VERSION_nodejs = "6.11.2"
PREFERRED_VERSION_nodejs-native = "6.11.2"

(bitbakeのビルドディレクトリ)/conf/bblayers.confへ

BBLAYEYS += " ${TOPDIR}/../meta-nodejs "
BBLAYEYS += " ${TOPDIR}/../meta-nodejs-contrib "

をそれぞれ追加し、bitbakeを実行します。 ここで、RZ/G1向けのYoctoではNode.js 6.11.2の動作確認が取れているため、 PREFERRED_VERSION_nodejs には 6.11.2 を指定しています。

動作確認

Node-REDを上記の設定でビルドした場合、node-red コマンドが起動イメージにインストールされます。

$ node-red
21 Feb 04:53:01 - [info] 

Welcome to Node-RED
===================

21 Feb 04:53:01 - [info] Node-RED version: v0.17.5
21 Feb 04:53:01 - [info] Node.js  version: v6.11.2
21 Feb 04:53:01 - [info] Linux 4.4.55-cip3 arm LE
21 Feb 04:53:07 - [info] Loading palette nodes
21 Feb 04:53:12 - [warn] ------------------------------------------------------
21 Feb 04:53:12 - [warn] [rpi-gpio] Info : Ignoring Raspberry Pi specific node
21 Feb 04:53:12 - [warn] ------------------------------------------------------
21 Feb 04:53:12 - [info] Settings file  : /home/root/.node-red/settings.js
21 Feb 04:53:12 - [info] User directory : /home/root/.node-red
21 Feb 04:53:12 - [info] Flows file     : /home/root/.node-red/flows_iwg20m.json
21 Feb 04:53:12 - [info] Creating new flow file
21 Feb 04:53:12 - [info] Starting flows
21 Feb 04:53:12 - [info] Started flows
21 Feb 04:53:12 - [info] Server now running at http://127.0.0.1:1880/

となれば動作確認は完了です。 Node-REDの使い方に関してはNode-REDの公式サイトのドキュメントを参照してください。

まとめ

Node-REDのYoctoレシピを用いてRZ/Gシリーズのボードに載せた話を紹介しました。