Pixelスマホを充電開始とともに起動させる

機種変更などをして普段使いしなくなったAndroidスマホを、車専用にカスタマイズしてみます。具体的には、

  • 充電開始(エンジン始動)時にスマホを起動(adb,Fastboot)
  • 充電終了(エンジン停止)時にスマホをシャットダウン(Macrodroid)
  • 格安なデータ専用SIMでの選定(y.u mobile)

を行いました。機種は、Google Pixel 7a。Android Autoでディスプレイ・オーディオに接続して利用予定です。

なお、下記を参考にして不具合が発生しても、一切責任は負えません。自己責任で行ってください。
操作ミスなどによりスマホが起動しなくなったり、バッテリー残量が0%にしてしまうとリブートを繰り返す事象が発生する可能性があります。
バッテリー内蔵のスマホを炎天下の車内に放置するのは危険なので、避けてください。
Pixel 7aで確認しています。他機種では項目の位置や名称が異なることがあります。

充電開始(エンジン始動)時にスマホを起動

電源オフの状態で車のUSBポートに接続しておき、エンジン始動と同時にスマホを起動させます。
起動後は車のディスプレイ・オーディオに接続するように設定しておきます。

  • 開発者向けオプションを有効化
    [設定] > [デバイス情報] > [ビルド番号]を確認。[ビルド番号]オプションを7回タップして「開発者向けオプションが有効になりました」の表示を確認。

  • USBデバッグをON
    [設定] > [システム] > [開発者向けオプション]へ移動。[USB デバッグ]オプションを「ON」に変更

  • Android SDKプラットフォームツール
    Windows 11 で、「Android SDKプラットフォームツール」から「SDK Platform-Tools for Windows をダウンロード」をクリックしてダウンロード。ダウンロードした「platform-tools-latest-windows.zip」を解凍。必要であれば「platform-tools」フォルダをC:¥などへ移動

  • Google USBドライバ
    Windows 11 で、「Google USBドライバ」から「Google USB ドライバの ZIP ファイル(ZIP)をダウンロードする」をクリックしてダウンロード。解凍後、「android_winusb.inf」を右クリック後に「インストール」。インストール後はWindowsを再起動

  • 通信可能なUSBケーブルでスマホとWindowsを接続
    Android側の通知で「USBデバッグが接続されました」と「USBファイル転送モードON」を確認。異なる場合は通知をタップ後に「ファイル転送/Android Auto」へ変更

  • adb, fastboot
    Windows PCで、[Win]+R を押した後 cmd と入力しterて「OK」。コマンドプロンプトを開く
    下記はAndroid SDKプラットフォームツールを「C:\platform-tools」へコピーしたと仮定した手順


    C:\Users\PCUser> cd \platform-tools
    C:\platform-tools> adb devices
    List of devices attached
    38111JEHN00000 device ← このような行が表示されることを確認

    上記の device行が表示されていること。表示されていない場合は、接続がうまくいってません


    C:\platform-tools> adb reboot bootloader

    スマホ画面が「Fastboot Mode」になっていることを確認


    C:\platform-tools> fastboot oem off-mode-charge 0
    OKAY [ 0.016s]
    Finished. Total time: 0.018s

    「OKAY」が表示されていれば成功。スマホの電源ボタンを押して再起動。USBケーブルは外す。コマンドプロンプト画面を閉じる

  • 動作確認
    スマホの電源を落とした状態で、USBケーブルを接続して給電を開始。起動できれば完了
    開発者向けオプション内のUSBデバッグを無効化しておく
    開発者向けオプション自体も不要であれば無効化する

充電終了(エンジン停止)時にスマホをシャットダウン

機能実現のために、MacroDroidを利用します。利用開始から7日間は無料ですべての機能が利用可能なので、その間に確認を。継続利用する場合は、購入しましょう

