物理ボタン(?):格安中古スマホをスマートホームのリモコン専用機にする

📅
本ブログでライフワーク化(😅?)している『物理ボタン(物理スイッチ)をスマートホームのトリガーにする』話ですが、今回は格安中古スマホを買ってスマートホームのリモコン専用機にしてみました。
(リモコン専用機です。ネット閲覧やSMSなどの他の用途には使いません)

スマホのホーム画面を利用したリモコンなので厳密には『物理ボタン(物理スイッチ)』とは言えないのですが😅、リモコン用ボタンの常時表示など、物理ボタンリモコンと同じ操作性を追及しました
結果として結構いい感じですよ♪

今回はその紹介です。内容盛りだくさんの超大作です😋!


■格安中古スマホをスマートホームのリモコン専用機にする

●使用するハード・アプリ

・ハード(格安中古スマホ)

中古スマホ選定の条件は
  • Wi-Fiが使えること(宅内のWi-Fiと繋がること)
  • アプリ『Automate』がインストールできること
の2点です。

(お宅に眠っているスマホがあれば、それで試して見るのが一番だと思いますが)新規に中古スマホ屋さんで中古品を購入する場合は、できるだけ新しいOSのモノを買うことをオススメします(少しでも永く使えますし。一部気になるところもありますが(後述))。

私が買ったのはコレです。
リモコン専用機として購入した格安中古スマホ:Rakuten Mini C330 Cool White

中古屋さんで3,980円でした。OSはAndroid 9 Pieです。ちょっと小型なので操作性はどうかな?と思いましたが、結果問題ありません(場所も取りませんし😋)。


・アプリ

  • Automate
Automate - Google Play

スマホの自動化アプリです。同様のアプリとしてはTaskerの方がメジャーですが、私はフローチャート風のUIが好きでAutomateを愛用しています。

スマホにインストールするのはこのアプリだけです(このアプリの後はWebhooks・IFTTT(クラウドサービス)なので、このスマホへのインストールは不要です)。


●リモコン用ボタンの作成

本システムではAutomateのショートカットをリモコン用ボタンとしてホーム画面に配置します。
リモコン専用スマホのホーム画面(Automateショートカットのボタン)


・Automateの設定(ショートカットの作成)

スマートホーム(IFTTT)のトリガーになるフロー(Webhooksを発行するフロー)を作成したら、『Flow beginning()』を選択します。
ショートカットで動かすAutomateのフロー

のWebhooksを発行するブロック、およびそれ以降のAutomateからスマートホーム(IFTTT)を起動する(Webhooks以降の設定)方法はこちら:『AutomateをIFTTTのトリガー(IF)に設定する(Webhooks使用)』をご覧ください。)
リンク:『AutomateをIFTTTのトリガー(IF)に設定する(Webhooks使用)

開いた画面で『INSTALL HOME SCREEN SHORTCUT』を選択してホーム画面にフローのショートカットを作成します。


するとホーム画面にショートカットが作成されます。
ホーム画面にショートカットが出来ました!


・スマホのホーム画面の設定

必要なAutomateのショートカットの作成が終わったら、作成したショートカットを全てメインページに移動します。

更に
  • メインページから不要なアイコンは削除
  • 通知も可能な限りOFF
を行うと、誤操作等を招く余分なモノが無い『リモコンとしてのホーム画面メインページ』が出来上がります。
スマートホーム用リモコン専用ホーム画面の完成!


●物理ボタンリモコンに近づけるための設定

ここまでの設定でスマホのホーム画面を開けばリモコンとして動作するようになりました。

ですが、この状態ではホーム画面を開くまでに
  • 先ず電源ボタン操作でロック画面を開いたり
  • ロック画面解除にPINを入力したり
  • (画面ロックを無効にしても電源ボタンを押す必要があったり)
と二手間も三手間もかかって使い勝手が良いとは言えません。

『物理ボタンリモコンに負けない』ためにはこれではダメダメですよね。

そこでひと工夫をします!このシステムはここから先の内容が本番です😋!

【参考】
スマホ設定の『画面ロックとセキュリティ』から『画面ロック:なし(無効)』を選択した場合でもホーム画面を開くために電源ボタンを押す必要があります。

これではリモコンとして使うには今七つですよね~😅。


・スマホをスリープさせない(常にホーム画面(メインページ)を表示させる)

物理ボタンリモコンと同じような操作性を達成するためには、スリープから復旧時のPIN入力や電源ボタン操作等を省くために”スリープさせない”ことが大事です。

ここでは『スマホ(Android端末)がスリープになる前にホームボタンを押す』というAutomateの自動化フローを作成してスマホを常時スリープしないようにします。


- Androidの設定

先ずAndroidの『設定』>『ディスプレイ』>『スリープ』を最大の値(ここでは『30分』)にします。
『スリープ』は最大値にします


- Automateの設定(フローの作成)

続いてAutomateのフローの作成になります。

今回のフローは3種類(①~③)のブロックからなります。
Automateのフロー:『スマホをスリープさせない』

以下、それぞれのブロックの内容を紹介していきます。


ブロック①:ホームボタンを押す
選択するブロック:『Interface』の中の『Interact』
ブロック①『Interact』:ホームボタンを押す

ブロックの設定:
  • 『Options』の『Proceed』:『When UI element appeared』にします
    • 『操作するボタンなどが画面に現れたら実行』という意味です。(ホームボタンはほぼ常時画面上にあるので、今回は不要といえば不要かもしれません😅。)
  • 『Input arguments』の『Action』:『Home (Android 4.1+)』にします
    • 『ホームボタンを押す』という動作をアプリに実行させます

