タイトル通りの内容になります。こんなの以下のURLから作業すれば一発だろ?と考えていた時期が俺にもありました。
Androidにインストールしてみる
今回、インストールのターゲットとしたのはNexus7(2013)
です。今となっては9年も前のハードウエアになるので、OSが大丈夫なのということも考えられるのですが、以前Nexus7
にAndroid11
(厳密にいうならばLineage OS 18.1
)を自己責任でインストールしていたものがあったのでそちらを使用しています。
参考
このハードウエアに先程のURLの情報を使ってインストールしてみます。手順としては以下のようになります。
GooglePlayストア
からTermux
をインストールする- インストールした
Termux
上でNode-RED
に必要になるようなパッケージをインストール node-red
を起動Android
にインストール済のブラウザからNode-RED
へアクセス
この手順でNode-RED
のフローエディタを使うことができます。起動後は外部アクセスしなくても使用できる点はなかなかいいですね。
では早速やってみましょう。
1.Termux
をインストールする
ちなみにTermux
は、Android
の環境内にLinux
的な実行環境を提供する端末エミュレーターアプリとなります。特に端末のRoot化
などを行うことをせずそのまま使えるのが利点です。
ページには以下のように記載があります。
アプリストアのTermuxアプリを利用することで、簡単にAndoroidデバイス上でNode-REDを実行することができます。 このアプリはPlayストアから入手できます。
参考ドキュメントの情報通りGooglePlayストア
に行ってアプリを検索し、インストールを行います。
あとは、【インストール】ボタンをタッチすればOKです。特にエラーなどもなくインストールは終了します。 通常のアプリ同様にアイコンをタッチすれば起動ができます。ストア上で【開く】ボタンをタッチしてもOKです。
2.インストールしたTermux
上でNode-RED
に必要になるようなパッケージをインストール
Termux
を起動すれば、ターミナルが開きます。ほぼLinux
と同様の環境になるので、ドキュメントに従いインストール作業を行っていくことになります。
$ apt update $ apt upgrade $ apt install coreutils nano nodejs $ npm i -g --unsafe-perm node-red $ node-red
しかし、apt update
コマンドを実行してもエラーが発生します。最初は使用していたAndroid
のOSが厳密にはLineage OS
であることに原因があると思い、いろいろと作業をしてました。また、apt
コマンド以外でもpkg
というコマンドでもパッケージのインストールができるので、そちらを使ったりもして、インストールまで行くことはできるようですが実際は茨の道になってしまいます。
apt
コマンドが失敗する理由
実はドキュメントにも以下の様に記載はあるのですが、
Note : Node-REDチームはTermuxアプリケーションおよびその開発に何の関わりも持っていません。 現時点では動作していると言う以外に サポートを提供することはできません。
動作は保証されないような記載になっています。このあたりも怪しいのかなと思ってネットを検索すると、2021年頃からTermux
上のapt
やpkg
コマンドからエラーが発生するような情報がでていました。調べてみると、SDKの動作の変更と新しいGooglePlayポリシー
によって、Termux
はストアでアップデートを受信しなくなり、代わりに、F-Droid
からアプリケーションとアドオンをインストールする方針となったようです。
参考
Termux and its plugins are no longer updated on Google Play Store due to android 10 issues and have been deprecated. The last version released for Android >= 7 was v0.101. It is highly recommended to not install Termux apps from Play Store any more.
PlayストアからTermuxアプリをインストールしないことを強くお勧めします。
参考ページにも記載がありますがF-Droid
もアプリストアのようなサービスになります。専用アプリもあり、そのアプリ経由でアプリのインストールも可能ですが、APKファイル
をダウンロードしてインストールすることも可能です。
F-Droid - Free and Open Source Android App Repository
F-Droid
からTermux
をインストールしていくことになりますが、F-Droid
の専用アプリを使用せずAPKファイル
でインストールします。
まずは事前にAndroid
側でGoogle Chrome経由
でアプリをインストールできる用に設定をします。
1.設定画面
2.アプリと通知
3.詳細設定
4.特別なアプリアクセス
5.不明なアプリのインストール
6.使っているブラウザ(Chrome
等)を選択
6.「この提供元を許可する」をON
最終的にGoogle Chrome
でインストールが許可となっていれば設定完了です。
設定が不要になれば、このスイッチを「許可しない」にすれば元に戻ります。
F-Droid
からTermux
をインストール
あとはF-Droid
にアクセスして、APKファイル
をダウンロードしてダイアログ確認でインストールをすれば、アプリのインストール処理が行われます。
インストールするとアイコンが表示されるので、タッチしてTermux
を起動します。
起動後は以下のようなターミナルが表示されます。あとはソフトウェアキーボードなどを使用してコマンドを入力していきます。
あとはドキュメント通り以下のように入力していくことでNode-RED
のインストールが行なえます。
$ apt update $ apt upgrade $ apt install coreutils nano nodejs $ npm i -g --unsafe-perm node-red
途中エラーっぽい表示も表示されますが、大きな問題はないようです。
3. node-red
を起動
インストールが完了したら、以下の様に実行しNode-RED
を起動します。
$ node-red
4.Android
にインストール済のブラウザからNode-RED
へアクセス
あとはGoogle Chrome
などからhttp://localhost:1880/
http://localhost:1880/
へアクセスすればブラウザ上にフローエディタが起動されます。
さすがに解像度が低いため画面縦向きではワークスペースが狭いので横向きにします。
動作を確かめる
あとは実験になりますが、簡単な実験をしてみます。
injectノード
とdebugノード
を使用して、デプロイして表示が出るか確認してみました。
うまく動作しているようです。どれぐらいの速度で動作してくれるのかはまだわかりませんが、Android
でも無事に処理を行ってくれそうです。
おわりに
今回はAndroid
タブレットにNode-RED
をインストールしてみました。ドキュメントの情報で簡単にインストールができるかなと思っていたのですが、割と時間がかかってしまいました。
ただ、今回インストールしたTermux
はLinuxターミナル
のような動きをしてくれるので簡易なWebサーバのような動きをしてもらうようなことも可能なのかなと思いました。純粋にNode.js
やpython
も動作可能でしたので、色々面白いこともできるのではないでしょうか。