MacroDroidで、マクロは3つ作成。「給電停止時一定時間後にシャットダウン」、「残量20%以下でシャットダウン」、「給電再開時はシャットダウンをキャンセル」を作ります

  • 給電停止時一定時間後にシャットダウン

    トリガー:
     (バッテリー/電源) > (電源の接続/切断) > 「電源の切断時」
    アクション:
     (マクロ) > (次のアクション実行前に待機) > 「4分30秒」
     ※ 時間は自由に変更を
     (機器の操作や動作) > (テキストを読み上げる) > (テキストに)「まもなくスマートフォンが再起動されます」
     (機器の操作や動作) > (Androidショートカット) > 「「電源オプション」を表示」
     (マクロ) > (次のアクション実行前に待機) > 「30秒」
     (機器の操作や動作) > (UI画面操作) > (クリック) > (テキスト内容) > 「電源を切る」
    条件:
     なし

  • 残量20%以下でシャットダウン

    トリガー:
     (バッテリー/電源) > (バッテリー残量の変化) > (指定残量への増加/現象時) > 「~まで減少」「20%」
    アクション:
     (機器の操作や動作) > (テキストを読み上げる) > (テキストに)「残量不足です。充電してください」
     (機器の操作や動作) > (Androidショートカット) > 「「電源オプション」を表示」
     (マクロ) > (次のアクション実行前に待機) > 「1分」
     (機器の操作や動作) > (UI画面操作) > (クリック) > (テキスト内容) > 「電源を切る」
    条件:
     なし

  • 給電再開時はシャットダウンをキャンセル

    トリガー:
     (バッテリー/電源) > (電源の接続/切断) > 「電源に接続時」
    アクション:
     (マクロ) > (待機アクションを中止する) > 「給電停止時一定時間後にシャットダウン」
     (マクロ) > (待機アクションを中止する) > 「残量20%以下でシャットダウン」
     (機器の操作や動作) > 「[戻る]ボタンを押す」
    条件:
     なし

MacroDroidは、いくつもの権限を付与しないと正常に動作しない可能性があります。うまく動かない場合は、MacroDroidのホーム画面左上の「三」をタップし、トラブルシューティングで問題が検出されていないか確認しましょう。

格安なデータ専用SIMでの利用設定

格安SIMの中で、「新規契約」、「3GB/月以上」利用でき、しかも契約時に必要な「初期費用が極力0円に近いもの」を選びました。いろいろ検討した結果、今回はy.u mobileのデータ専用に決定。比較検討したのは下記のとおりです。

SMART USENの連続再生 その2

少し前に、(Android版)SMART USENをなるべく少ない手数で再生し続ける方法を検討してみましたが、やはり3時間ごとにアクションが必要なのは面倒ということで、完全連続再生できるよう工夫してみました。今回も車で利用することを前提にしてます。ただし完全連続ではなく、3時間経って再生が停止してから再開するまで数秒のタイムラグが発生します。
smartusen_3hours
SMART USENは3時間再生を続けると上記のようなダイアログを表示して再生が停止します。今回はこれをマクロを使って自動で閉じるとともに、音楽再生を再開させます。

これ以外に私の環境だけなのでしょうけど、ネットワークのエラーが発生した場合も同様の動作をさせると共に、給電が停止した場合は音楽の停止を行い、給電が再開し(てWi-Fi接続が復元され)た場合には再生を再開させてみます。もちろん今回もMacroDroidを利用していきます。

まず、メインのマクロは下記の通りです。
smartusen_macrodroid1
マクロ名(任意):エラー時確認押下&再開
トリガー:
(アプリ→)画面コンテンツ
 アプリ:SMART USEN
 ・画面に表示された時
 一致オプション:テキスト内容
 『通信エラーが発生』
 画面を読む頻度:2s
トリガー:
(アプリ→)画面コンテンツ
 アプリ:SMART USEN
 ・画面に表示された時
 一致オプション:テキスト内容
 『連続再生が』
 画面を読む頻度:2s

アクション:
 (マクロ→次のアクション実行前に待機→)5秒
 (機器の操作や動作→)UI画面操作:クリック
  テキスト内容→確認
 (マクロ→次のアクション実行前に待機→)1s
 (機器の操作や動作→)UI画面操作:クリック
  アプリで自動判定→(ホーム画面表示からSMARTUSEN起動。通知を開いて「UI画面操作を識別」を選択後、SMART USENアプリの再生/停止ボタンをタップ)

連続再生を行うだけであれば上記マクロだけで充分かもしれませんが、車内で利用する場合はエンジンオフ(=USB給電停止)でSMART USENの再生を停止し、USB給電が開始されて(ネットワークが使えるようになったら)再生を再開させてみます。

まずは停止時のマクロ。
smartusen_macrodroid3
マクロ名(任意):電源切断時
トリガー:
(バッテリー/電源→電源の接続/切断→)電源の切断時
アクション:
 (メディア→メディアを操作→)オーディオボタンを操作→一時停止する
 (画面→画面のON/OFF→)画面をOFFにする→ユーザー補助サービスを使用

そして再開時のマクロ。下記例では電源に接続されてWi-Fiに接続されたら再生するという条件にしています。これはお好みで変更を。
smartusen_macrodroid2
マクロ名(任意):電源接続時
トリガー:
 (バッテリー/電源→電源の接続/切断→)電源に接続時
  ┗[条件を追加](接続→Wi-Fiの状態→Wi-Fi接続先:→)hogehoge
 (接続→Wi-Fi状態の変化→ネットワークに接続時→)hogehoge
  ┗[条件を追加](バッテリー/電源→電源の接続状態)電源に接続中

