ホーム » コンピュータ (ページ 57)
「コンピュータ」カテゴリーアーカイブ
Homebridgeでチャンネル切替
HomeBridge が便利で TV などの電源制御ができて面白い。 Siri に "テレビをつけて" で電源が入るのは、 とても便利。
だけど、TVを見ていたら、チャンネルを切り替えられたら便利だけど、 "○○放送にチャンネルを変えて"を使うには、 "homebridge-samsungtv-control"みたいな モジュールじゃないと難しそう。 ソースを読んで…とも思ったけど、断念。
でも、よく考えたら、"日本テレビにチャンネルを変えて"ではなくて、 "日本テレビをつけて"と Siri に 話しかけるのはそれなりに自然だし、 これなら、"homebridge-cmdswitch2" の on_cmd で充分じゃん。
ということで、以前に設定していた電源制御の設定のところに、 以下のように各チャンネルの変更機能だけのデバイスを書き並べる。
{
"name": "NHK",
"on_cmd": "/usr/local/bin/Tira-2.py --remote=regza --transmit=1"
}
CATVだと、主要チャンネル全部を書き並べるのは大変だし、 地デジとCATVのよく見るチャンネルのみ。
Siri向けに設定できないチャンネル
改めてチャンネルを登録してみたけど、ケーブルテレビの「ムービープラス」を登録して、 Siri に「ムービープラスをつけて」と言うと、映画館検索が動いて「プラスという映画はありません」っておっしゃる。 同じく「スーパードラマTV」を登録したら、 スーパーに反応しているのか、スーパー戦隊モノのリンクを表示して、チャンネル切り替えられず。(^_^; 「キッズステーション」もステーションに反応してマップの乗り換え検索を起動しようとするようでダメ。
Windows10マシンをリモートでOn/Off
AppleのHOMEモドキの HomeBridge を設定して、 Siri から TV などの電源の ON/OFF を試しているけど、 Windows 10 のパソコンも ON/OFF できるように試してみる。
リモートシャットダウン
最初、Linux 環境からリモートで電源を切るのに失敗していたが、 以下のように設定すれば、電源を切れるようになった。
http://masas.at.webry.info/201508/article_1.html
上記 URL の再掲載となるが、
- パソコンの Administrator アカウントを有効にして
- その管理者アカウントにパスワードを設定するだけ。
$ net rpc shutdown -t 0 -C 'Shutdown from Server' \ -S 192.168.xx.yy -U administrator%PassWord
WakeonLAN
パソコンの BIOS 側で、WakeOnLAN の Enable 化はしていたのに、 起動してくれない。
https://www.agilegroup.co.jp/technote/windows10-wol-setting.html
調べてみると Windows 10 側でも設定が必要らしい。 んで、設定しているんだけど、電源が入ってくれない。なぜ〜…
(追記) 色々と試してみたら、 スリープや休止状態だと、WOL で復帰できるけど、 シャットダウン状態からは、WOL で起動できないことが分かる。
HomeBridge で On / Off 制御
(($HOME/.homebridge/config.json))
"platforms": [
{ "platform": "CmdSwitch2",
"switches": [
{ "name": "パソコン",
"on_cmd" : "/usr/bin/wakeonlan aa:bb:cc:dd:ee:ff",
"off_cmd": "/usr/bin/net rpc shutdown -t 0
-C 'Shutdown from HomeBridge'
-S 192.168.xx.yy -U administrator%PassWord",
"state_cmd":"/bin/ping -c 1 -W 1 192.168.xx.yy
| /bin/grep -i '1 received'",
},
:
}
(追記) WOLがスリープや休止だと復帰できるのが分かったけど、 "net rpc shutdown" だと、シャットダウンかリブートしか設定できない。 うーむ、うまくいかないものだ。
Linux kernel 4.8.11-1 に更新したらトラブル
Linux のカーネルのバージョンを 4.8.11-1(module では 4.8.0-2-amd64) にあげたら、自宅で動かしていた赤外線リモコン制御システムやら、 予定を eabadge に表示するシステムやら、munin の cpufreq やらが 動かなくなっていた。
シリアルポートの制御のエラーメッセージが出ていたので Perl の serialport が 動かなくなったのかと調べていたけど、シリアルポートデバイスが 見つからない。んで、udev の rules ファイルのトラブルを 疑ったけどこれまた外れ。
最終的に、usbserial のカーネルモジュールが認識されていないので、 "modprobe usbserial" を実行したら、カーネルモジュールが 見つからないとか訳の分からない状態。
しかたがないので、"depmod -a"を実行したら、ようやく認識してくれた。
たぶん、linux-image-4.8.0-2 を入れるタイミングで、depmod も更新 がかかったけど、依存関係のミスで depmod に失敗していた…. といった原因かな。
ThunderbirdのIMAP同期が遅い
最近、WindowsマシンでThunderbird の IMAP 同期がすごく遅い。 Web の情報だと、Cache ファイルの肥大が原因っぽい。
なんたら-db.sqlite を消すみたいな説明もあるけど、 メッセージの格納形式が mbox 形式の時なのかな。
ひとまず Thunderbird を停止させ、
C:\Users\ユーザ\AppData\Local\Thunderbird\Profiles\*.default
の中にある Cache , cache2 のフォルダを全部消してみた。 改めて Thunderbird を起動したら、大量の同期が動いて 遅いかと思ったけど、すんなり起動してくれた。
パソコンのプチオーバーホール。
減価償却(^^;してる自宅パソコン、以前からスピーカーのノイズが 発生することがあり、その度毎に中を開けて、SATAケーブルなどの コネクタの抜き差しをするとノイズが治まる。
以前 HDD トラブルで SATA ケーブル交換したら HDD 認識トラブルも スピーカノイズも治まっていたけど、この数日またスピーカノイズ。
ということで、改めてパソコンのふた開けてぇ〜、コネクタ抜き差しぃ〜、 ファン周りはエアスプレーでぶしゅぅ〜….と恒例の作業。 んで、無事、ノイズも治まって一安心。まだ使うぞ…。
効き目がなかったので改めて
上記のオーバーホールでも効き目がなかったので、あらためてオーバーホール。
前回できなかったコネクタを抜き差しして、一体型なので、マザーボードから出ているSATAケーブルと、 映像系のケーブルが近接しているので、SATAケーブルなどを束ねてアルミホイルでカバーして、 そのアルミホイルの一旦が、マザーボード回りのシールドと接触するようにしておいた。
本当に効き目があったのかは、まだわからないけど、ひとまずノイズは止まったかな。
cec-clientをhomebridgeから制御
今までは、iOS の HOME 機能を、linux環境で動くフリー実装の homebridge を使って、赤外線リモコンを制御していた。 しかし、AV機器のON/OFFでは、電源ボタンでON⇒OFFなのかOFF⇒ON なのか分からない。このため、ネットワーク対応の機器だし、 ping の結果に応じて 電源ボタン信号を出していた。
ただ、TVなどは、電源OFFの状態でも、EPG情報取得などのために OS が動いているため、OFF 状態の判定に失敗する。
そこで、先日見つけた HDMI 経由から制御信号を送る cec-client を試してみた。cec-client では、機器のON/OFF を判定しているので、 確実に ON/OFF できるはず。cec-client は、サーバ機では使えなかったので、 Raspberry-Pi を使ってみた。
$ echo "on 1" | cec-client -d 1 -s # 1番機器をON $ echo "standby 2" | cec-client -d 1 -s # 2番機器をOFF $ echo "scan" | cec-client -d 1 -s # 機器一覧をスキャン
device #0: TV ← REGZA address: 0.0.0.0 vendor: Toshiba osd string: TV power status: on device #1: Recorder 1 ← VARDIA address: 2.0.0.0← HDMI入力ソース番号 vendor: Toshiba osd string: RD-S502 power status: standby ← 電源状態 device #2: Recorder 2 ← Raspberry-Pi address: 1.0.0.0 vendor: Toshiba osd string: CECTester power status: o device #3: Tuner 1 ← CATV-STB address: 1.0.0.0 vendor: Panasonic osd string: Tuner 1 power status: on device #4: Playback 1 ← PS4 address: 3.0.0.0 vendor: Sony osd string: PlayStation 4 power status: standby
AVソースの切り替え
今までは、赤外線リモコン信号で、ON/OFF を制御していたので、 HDMI 連動設定をしているおかげで、ケーブルTVのチューナーON で、テレビの電源も ON となり、さらにビデオ入力も対象機器に 切り替わる。
ただ、cec-client に切り替えたら、機器の制御信号をだすのが、 別機器なので、TV電源連動や、ビデオ入力切替連動とならない。
しかたがないので、TVのビデオ入力切替信号も出してみる。
echo "tx 2f:82:10:00" | cec-client -d 1 -s # 2番のHDMIデバイス(raspberry-pi)から、 # 全デバイス宛て(f番)の信号で、 # 82 映像切替コマンドを送る。(TOSHIBA REGZAの場合) # 10:00 は、ビデオ切り替えの番号
HDMI経由で機器制御cec-client
最近は、TV操作はケーブルテレビのチューナーで 行うことが増えたけど、以前は入力切替とかが面倒だった。 でも、HDMI 経由で入力切替などの設定を行ったら、 チューナーの電源を入れるだけで、TVの電源ONや、入力切替を やってくれる。
これらの制御は、HDMI の CEC 機能らしい。 この機能を活用したら、赤外線リモコンでTV制御しているのを、 もっとスマートにできるのでは….としらべたら、 linux 環境では cec-client というのがあるらしい。
ということで、サーバのHDMI出力をTV経由で接続すれば、 その他のチューナーやレコーダを制御できるはず。
ただ、linux の グラフィック機能は、Intel のオンボード。 よくよく調べると、Intel は、"Never work"なんて記事も見つかる。
対応手段としては、Raspberry-Pi をつなげて、ラズパイのHDMI 経由で 制御ができるんじゃねぇ?
今日のところは、メモだけ。



