Alexa で家電を操作するスマートホームスキル

2017/05/26

Amazon Alexa の スマートホームスキルの一つ、OpenHAB スキルが公式にリリースさていますので音声でテレビをON/OFFする簡単な実証実験をしてみました。英語での実験ですが、2017年10月現在の情報では、2017年の年末までには日本語版Amazon Echoの販売が予定されているようですね。日本語版での実証実験が楽しみです。

OpenHABはオープンソースで開発が進められている、IoTゲートウェイの標準的なフレームワークの一つOSGiを使うスマートホームゲートウェイです。Raspberry Pi などのシングルボードLinux機やWindows、OSXなどにインストールして使うことができます。

Amazon Echoの代わりにAlexa AVS Sample App

Amazon Echoは日本ではまだ販売されていないため、Amazon Echoの代わりに、Raspberry Piなどで動かすことができるAlexa AVS Sample App を使用します。今回は、マイク内蔵のOrange Pi PC シングルボードLinux機とReSpeaker を搭載したRaspberry Pi 3 Type Bでサンプルを動かします。

Alexa(アレクサ)と問いかけて、「ポン」と応答されればOKです。

 

赤外線リモコンサーバー

テレビのスイッチをON/OFFするのにESP8266を使用した赤外線リモコンサーバーを使います。OpenHABは、HTTPでリモコンコードをリモコンサーバーへ送信します。ESP8266は、受信したリモコンコードを赤外線LEDで再生してTVなどを操作します。

Alexa で OpenHABを操作

OpenHABスマートホームスキルは、宅内に設置のOpenHAB に、myopenhabというクラウドサービス経由でアクセスします。このため事前にmyopenhabとOpenHABを接続しておきます。

Amazon 開発ポータルで、Alexa AVS Sample App機を登録し、alexa.amazon.comでOpenHABスマートホームスキルを追加をします。そして、スキルがmyopenhabに接続できるように認証などの設定をします。さらに宅内のOpenHABの各アイテム設定に、スマートホームスキルから認識させるための設定を追加します。例えば、テレビをON/OFFするスイッチアイテムに「”TV” [switchable]」というタグを追加します。これでAmazon Echoなどから、OpenHABに接続されているIoT機器を音声で制御でるようになります。上記例では「TV」という音声はOpenHABで接続されているTVをON/OFFするスイッチと認識されます。

実証実験

  1. 「Alexa」と問いかけます。
  2. 「ポン」と応答します。
  3. 「Turn on TV」と命令します。
  4. 「OK」と応答します。
  5. テレビのスイッチがONします。

OpenHABのグラフィカルユーザーインタフェースHABPanel上のテレビスイッチボタン(パネル左中央のボタン)も「OK」応答とほぼ同時にONになります。

 

Alexa とスマートホームスキル、myopenhabクラウドサービス、宅内のOpenHAB、ESP8266赤外線リモコンを通してテレビが操作されているのですが、気になる遅延なく利用できています。テレビのON/OFFのほかに、照明やOpenHABとMPD経由の音楽の再生などをスマートホームスキルで試してみましたが、無償のmyopenhabクラウドサービスがまれに非稼働となる以外は快適に操作できています。

製品名などは各社の商標または登録商標です。

CC BY-SA 4.0 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.