Google Home + Raspberry Piで色々操作(アンプ編)

前回はテレビの操作を声でできるようにしたわけですが、今回はアンプの操作声で操作したいな、と。

台所で作業中に音楽聴きたい時に、Homeに「音楽流して」といったところで、デフォルトの出力先がChromeCastになってるので、音が出ない!
結局アンプの電源をいれるためにリモコンを触る。
これが嫌だったのでちょこっと細工してみました。

うちのアンプはDENONのAVR-X2200Wというちょっと古めなもの(今年コストコで安くなってたので買ったので2世代型落ち)。
一応ネットワーク機能が付いていて、ブラウザからもある程度操作ができる。
この点に目をつけました。

まず、ブラウザでアクセスし、各ボタンが押された時にどのようなパケットが送信されているのかを解析。
どうやらPOSTでapplication/x-www-form-urlencodedでデータのやり取りをしている模様。
中身もcmd0=xxxxのような簡単な感じ。これは解析しやすくて良い!
ということで、本当はnode.jsあたりの勉強がてら、一度経由した上でアンプにコマンドを送ってやろうかと思ったのですが、今はちょっと家庭的な状況でそこまでやっている時間がない。

そこで、nginxのリバースプロキシ機能を使うことに。
要するに外からのアクセスに対してコマンドをアンプに送ってやれば良い、ということ。
外からのアクセスは一度ラズパイが受けます。
テレビ編でその経路までは確率されているので、特定のディレクトリにアクセスしたらアンプのIPアドレスにそのパケットを流す。という設定を実施。

勝手にボリュームあげられたりするとビビるので、ディレクトリ名はランダムな文字列にして簡単にはアクセス出来ないように。
将来的にはコマンドを限定的にするために一層かます必要があるけど、色々落ち着くまではこの対応で。

Google Homeに向かって「アンプの電源を入れて」というとアンプの電源が入り、「アンプの電源を切って」というとアンプの電源が切れる。

寝るときには「音楽止めて」「アンプの電源を切って」と言ってからリビングを去る感じ。
うーん、たとえば、「寝るよ」と言ったら音楽を止めて、アンプの電源が切れてほしい・・。これをやるにはやっぱり一層かまさないとだめだろうな。。

そのうち対応します!
このページ見ても具体的なことは書いてないので、アイディアレベルということで。。

Google Home + Raspberry Piで色々操作(テレビ編)

Google Home、半額だったので今度はminiではなく、無印の方を追加購入してしまった・・。音声はアンプから出してるから音質は関係ないのに。。

ということで、活用編。

テレビを音声で操作。

Raspberry Pi3に昔買ったBuffaloの赤外線送受信機を使ってシステムを組んでみた。
細かい説明をするのは苦手なので、要点だけ。

ラズパイにはubuntuをインストール。色々パッケージが揃っている&使い慣れているため。
さらにnginxをインストール。PHPもインストール。

すでにNASで自宅サーバーをやているため、ドメインは取得済み。DDNSも登録済み。と言う環境。

80番ポートはこのサーバーで使っているので、違うポートでアクセスするとラズパイにフォーワードされるようにルーターを設定。
そして、iFTTTの登場。

「テレビをつけて」というと、Google Home →IFTTT→Webhook→ラズパイ

という経路でラズパイに到着。受けとりはPHPで、Bodyの内容で赤外線の信号を切替えて、テレビに向けて発射。
テレビがつくという算段。

チャンネルごとに赤外線の信号を学習させているので、チャンネル名をGoogle Homeに言うことでチャンネルの切替や電源のON/OFFが可能に。

これで台所仕事中やこたつから出たくないけどリモコンが近くにない場合などに声で操作可能に!

太陽光発電実績2017年11月

総発電量、データを見る場所を間違えていたため、修正。
ほぼほぼ見積もりどおり。

総発電量 344.4kWh 予測発電量は341kWh
使用量(料) 331.2kWh 8532円
うち太陽光からの使用量(料) 101.8kWh 2545円
(売電量(料)) 242.6kWh 6608円(実績)

※買電は1kWh当たり25円で計算

お得額は、2545+6608=9,153円。

ということで、投資回収まで

1,751,292円

まだまだ先は長い