このブロックを2つ設定しているのは、『ホームボタンを2回押すと(前画面がどれであれ、リモコン用ボタンのある)ホーム画面のメインページに確実になる』からです。


ブロック②:遅延(Delay) 1秒
選択するブロック:『Date & time』の中の『Delay』
ブロック②『Delay』:遅延 1秒

ブロックの設定:
  • 『Options』の『proceed』:『Inexact』にします
    • 遅延時間を『正確(厳密)』ではなく『だいたい』も設定します
  • 『Input arguments』の『Duration』:『0h 0m 1s』にします
    • 遅延時間を1秒(1s)に設定します。
このブロックはホームボタンを2回押す動作の間隔を1秒にするためのものです。スマホの機種によっては不要な場合もあると思います。


ブロック③:遅延(Delay) 25分

本ブロックはブロック②と同じです。

選択するブロック:『Date & time』の中の『Delay』
ブロック③『Delay』:遅延 25分

ブロックの設定:
  • 『Options』の『proceed』:『Inexact』にします
    • 遅延時間を『正確(厳密)』ではなく『だいたい』も設定します
  • 『Input arguments』の『Duration』:『0h 0m 1s』にします
    • 遅延時間を25分(25m)に設定します。
このブロックはスリープになる時間(ここでは『30分』)より短くしなくてはなりません。
時間設定である『Proceed』を『Inexact(だいたい)』にしているので余裕をもった時間に設定します。


フロー全体の設定:ログの記録の停止
Automateはログがある程度(設定によります)溜まるとログオーバーフローによりフロー停止してしまいます。これを防ぐために必ず『Logging』を『OFF』にしましょう。
ログは記録しないようにします


以上でAutomateのフローの作成は完了です。
このフローにより、スマホを(非操作状態から)起こす必要が無いので、1タップ省くことができて物理ボタンスモコンに近い操作性が得られます。


- 省電力設定:周囲が暗いときは画面を暗くする

ここまでの設定で目的は達成していますが、不必要な時も画面が明るいのは気持ちが悪いので、スマホの周囲が暗いときはスマホの画面も暗くなるようにします。

スマホの『設定』>『ディスプレイ』>『明るさの自動調節』は『ON』にします。


・操作音と操作時バイブレーション

更に物理ボタンに近づけたいので、ショートカットを押した時の操作音と操作時バイブは欲しいですよね。

Androidシステムの『音設定』から設定してみました。
  • 操作音:いい感じで鳴ります
  • 操作時バイブレーション:残念ながらAutomateのショートカットを押しても振動しませんでした😥(理由は分かりません)。

●スマホならではの付加機能

・時計と天気予報(ウィジェット)の追加

我が家ではホーム画面に邪魔にならない程度に役立ちそうな機能として時計と天気予報のウィジェットを追加しています。
追加したガジェット:時計と天気予報

ココらへんはスマホならではですね♪

・ホーム画面を横表示 

スマホを横置きしたい時も、スマホなら楽ちんですね♪
ホーム画面の横表示

ホーム画面が横表示に対応していないスマホもあるようですが、ホーム画面の横表示に対応したランチャーアプリを導入すれば出来るみたいですよ。


●使用感

ボタン操作からスマートホームサービス(ここではIFTTT)実行までの反応が速いです!
(今まで私が実使用してきた既成の物理ボタンシステムより経由するアプリ・サービスが少なくなったためでしょうね😋。)

我が家ではこのスマホリモコンを洗面所に設置してBluetoothスピーカーで鳴る音楽ソース(音源はリビングにあります)の選択に使用しています。
我が家での実施例


●改善したい点

・操作時にバイブレーションしない

なにか方法があるような気がするのですが…。なんとかならないですかね~。
(我が家の3台のスマホで試してみましたが、どれもダメでした。)


・充電器常時接続時の不要な警告・充電停止

我が家ではこのリモコン専用スマホには充電器を常時接続しています。(設置場所も固定で持ち歩かないので、都度充電はめんどうなので。)

なのですが、満充電状態(100%)が続くとスマホが警告を出して充電を停止してしまいます。
気が利き過ぎていますね😑。OSが新し過ぎるせいでしょうか😅。
我が家の本システムにとっては要らない警告

我が家の本システムにとってこの機能は邪魔なだけ(この状態をクリアするのにまた操作が必要)なので、スマートプラグを使ったシステムを使って満充電状態が続かないようにしています。
リンク(ブログ内):スマホ過充電防止システム


無駄な出費(スマートプラグ)が増えた~。我が家はこれでしのいでいますが、この警告自体をなんとかしたいですよねぇ~。
  • 通知のOFF
  • バッテリー自体の無効化(常に充電器からの電力だけを有効にする)
のどちらかができるようにならないかなぁ。

【参考】
我が家はもう一台リモコン専用のスマホがあるのですが(OSはAndroid 7です)、そちらではこんな表示は出ないので充電器の再接続は不要です(繋ぎっぱなし)。
使いやすさを優先するのであればOSは新しくない方が良いかもしれませんね😅。


●まとめ

今回作ったシステムの操作性や反応には満足しています。

ESP32やラズパイを使えば更に速いシステムも組めますが、ケースを作ったりすることを考えると中古スマホほど安くは作れないですよね。

各種センサー・Wi-Fiも備えていて、処理能力もあって、しかも中古なら格安!なスマホは使い途がありますね😋。


0 件のコメント: