IrでのコントロールとPacket制御との併用
現物写真ですが、汚いですね。埃かぶりまくりで恐縮です。

元は、秋月さんのケース付きキット下図

でしたが、赤外線信号を出すために蓋を外して使っています。そのせいで埃が…..。何回か取り上げたAquos LC-45W5をパケットで制御するhttps://ghost.mydns.jp/wordpress/aquos-lc-45w5%e3%82%92%e3%83%91%e3%82%b1%e3%83%83%e3%83%88%e3%81%a7%e5%88%b6%e5%be%a1%e3%81%99%e3%82%8b/のハードウエアを紹介します。この記事で書きましたが、当初Aquos LC-45W5はIrで制御していましたが、あまりにもレスポンスが遅く、タイミングを取るのが困難なので、今はパケットから電源on/offや入力切り替えを行っています。HDMI入力端子も数が足りないので、HDMI切り替え器を使っています。これはIrで切り替えています。そのIrレシーバーが最上図の上部中央に見えています。

Irの供給先は、HDMI切り替え器、Diga等で複数で、全ての受光器にうまく照射するのが困難なので、Ir分配器(下図)を経由してます。

以下は全体図ですね。SwitchとPS5も見えていますね。引いた絵なので少しは汚さが……。

全体を統括するのはRaspberry Pi Zeroで動いているhttpdですが、そのソース(index.php)を示します。
<html>
<head>
<meta name="viewport" content="width=450">
</head>
<body>
<H1>weblirc</H1>
<HR width="400px" align=left>
<?php
if($_POST["light"]=="CHROME"){
system("/home/pi/ir/chrome");
}else if($_POST["light"]=="BOTH"){
system("/home/pi/ir/bothset");
} else if($_POST["light"]=="PS5"){
system("/home/pi/ir/ps5");
} else if($_POST["light"]=="Switch"){
system("/home/pi/ir/switch");
}
?>
<HR width="400px" align=left>
<form action="./" method="post">
<input type="submit" value="CHROME" name="light" style="width:200px;height:80px">
<input type="submit" value="BOTH" name="light" style="width:200px;height:80px">
<input type="submit" value="PS5" name="light" style="width:200px;height:80px">
<input type="submit" value="Switch" name="light" style="width:200px;height:80px">
</form>
</body>
</html>
一つのHDMI入力にChrome Cast Ultra,PS5,Switchがつながれています。

index.phpにアクセスすると、iPhoneからは、

のように見えますので、対応するボタンをタッチすれば良いという感じです。“BOTH”というのは、Digaに切り替えて、IrでDigaのスタートボタンを押し、お好みメニューのセンターに配置しているお部屋ジャンプリンクを押して、ネットワークでつなぐ機器を選ぶ直前までの信号を照射します。その先は、サーバーの表示順も一定していないので、リモコンで続けるということにしています。


ここから先はマニュアルで…..。スクリプトの一例は、
pi@raspberrypi:~/ir $ cat chrome
#!/bin/sh
/usr/bin/python3 /home/pi/ir/irrp.py -p -g25 -f /home/pi/ir/hdmi hdmi:2
/home/pi/ir/aq2.sh
sleep 1
/home/pi/ir/inp4m.sh
Chromeに切り替えるのは、こんなスクリプトです。HDMI切り替え器に、2番を選択するのIr信号を送り、既出のAquosの電源をパケット経由で入れ、一秒待ってからAquosのHDMI入力を切り替えるという内容です。これでしばらく動いていましたが、このスタイルは意外に面倒であることが分かってきました。ブラウザ立ち上げて、指定のurlへアクセスして、所望のボタンを押すという作業が面倒。webというかindex.php経由ではなく直接sshでコマンド発行すればいいのですよ。iPhoneからそんなことができるのだろうか?って、最近ではできるようですよ。(以下次号に続く)
コメント
[…] 忘れないうちに、スタックへpushしたものをpopします。つまり宿題を片付けるということですかね。要は、前記事https://ghost.mydns.jp/wordpress/raspberry-pi-zero-wh%e3%81%a7aquos%e5%91%a8%e8%be%ba%e3%81%ae%e5%85…の続編ですね。短いですが、”ショートカット”の使い方は今一わかりにくいので、例によってなるべく丁寧に解説します。下図で”赤”で囲ったアプリをクリック。 […]