NiceHash Widget の表示

仮想通貨の採掘のためのハッシュパワーの取引所のNiceHashのAndroid用アプリのウィジットを使って、仮想通貨の採掘に使っているリグ(ゲーミングPC)の動作状況をデジタルサイネージ風にディスプレイに常時表示できるようにするまでの記録を残しておく。

背景

これまで、Netatmo weather の各部屋の情報を Google TV Box (Mini M8S)を使って、デジタルサイネージ風にディスプレイに常時表示していた。Windows Update の関係で、ゲーミングPCで動作させているNiceHashが止まっていることがあったので、NiceHashのリグの動作状況も表示できるようにしたいと考えた。

スマフォで試したところ、Activeであるかどうかと current profitability がウィジットで表示されることがわかった。しかし、 Mini M8S のAndroid のバージョンが古く、6.0.1 のため NiceHashのアプリが対応しておらず、インストールできない。そこで、Android の新しいバージョンの Android TV Box に移行することにした。しかし、結果的にはうまくいかなかった。しかたがないので、Raspberry Pi 4 にAndroid (LineageOS 18.1) をインストールすることで動作させることができた。

条件

20インチ以上のディスプレイで、NiceHashのWidget を表示できるようにしたい。タブレットでは小さすぎる。

これまでにも表示していた Netatmo weather の情報や天気予報も、ディスプレイの任意の位置に表示できるようにしたい。

以前はあったAndroidの組み込まれたモニターも売っていない。Android端末で外部出力がある安価なものがないので、一般的なモニターと Android TV Box もしくは Android を組合せることを考える。

Android TV Box での試み

まずは、これまでに使ってきたのと同様に Android TV Box を試してみた。結果的には、Android TV Boxではうまく動作させることができなくなった。

Raspberry Pi 4 を使った記録までは、Android TV Boxでの失敗の備忘録である。

ランチャー

Android TV の標準ランチャーではWidgetの表示ができない。Widget表示ができるLauncher が必要である。

画面全面にWidget を配置したいが、ATV Launcher や Top TV Launcher 2 Trial を試したが、思うような配置ができない。

Mini M8S でも使っていた Nova Launcher を使うことにした。ただし、Nova Launcher は Android TV には正式には対応していないようである。

試したAndroid TV デバイス

Mecool KM1 classic

Googleの認証のある Mecool KM1 classic で試そうとしたが、Nova Launcher がそもそも Google Play でインストールできない。

また、Nicehash アプリもインストールできない。

うまくいかないので、他のデバイスを試すことにした。

X88 Pro 10 バージョン11

X88 Pro 10 はGoogleの認証がないためか、制限がされておらず、Nova Launcher も Nicehash アプリもインストールできた。

Nova Launcher を常時デフォルトにセットしないと、組み込みのSmartLauncherが起動してしまった。カーネルバージョン 4.19.161(ビルド rk33x8_box-userdebug 11 RP1A.2000720.011 eng.foxluo.20210415.194445 release-keys)では、Nova Launcher を常時デフォルトにすることで一応動作するようになった。

しかし、その後、システムのアップデートをしたら、一定時間おきに表示が再描画されるようになって、非常に気になるようになってしまった。システムのアップデートを戻す方法がわからない。このため、X88 Pro 10 の利用も断念した。

X88 Pro 10 を adb でデバッグ

Smart Launcher を起動しないようにするために adb での接続を行なったりした。結果的には adb での操作は不要であったが、ちょっと手間取ったので記録を残しておく。

adb の設定をしてみたが、USB 2.0 のポートをPCにつながないとadb での接続ができなかった。最初これがわからず、USB設定の選択をいろいろと変えてみたりして時間を無駄にした。USB 2.0 のポートであれば、USB設定の選択は「充電」のままで大丈夫のようだ。

デバイスが接続していることを確認

パッケージのリスティング

Smart Launcher のディセーブル

Raspberry Pi 4

