背景(環境)
自宅の書斎にあるAndroid TVは所謂チューナーレステレビなので、地上・BS・CSの放送を見る際はリビングのBDレコーダーとDLNAで接続します。SONYでは「ソニールームリンク」という名前の機能です。
DLNAサーバーがSONYのBDレコーダー、DLNAクライアントはAndroid TVにインストールしたDiXiM Playというアプリになります。
困ったことに
リビングのテレビが使用中の場合には起きないのですが、DiXiM Playを起動すると以下の「前回接続していたレコーダーに再接続できませんでした。」というメッセージが出て繋がらないことが多発します。
恐らくBDレコーダーがスリープ状態から復帰しないのが原因と思われます。
BDレコーダーは有線LAN接続で、節電機能が有効になってないかなど確認するも特に怪しい設定は見つからず。そして、SONY謹製のVideo & TV SideViewというアプリでスマホから接続した場合は一発で繋がるので、毎回スマホのアプリでBDレコーダーを起こしてはDiXiM Playで視聴するという面倒なことをしていました。
我慢ならぬわ
ということで、少しでも手早くBDレコーダーを起こす方法を考えて真っ先に思いついたのはWoL(Wake on LAN)。BDレコーダーがマジックパケットを受け付けるかなんて知らないけどやってみることに。
書斎のiMacは24時間起動してるので適役ですが、マジックパケットを出すためだけにGUIのあるWoLアプリをインストールするのもかったるいなぁと思い調べてみると、HomebrewのFormulaにあるじゃないですか。その名もズバリwakeonlanというCLIのが。
※Homebrewについての説明は割愛(カッツアイ)
まずはmacOSのターミナルからインストール
$ brew install wakeonlan
BDレコーダーのMACアドレス(下記の値はダミー)へマジックパケット発射
$ wakeonlan FF:FF:FF:FF:FF:FF
Sending magic packet to 255.255.255.255:9 with payload FF:FF:FF:FF:FF:FF
Hardware addresses: <total=1, valid=1, invalid=0>
Magic packets: <sent=1>
上手く行った
これであっさりとスリープ状態から復帰するようで、BDレコーダーとHDMI連動してリビングのテレビまで電源入っちゃうなんてこともなく、DiXiM Playから操作出来るようになりました。BDレコーダーをちゃんと叩き起こせないDiXiM Playが悪いのか、SONY謹製でないアプリを冷遇する鬼仕様なのか不明ですが、上手く行ったので一旦良しとします。
もっと楽しく
いつもターミナルは開きっぱなしなのですが、毎回コマンドの履歴から探したりするのもアレだし、どうせなら楽しくしたいってことでAutomator君でアプリ化してみようかなとか調べていると、「ショートカット」を使えばmacOSのメニューバーから直接実行出来ることを知る。
このサポート記事にある、「メニューバーからショートカットを実行する」を参考に設定して行きます。
- シェルスクリプトを実行で、先ほどのwakeonlanコマンドを書きます。
(自分の環境ではパスを通していないので、フルパスで書いてます。) - マジックパケット発射後にニャ〜っとサウンド再生するため、afplayコマンドを実行します。
(もちろんこれは蛇足ですw afplayはmacOSに標準で含まれています) - 右上の詳細にある「メニューバーにピン固定」にチェックを入れます。
これでメニューバーにショートカットのアイコンが現れ、クリックするだけでWoLが実行可能になりました。
ショートカットに分かりやすい名前をつけておけば、WoLする対象も識別出来て便利です。
(別の部屋にあるWindows PCも、同じ手順でWake Up GALLERIAとして登録しました。)
ではそんな感じで
コメント