アクション:
 (画面→画面のON/OFF→)画面をONにする
 (アプリ→アプリを起動→アプリを選択→)SMART USEN
 (マクロ→次のアクション実行前に待機→)5秒
 (メディア→メディアを操作→)オーディオボタンを操作→再生する

まだ使い始めて間もないですが、なんとなく動いてるので大丈夫かなァ。

SMART USENを可能な限り簡単操作で聴き続ける方法を考えてみた

本業のタクシーでは1日に16時間くらい車の中にいるのですが、運転しているあいだ中、持ち込んでいるBluetoothスピーカーを使って音楽を聴いています。


音楽配信のサブスクのうち現在契約しているのは、Amazon Music UNLIMITED(¥1,080/月)、Youtube Music Premium(¥980/月)、SMART USEN(¥539/月、iTunesは550円/月)の3つ。我が家では風呂とトイレ以外のすべての部屋にechoデバイスが設置されているため、Amazon Musicはやめられません。Youtube Musicは本家Youtube Premiumに付いてきたサービスなので実質無料で利用中。主に自家用車内で利用してます。

SMART USENは契約してまだ1年弱くらいなのですが、一番使っているサブスクだと思います。家庭内に専用装置を設置して聴けるあの「USEN」に比べればチャンネル数は遥かに少ないのですが、他にはあまりない『ボサノヴァ』系のチャンネルがたくさんあって重宝しています。

ただし、SMART USENにはひとつ大きい欠点があって、無操作での連続聴取が3時間までに制限されています。通常利用であれば困る事は少ないのかもしれませんが、私のように十数時間付けっぱなしにしたい人にとっては困った制約です。前触れもなく音楽の途中で突然再生が止まるので、聞き流してるだけなのだけれど気になります。再開するには、スマホを取り出し、アプリを開き、再生ボタンを押す必要があります。さすがに運転中には出来ないため、なかなかのストレス。という訳で、これをまたまた『MacroDroid』を使って何とかしてみます。なお利用しているスマホは常にGoogleマップを表示していてバックグラウンドでSMART USENを利用しています。仕事中は「自動スリープ防止」アプリを利用し、マップ表示中はスリープしないように設定しています。

極力少ないタップで音楽をすぐに再開できることを目的に、下記の通り設定を行いました。
SMARTUSEN_MacroDroid
トリガーは、「ユーザー操作」-「フローティングボタン」を利用していますが、お好きなものを。フローティングボタンの設定では、[アイコン設定]からお好みのアイコンを選びます。上のスクショでは無効にしていますが、「機器の動作」-「音楽/サウンド再生」を「停止時」の設定を行うと、再生が停止すると直ちに再開されるので、永遠に音楽が流れ続けます。この時再生を停めるにはこのマクロを無効にします。

アクションは、「アプリ」-「アプリを起動」-「アプリを選択」から「SMART USEN」。「マクロ」-「次のアクション実行前に待機」で「1秒」。「機器の操作や動作」-「UI画面操作」では「クリック」を選択後に「アプリで自動判定」。ホームが表示されるはずなので「SMART USEN」アプリを起動します。その後画面上端から下方へスワイプして通知を開き、「UI画面操作を識別」をタップします。SMART USENの画面に戻るはずなので、下部の再生ボタンをタップします。UI画面操作のエントリーが追加されていればOK。その後は、1秒待機後にGoogleマップを起動するように設定しています。
なお、条件は設定しません。
SMARTUSEN_Floating
フローティングボタンを選択すると、上記のようにアプリ上に常時ボタンが表示されるので、邪魔にならない場所に移動して使います。フローティングボタンが嫌な場合は、Androidのウィジェット追加設定からMacroDroidの(先頭にある)「カスタム」(事前にトリガーで「ユーザー操作」-「ウィジェットボタン」-「カスタム」での設定が必要)またはMacroDroidの(末尾にある)「ショートカット」を選択した後に起動したいマクロを選択します。

Ai-Boxでライブ壁紙が消えてしまうことがあるので何とかする

カスタマイズがほぼ終了したAi-Boxですが、少し問題が出てしまったので、抜本的な解決ではないのですが対策をしてみました。

問題というのは、設定している「ライブ壁紙」の設定がたまに消えてしまい黒背景になってしまうこと。頻度としては、毎日運転をしていて数日に一度くらいの割で発生してます。現在使っているのは「Cartogram」というダイナミックマップ壁紙ですが、これを利用する前に使っていた「透明時計&天気」のお天気ライブ壁紙でも同現象が発生していたため、アプリの問題ではなくてAi-Box側の問題だと推察されます。これがこのDAIB001A固有の問題なのか定かではないのですが、サポートに問い合わせても「仕様」と言われるか「サポート対象外の利用方法」などと言われるのがオチなので、自分で何とかします。