Android TV Box ではうまくいかないので、Raspberry Pi 4 にAndroid をインストールして試すことにした。

Android 11 が使えるものを探したところ LineageOS 18 があることがわかった。

Raspberry Pi 4 は、発熱が大きく、放熱が問題になるようだが、ファンがあるとノイズが出るので、パッシブ冷却のアルミケースに入れて使うことにした。

LineageOS 18.1 (Android 11) for Raspberry Pi 4

konstakang.com の LineageOS 18.1 (Android 11) for Raspberry Pi 4 ( https://konstakang.com/devices/rpi4/LineageOS18/ ) を使うことした。

balenaEtcher を使ってWindows 10 のPCから micro SDカードへの書き込みをしたが、最後にFailした。しかし、そのmicro SDカードでも起動はできたので、そのまま使っている。不具合が発生するかもしれない。

Raspberry Pi への LineageOSのインストールは、「Raspberry Pi 4 に LineageOS 18.1 (Android 11) を入れる」が大変参考になりました。

Nova Launcherのインストール

Widget を自由に配置するために、Nova Launcher を使うことにした。

LineageOS には Google Playがインストールされていないので、まず、Google Play をインストールしてから Nova Launcher をインストールした。

Google Play のインストール

Raspberry Pi 4 のブラウザで、OpenGApps の ARMのAndroid 11用のテスト版の  ( https://sourceforge.net/projects/opengapps/files/arm/test/20210130/ ) pico 版(open_gapps-arm-11.0-pico-20210130-TEST.zip) をダウンロードしてインストールした。

TWRP(TeamWin Recovery Project)が、LineageOS 18.1 (Android 11) for Raspberry Pi 4には含まれているので、TWRP を起動して、ダウンロードしたファイルをインストールすればよい。

TWRPを起動できるようにするためには、再起動時にリカバリーモードに入る必要がある。リカバリーモードに入れるようにするために、OpenGApps をダウンロード後に、Androidの設定の「システム」→「ジェスチャー」→「電源ボタンメニュー」→「advanced restart」をオンにする。

その後、F5キーを長押しすることで、起動画面になるので、「再起動」を選択して再起動すると、「System」と「Recovery」が選択できるようになるので、「Recovery」を選択して、TWRPを起動する。

TWRPが起動されたら、TWRPのメニュー画面で「Install」を選んでから、ダウンロードしたOpenGAppsのファイル (open_gapps-arm-11.0-pico-20210130-TEST.zip)を選択してインストールする。

インストールが終わったら、TWRPのメニュー画面で「Reboot」を選び、「System」を選択することでAndroidが再起動される。

TWRPの使い方は「TWRPをインストールする方法と基本的な使い方」が大変参考になりました。

再起動後は Google Play がインストールされているはずである。必要なアプリをインストールすることができる。

ウィジットの設定

必要なアプリ(Nova Launcher, Netatmo weather、Nicehash など)をインストールし終わったら、ウィジットの設定を行う。Nova Launcher の設定が必要になるが、ここでは説明を省略する。

Netatmo weather

Netatmo weather のウィジットを設定した。特に問題なくできた。

Nicehash

Nicehash のアプリにログインをしようとしたが、ユーザIDとパスワードを入れ、CAPTCHA を入れると失敗する。

有線LANで接続していたが、メッセージをみると WiFiが使えないためにエラーになっているようだ。なぜ、そのようなチェックが入っているかは不明であるが、WiFiで接続しないとうまくいかない。

WiFiに接続して、ログインして、ウィジットの設定をした後に WiFiを切って有線LANで接続するとやはりうまくいかない。困ったものである。とりあえずは、WiFi接続で運用するしかない。

まとめ

Raspberry Pi 4 で LineageOS 18.1を動作させ 、目的の Nicehash や Netatmo Weather などのウィジットを動作させることができた。

しかし、NicehashはWiFi環境でないと動作せず、手元の有線LAN環境では動作させることができなかった。Nicehashアプリの問題なので、当面できることはなさそうである。