お手軽スマートホームのすすめ
この記事はCCS †裏† Advent Calendar 2019の21日目の記事です。
前日のとしさんの記事はこちらです
どうも千葉大電子計算機研究会(以下CCS)、老害㌠いかろちゃんです。はやいものでストレートでここまで来たはずなのにきづいたら9年も大学にいました。今年度で修了したいー!
はじめに
ここ数年スマートホームが話題となっています。 ただ話題となるだけではなく最近はスマートスピーカーをはじめ様々なスマートホーム関連商品が一般向けにも多く発売されるようになりました。 その流れで比較的安価にスマートホームを実現する商品が多く出てきています。 特にスマート家電と銘打ったものではなく、今まであった家電をちょっとした工夫で(場合によっては工夫0で)スマート化できるという商品が現れ始めました。今回はそのような製品を使いお手軽にスマートホーム化する方法を紹介します。
実は私もスマートホーム化する前までは「ほんとに便利なの?」と思っていました。しかし、実際に使ってみると今はスマートホームなしでは生きていけない体になりました。まずうちでやっているスマートホームの構成と日々のルーチンを紹介をします。その後、スマートホーム化実装の一例としてGoogle HomeからのHDMI入力切り替えの実装を紹介します。これによってスマートホームの便利さや実は安価で簡単に実現できることを知ってもらえれば幸いです。 さあみなさんもじゃんじゃん家をスマートホーム化して幸せになりましょう!
ちなみに過去にもスマートホームで下記の記事を書いています。こちらでは今回紹介しないプログラミングをすることで便利になる一例を示しています。もしよかったらこちらもどうぞ。
構成
スマートホームを構成する要素は大きく分けて入力を担当する入力部、入力を受けて処理を行う処理部、処理の結果を使ってなにかを操作・出力する出力部、出力部によって制御される操作対象に別れます(ちなみにそれぞれ専門用語というわけではなくここで勝手に言っているだけです)。もちろん複数に属するものも存在します。入力部で入力をうけとり、処理部でなにかしら処理を行い、出力部で操作対象を操作します。入力、処理、出力とあるのはプログラムと一緒ですね。入力and/or出力が物理世界とリンクしているというのがスマートホームの特徴であり、通常のプログラムとの違いです。
わたしの家ではTVとChromecastが来る前までは下記構成で生活していました。
入力部として
- Slack(サービス)
- Backlog(サービス)
- Google Home mini(ハードウェア)
- Nature Remo(スマホアプリ)
処理部として
- Google Home mini(ハードウェア)
- IFTTT(外部サービス)
- GCP(外部サービス)
- 自宅サーバ(ハードウェア)
出力部として
- Nature Remo mini(ハードウェア)
- 照明リモコン化スイッチ(ハードウェア)
- Google Home mini(ハードウェア)
操作対象として
- エアコン(ハードウェア;当然!)
- 電灯(ハードウェア;当然!)
があります。
次に以上の中でも肝になるスマートスピーカー(Google Home)、学習リモコン(Nature Remo mini)、そしてつなぎとしてつかっているIFTTTというサービスについて紹介します。
まずは色々なものごとの中心となるスマートスピーカーのGoogle Homeについてです。スマートスピーカーは各社からGoogle Home以外にも例えばAlexaなど色々でてます。わたしはGoogleに情報収集され生活が便利にされてしまうのがすきなのでGoogle Homeにしました。スマートスピーカーは単純な受け答えはもちろん、他のスマート家電と連携することや制御が可能です。
Nature Remo (mini)とは学習リモコンと呼ばれるもので任意の赤外線リモコンを登録でき、そのリモコンとして振る舞えることができるようになるリモコンのことです。Nature Remoはスマホアプリ、Google Homeとの連携だけではなく、WebAPIも備えていますのでかなり自由度高く赤外線リモコンを操作できるようになります。ここらへんの細かい話は先程あげた記事を参照してください。Nature RemoにはNature RemoとNature Remo miniがあります。この2つの違いは値段と搭載しているセンサー、そして大きさの違いです。私の家ではNature Remo miniによって電灯とエアコンを制御しています。Nature Remo miniは7000円弱でかえる、たまにセールでさらに安く買えます。また、各種家電の赤外線化系のものは比較的安価に買える、そもそも赤外線リモコンがついていることが多いです。そのためNature Remoがあればわりと色々制御できるようになることが多いです。後半で紹介するHDMI切替器もNature Remoで制御します。
Nature スマートリモコン Nature Remo mini Remo-2W1
- 出版社/メーカー: Nature 株式会社
- メディア: エレクトロニクス
このあとに関係するものとしてIFTTTというサービスがあります。このサービスは複数のサービスをつなげることを目的とした無料のサービスでプログラミングをすることなくあるサービス(メール、Slack、 そしてもちろんGoogle Homeも!)でなにか特定のアクションがあったら別のサービスでなにかを実行させるというようなことができます。例えばTwitterで「さみしいにゃん」とつぶやいたらLINE botがどうしたの?と話しかけてくれるようにすることもできます。IFTTTでは一つ一つの「なにがあったら、なにをする」という塊をAppletと呼んでいます。このちいさな単位でやっていくため個々のAppletは簡単に、そして全体では色々できるということが実現できます。
具体的にスマートホームをどうつかっているのかわたしの一日(理想。現実よりだいぶ誇張してます)を見てみましょう。まず朝起きるとGoogle Homeからアラームが鳴り照明がつきます。アラームを声でとめたあと、「OK, google 音楽を流して」といい音楽を流しながら朝ごはんをたべます。食べ終わったら音楽をとめ、「OK goolge 今日の天気は?」と聞き天気と気温を把握し服をきます。そして、「OK Google いってきます」ということで家の照明とエアコンがoffになります。研究室に行き、「OK google...あっ...Google Homeないんだった」と恥ずかしい思いをした後、研究をし、家に帰ります。このときに日報をだしていればすでに電灯とエアコンがつきます。家に帰ったら「OK google ただいま」というとGoogle Homeが「おかえりなさい」といってくれるのでさみしいにゃんとなることもなくすみます。家に帰ってつかれたら「 OK, Google イッて」というとshimaidon.netで「んほぉぉ!イッぐぅぅ!!」とつぶやいてストレス解消ができます。これであれやこれやすませたあと、「OK google おやすみ」というと明日の予定、天気、そしてアラームの時間をセットしたあと、電気を消してくれます。もちろんそんなのめんどくさいー明日休みだー!ってふとんに倒れ込んでしまった日も「OK google、電気消して」といえば布団から一歩も出ずに電気が消えてくれます。 とまあ今感じでGoogleHomeに依存した生活を送っております。音声によって操作できることによって電灯とエアコンの操作をしなくてすむようになり格段にくらしやすくなりました。
スマートホーム化実装の一例
最近Google Chromecastとモニタを買いました。このモニタにはHDMI入力が1つしかありませんでした。しかし、ChromecastをつなぎたいときPCをつなぎたいときがあります。もちろんHDMI切替器を買えば解決します。ですがいちいち切り替え器を手で操作してって面倒です。リモコン付きHDMI切替器がありますが、リモコンってなくしがちです(わたしだけ?)。そこでGoogle Homeから声で操作できるようにしましょう。
Google Homeから直に制御できるHDMI切り替え装置はない(あっても多分高い)と考えられます。そこで赤外線リモコン付きHDMI切替器を学習リモコンを使って制御することを考えます。学習リモコンは家にあるNature Remo miniをそのまま流用します。またGoogle HomeとNature Remoの連携には今回はIFTTTを使います。
リモコン付きHDMI切替器は下記製品を使いました。
ラトックシステム 4K60Hz対応【3入力1出力】HDMI切替器RATOC RS-HDSW31-4K
- メディア: Personal Computers
この製品は3口あること、ボタンがトグル式だけではなく、各ポートと番号が対応している点がよいです。というのも学習リモコンで制御するする場合はステートレスのほうが扱いやすい(操作の冪等性が保たれる;とりあえず実行しとけば望みの状態になる)からです。
以下の手順はめんどくさくなったのでUIがよく更新されるのであまり詳しく書きません。公式ドキュメントや他の記事を参考にしてください。
まずはHDMI切替器のリモコンをNature Remoに登録します。今回は1番ポートと2番ポートをそれぞれChromecastとPCに割り当てます。「+」アイコンを押すと新しい家電を追加する画面に推移します。今回は一般的器具ではないのでなんでもいいですがとりあえずAV機器にしました。Remoの指示通りに追加しましょう。
次にIFTTTの設定です。まずはIFTTTに登録しましょう。
登録したら自分のAppletを追加します。this側はGoogleHome、then側はNature Remoにします。GoogleHomeは適当なキーワードで反応するようにして、Remo側は「Control home appliances」で先程登録したボタンを起動するようにしましょう。これを2回繰り返してPCとChromecastそれぞれに切り替えられるように登録します。 これで完成です。テストしてみましょう。
アドカレ進捗です pic.twitter.com/ZvumS3WF1D
— いかろちゃん™@みりん、トイレットペーパー (@ikaro1192) 2019年12月19日
アドカレ用ツイート pic.twitter.com/gBxBemi9v4
— いかろちゃん™@みりん、トイレットペーパー (@ikaro1192) 2019年12月20日
ちゃんとうごきましたね!これで好きなときに声で切り替えることができるようになりました。
このようにプログラミングができなくても結構色々カスタマイズできて楽しいです。もちろんプログラミングするとさらに幅が広がってもっと楽しいです。
まとめ
今回はスマートホームの概要を紹介しました。そして実際に使っている構成やルーチンを示すことでどのように生活に組み込むかを紹介しました。最後に新しく機器を追加する手順を簡単に紹介しました。今回示したようにNature Remoと既存の安価な赤外線リモコン、そしてIFTTTを組み合わせることで比較的安価・簡単に自宅をスマートホーム化することができます。またGoogle Home(Nust) miniは時々セールをやっていて0-3000円で手に入るイベントが多々あります。今もyoutubeプレミアム会員ならGoogle Nust miniが無料で手に入るキャンペーンをやっているようです。みなさんも高そう、難しそうと偏見を持たず安価にスマートホーム関連商品を手に入れて快適な生活を手に入れてみてはいかがでしょうか?
22日目は下記のとっちーの記事です。