enebularウフル社員版のアドベントカレンダー2日目の記事はちょっとした小ネタです。
RaspberryPi上でも動作するenebular editor
enebularのデスクトップアプリケーションであるenebular editorは、RaspberryPi上でも動作するように今年の2月にリリースされました。
これによりenebular-agentを使わなくてもRaspberryPi固有の機能を使うフローの開発を行うことができるようになりました。
RaspberryPi上のターミナルにて、以下のコマンドでインストールできます。(Nodejsがインストールされていることが前提です)
wget -4qO- https://enebular.com/editor-install | sudo -u "$USER" -E bash -s -- --arch=arm
※"$USER"はインストールするユーザー名です。基本はpiで良いと思います。
しかし、enebular editorは基本、あくまでエディターなのでRaspberryPiを画面無しで起動してフローを動作させることがそのままではできません。
本記事では、RaspberryPiを起動した際、自動的にフローを動作させる方法を紹介します。
フローを指定して起動
enebular editorは以下のように起動オプションで、フローID
やログイン情報を指定すると直接フローを起動することができます。(パスは標準でインストールされるパスです。)
/home/pi/Applications/enebular-editor/AppRun.AppImage --flow_id=フローID --email=enebularログイン時のメールアドレス --password=enebularログイン時のパスワード
フローID
というのは、enebularでフローのOverview画面を開いたときのアレです。
起動時に自動起動
OSの機能としてデスクトップアプリを自動起動する方法があるのでそれを使います。
まず、以下のコマンドで.desktopファイルを作って下さい。ファイル名は他でも良いです。
$ sudo touch /etc/xdg/autostart/enebular-editor.desktop
次に作成したファイルを編集します。
例:nanoで開く
$ sudo nano /etc/xdg/autostart/enebular-editor.desktop
ファイルに以下のようにenebular editorの起動コマンドを書きます。フローID
やログイン情報は書き換えて下さい。
[Desktop Entry]
Name=PiCounter
Exec=/home/pi/Applications/enebular-editor/AppRun.AppImage --flow_id=フローID --email=enebularログイン時のメールアドレス --password=enebularログイン時のパスワード
これで再起動すればenebular editorが自動的に起動し、指定したフローを開いて動作します。
ただし、enebular editorはenebularからフローを読み込むので、インターネットに繋がっていることが前提です。
起動時間について
先程も書いたとおりenebular editorはenebularからフローを読み込んでインストールを行うため、起動にちょっと時間がかかります。フローにもよりますが電源を入れてからフローが起動するまで、RaspberryPi 4Bで3分
程度、RaspberryPi 3Bで6分
程度かかります。
この点に関しては、enebular-agentの場合はデプロイされたフローを開くだけなので50秒
程度です。
そのため、enebular editorはあくまでプロトタイピング用途でお考えてもらえればと思います。
実運用する場合は、enebular-agentをぜひ。
enebular-agentのインストール方法については、以前にも詳しく書いているので、ご参考に!
enebular-agentをRaspberry Piにインストールする