こんな時に頼りになるのは「MacroDroid」さんなので、程よいタイミングでライブ壁紙を再設定するマクロを組んで対処します。

アクションの中に「機器の設定」−「壁紙を設定」−「ライブ壁紙(プレビュー)」という項目があったのですが、残念ながらマクロのみでライブ壁紙の設定は出来ないようです。
MacroDroidライブ壁紙
仕方なく「UI画面操作」を駆使して対処します。
MacroDroidライブ壁紙設定
Cartogramを起動した後、「機器の操作や動作」−「UI画面操作」から「ライブ壁紙」、「追跡」、「壁紙を設定」、「ホーム画面」を順次クリックし、最後に「ホーム画面を表示」させます。各アクションの間には「マクロ」−「次のアクション実行前に待機」で適当なウェイトを入れてます。そして開始から終了まで「MacroDroid固有」−「フローティング文字」で文字を表示させておきました。「自動で非表示にする」秒数も、要調整です。

さて、これを起動させるトリガーなのですが、「機器本体を起動時」にすると毎回処理が走って少しウザいので考え中。今のところ自宅駐車場では宅内Wi-Fiが受信できてAi-Boxが自動接続するようにしているため、接続されたタイミングでのみこのマクロが動くようにする計画です。

DreamMaker AI Boxのカスタマイズなどなど

AIBoxを購入する際に実現させたいと思っていたことが、走行中に地図表示と他のアプリの2画面表示です。これも無事実現できました。
AIBoxの2画面表示
写真はGoogleマップを開きながら、VLCでの動画を再生しているところです。これが出来たおかげで、助手席前に設置していたミニタブレットが撤去できそうです。


ただ全てのアプリが2画面表示に対応している訳ではないため、私がAIBoxにインストールしたアプリでどれが対応しているのかを試してみました。

画面分割可能アプリ
・Googleマップ(ナビゲーションパスに設定していない場合)
・HereWeGo
・Youtube
・Prime Video
・U-NEXT
・Xit Wireless
・VLC
・Youtube Music
・Chrome

画面分割できないアプリ
・Yahoo!カーナビ
・My NP1
・Amazon Music

地図アプリで対応していたのがGoogleマップとHereWeGoだけだったのが残念。HereWeGoの地図は見やすくて良い感じっぽいのですが、ベータ版ということもあり使い勝手はまだまだなので、Googleマップ1択という感じでしょうか。

AIBoxにはMicroSDとNanoSIMのスロットが付いているためこれも有効活用しましょう。SIMを入れることにより車内での使い勝手が増すので、すでに車内Wi-Fi環境がある人を除き利用することをオススメします。私はDocomo系のMVNOを使って問題なく利用できています。そしてSIMを入れたあとにAIBoxでテザリング設定を行うことで、車内Wi-Fi環境を利用できるようになります。
AIBox起動時には自動でテザリングがオンにならないため、MacroDroidアプリを利用します(無料の範囲で使えます)。設定内容は以下の通り。
Macrodroid
・マクロ名(任意)
 起動時テザリングON
・トリガー
 [機器の動作]-[機器本体を起動時]
・アクション
 [接続]-[テザリングのON/OFF]-[テザリングをONにする]

これだけで、いつも車内で無線LANが使えるようになります。

続いては、ランチャーの変更をしてみます。デフォルトのランチャー(ホーム画面)はなかなか使いづらいと感じてしまうため、自由度の超高いNova Launcherを使ってみます。アイコンやウィジェットを好きなように配置し、Novaをデフォルトのホームアプリに設定してみたところ、非常に快適に使えるようになったのですが、唯一にして最大の問題点が発覚。なんとNova Launcherをデフォルトホームアプリにすると、2画面表示が出来なくなります。これはタスクリスト表示が出来なくなるためで、如何ともし難い。仕方なくホームアプリは変更せずにNovaを自動起動設定にして利用しています。

ちなみに自動起動アプリは複数登録できるので、私は1番目にNova Launcher、2番目にGoogleマップを指定しています。音楽アプリは自動起動に登録しなくても前回再生していた続きから自動で再生される事が多いですが、いつもでは無いようなのでよくわかりません。

最後にサポートについて。一度だけメールで問い合わせを行ったのですが、非常に好感を持てる対応でした。日本の会社で日本人の方が対応していただけるのが、安心感があります。