Amazon EchoはSmart Homeとの連携ができPhillipsのHueと言った照明を音声でコントロールすることが出来ます。
けど、ちょっと試したいって時に、Hueはちょっと高いんですよね。。
いろいろ調べていたら、Raspberry Piで試せそうでした。(Intel Edisonでも動きます)
参考にしたのはこちらのサイト。
Home Automation with Amazon Echo voice control
サイトのサンプルではログを表示するだけでしたので、GPIOを利用してAmazon EchoからLチカしてみました。
手順
配線
Raspberry PiのGPIO 4を使うので、以下のように配線します。
Raspberry Piでサンプルコード実行
元のソースを少しいじって、GPIOでLチカできるようにしてます
git clone https://github.com/sparkgene/echo.git
cd echo
sudo python example-gpio.py
違うPINを使う場合は、以下のところを直してください。
https://github.com/sparkgene/echo/blob/master/example-gpio.py#L10
Amazon Echoからデバイスを探す
Alexa, discover my devices
と語りかけると同じネットワークにあるデバイスを探してくれます。
Lチカ
ONにするときは Alexa, turn on living
。
living
はサンプルの中でそのように命名しているからで、お風呂場だったらbathroom
のように変えてあげればいい。
https://github.com/sparkgene/echo/blob/master/example-gpio.py#L18
Offにするときは Alexa, turn off living
Alexaは違う言い方でも対応しており、単純に Alexa, living on
、 Alexa, living off
でも操作できます。
あとがき
実際に家の照明を操作するとした場合、今回利用したLEDの代わりにリレーなどを使って、照明の電源をOn/Offする形になります。
けど、実際にこれを壁のスイッチの所に埋め込むのは大きすぎて厳しいですね。
やはり市販のものみたいに、コントローラとなるものは別置きにして、照明とコントローラ間は別の通信方法にするか、Wi-Fiとマイコン部分が専用なものにできれば、自作できるのかな。
また、Echo → Skill → Lambda → Raspberry Piという作りこみをすることで、ネット経由で外部からも操作できるようになりますが、それなりのタイムラグが出てしまいます。
照明みたいな家電を操作するぐらいは、今回のサンプルのように直接操作できたほうがストレスも無いし、大掛かりにならないので向いてると思います。