Fireタブレットに Termux を入れて Node-RED を実行する
使わなくなったFire HD 6があったので、Node-REDを入れてみました。基本的にはNode-RED日本ユーザ会の公開している手順に沿っていますが、OSがFire OS 5(Android 5.1ベース)と古く、苦労したので手順を残します。
動作環境
- Fire HD 6 (第4世代)
- Fire OS 5.7.0.0
手順
Termuxのインストール
まず、Termuxをインストールします。
2022年8月現在、Android 5ではGoogle Play版Termuxが動作しないため、Android 5対応バージョンのapkファイルをダウンロードしてインストールする必要があります。
そもそも、FireタブレットはAmazonアプリストアからしかアプリをインストールできず、AmazonアプリストアにはTermuxは登録されていません。
- [設定]−[セキュリティとプライバシー]を開く
- [不明ソースからのアプリ]をONにする
- Android 5対応バージョンのapkファイルをダウンロードする
-
https://archive.org/details/termux-repositories-legacy から以下のファイルを探してダウンロードする
- termux-v0.79-offline-bootstraps.apk
- ダウンロード時に「有害なファイルの可能性があります」と警告が表示されますので、続行するか否かはご自身で判断してください。なお、ダウンロード元の情報は https://github.com/termux/termux-app に基づいています。
-
https://archive.org/details/termux-repositories-legacy から以下のファイルを探してダウンロードする
- Fireタブレット標準の[ドキュメント]アプリ等を使って、ダウンロードした「termux-v0.79-offline-bootstraps.apk」ファイルを開き、インストールする
- Termuxを開いて以下画面が出ればインストール完了しています
Termuxの設定変更
Termux起動してapt update
を実行するとリポジトリ絡みのエラーとなるので、以下ページの情報を元に参照リポジトリを変更します
# もともとの以下の行はコメントアウト
#deb https://termux.net stable main
# 以下の行を追加
deb https://packages.termux.dev/apt/termux-main-21 stable main
# もともとの以下の行はコメントアウト
#deb https://dl.bintray.com/grimler/game-packages-21 games stable
# もともとの以下の行はコメントアウト
#deb https://dl.bintray.com/grimler/science-packages-21
gameとscienceのリポジトリを以下に変更してもエラーとなるのでコメントアウトのみとしました
deb https://termux.dev/game-packages-21-bin games stable
deb https://termux.dev/science-packages-21-bin science stable
Node-REDのインストール
以下を入力します。
apt update
apt upgrade
apt install coreutils nano nodejs-lts
npm i -g --unsafe-perm node-red
node-red
Node.jsはapt install nodejs
だとNode-RED非対応のバージョン13がインストールされるため(2022年8月時点)、apt install nodejs-lts
でバージョン12をインストールしています。
ブラウザでhttp://localhost:1880
を開くと以下画面が表示されます
Termux:apiのインストール
端末の持つセンサ等にアクセス可能となるよう、Termux:apiをインストールします
-
termux-v0.79-offline-bootstraps.apk
をダウンロードしたのと同じ場所からtermux-api-git-debug.apk
をダウンロードし、ファイルを開いてインストールします - Termuxのターミナルを開き、以下を入力します
apt install termux-api
- Node-REDに
node-red-contrib-termux-api
というノードを追加すると、以下画面のように簡単に端末の情報にアクセスできます
補足
- LinuxとしてTermuxではなくUserLAndも試してみましたが起動できませんでした。行った手順は以下の通り。
- 開発者オプションでUSBデバッグを許可する
- Fire ToolboxでGoogle Playからアプリをインストールできるようにする
- Google PlayからUserLAndをインストール
- UserLAndを起動し、Ubuntuをssh環境で起動しようとする
- エラー表示されないが、ターミナルが表示されない。
- ポート2022で待ち受けるはずのsshdも起動していない模様。
以上