irMagician + LINE BOT + ラズベリーパイによるユーザフレンドリーなホームオートメーション
ユーザインターフェイスに LINE BOT を活用した ホームオートメーション(以下、HA) のPoC (Proof of Concept)です。
- はじめに
弊社にて開発・販売されている irMagician はUSBでホストに接続する赤外線リモコンアダプタです。Windows PC, Macintosh, Linux PC など接続するホストを選びませんが、Linux ベースで動作するラズベリーパイ(以下、ラズパイ)との親和性は極めて高く各種のソリューションもラズパイをベースとして開発されています。 - 基本的な使い方 (irMagician 1.0)
irMagician は元々、Linux との接続性の良さから各種の Web-Server と連動して使うケースが想定され、いくつかの実装例があります。ここでは、ラズベリーパイは以下のサービスを提供します。
- irMagician とUSBの接続
- 1. で実現されるシリアルのハンドリング
- Web-Serverの動作
- HAとUX/UI (irMagician 2.0)
ここまでは、ユーザ自身の作り込みによる UX/UIが主でしたが、各種のリモコンを活用したホームオートメーション(以下、HA)を実現するためのソリューションはいくつか提案されています。それらと連動するカタチでirMagicianを動作させることが可能になりました。- HomeKit
Apple の HomeKitはiOSデバイスの普及度からアタマ一つ抜け出ている感がありますが、対応しているデバイスの種類に難があります。特に現在の赤外線リモコンが利用されている普及価格帯にはリーチ出来ていません。これを解消するためのソリューションとして、HomeBridgeがあります。irMagicianを利用したPoCも既に多くの有志により実用化されています。- Siriによるコントロール
iOSデバイスとしてiPhone, Apple Watch, Macintoshなどから既存の赤外線デバイスに対して、制御が可能になります。-
ここではラズベリーパイは上記の処理に加えて、
- Homebridgeの動作
- Siriによるコントロール
- LINE BOTとの連動
LINE BOT の BOTがROBOT(ロボット)から来ている事は言を待ちません。人間のように振舞い、こちらからの問いかけや命令に対してアクションを起こし結果を返します。LINE BOTそのものはHAの規格ではありませんが、お手軽に使えることやユーザ層が広い事からHAとの親和性は高いと大宮技研は考えます。この命令を与える手段としてLINEのUIを用いるわけですが、手軽なメッセージシステムとしてのLINEの普及度に関しては今さら述べるまでもありません。本稿の目的はこのLINEのUIを駆使して、家電製品をコントロールする所にあります。- LINE BOTの基本的な構成
LINE BOTは元々、各種のスマホやケータイなどで各種のWeb-serviceと連動させ情報を入手するのが主目的でした。もちろん最近ではタクシーの配車サービスなどと連動させ実世界との融合も試みられています。
このスライドの中にある “LINE BOT hooking server”と言うのは自分のサービスとLINEのサーバを使うための仕掛けになります。ドメインやCAが必要な事から、Herokuなどのサーバを利用している開発者が多く見られます。 - irMagican + LINE BOT
大宮技研は現実世界との融合をさらに押進めました。それが以下の構成になります。HomeKit互換のSiriからのコントロールに比べて、3rd-partyのWeb-Service APIを利用出来るのも特徴です。
先ほどの “”LINE BOT hooking server”をラズベリーパイで実行しています。この機能に加えて、各種のWeb-serviceのトリガも行います。
Web-serviceは様々なAPIが用意されています。これらと組み合わせる事により、(人工)知能を持ったリモコンが完成します。 - 参照実装
irMagicianとLINE-BOTの参照実装は下記から入手して下さい。基本的には、LINE BOTの基本的なやりとりをパッケージ化した linebaseとそれを基にirMagicianの機能を付加したirbutlerになります。 - 今後
人工知能の活用により、「コンテキストセンシティブ」あるいは「ハイコンテキスト」な制御が可能になります。これはボットとのやり取りの文脈からリモコン制御やサービス提供を行うものです。以下に想定するシナリオを提示します。- 文中の中から、意図を汲み取る
「寒いね」などが出た場合に温度センサと連動して、エアコンの電源を入れる。 - 状況に応じた動作
外出先などから、「エアコンを点けて」とのコマンドだと、ユーザが家に帰る意思が有るものと判断し、コマンドを送った場所を検知しそこからの帰宅経路を提示する。終電を乗り逃がした場合などは、付近の満喫やカプセルホテル、呑み屋などを検索する。最終的な判断で、あえて「エアコンの電源を入れない」あるいは「帰宅時間に合わせて電源を投入する」と言った動作になる。
- 文中の中から、意図を汲み取る
- LINE BOTの基本的な構成
- 最後に
今まではボットと言うとスマホやWebで閉じてしまうのが一般的でした。ロボットから提示する情報が主でした。irMagicianを接続することにより、実際のサービスを物理的に再現する事が可能となります。
- HomeKit