16
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Amazon Echoで照明を操作する

Last updated at Posted at 2016-05-28

Amazon EchoはSmart Homeとの連携ができPhillipsのHueと言った照明を音声でコントロールすることが出来ます。

けど、ちょっと試したいって時に、Hueはちょっと高いんですよね。。

いろいろ調べていたら、Raspberry Piで試せそうでした。(Intel Edisonでも動きます)

参考にしたのはこちらのサイト。
Home Automation with Amazon Echo voice control

サイトのサンプルではログを表示するだけでしたので、GPIOを利用してAmazon EchoからLチカしてみました。

Raspberry Pi Smart Home
デバイスの検出と操作動画

手順

配線

Raspberry PiのGPIO 4を使うので、以下のように配線します。
smarthome.png
IMG_7496.JPG

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 と語りかけると同じネットワークにあるデバイスを探してくれます。

デバイスが見つかると、Echoの管理画面に表示されます。
スクリーンショット 2016-05-28 12.29.08.png

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 onAlexa, living off でも操作できます。

あとがき

実際に家の照明を操作するとした場合、今回利用したLEDの代わりにリレーなどを使って、照明の電源をOn/Offする形になります。

けど、実際にこれを壁のスイッチの所に埋め込むのは大きすぎて厳しいですね。
やはり市販のものみたいに、コントローラとなるものは別置きにして、照明とコントローラ間は別の通信方法にするか、Wi-Fiとマイコン部分が専用なものにできれば、自作できるのかな。

また、Echo → Skill → Lambda → Raspberry Piという作りこみをすることで、ネット経由で外部からも操作できるようになりますが、それなりのタイムラグが出てしまいます。
照明みたいな家電を操作するぐらいは、今回のサンプルのように直接操作できたほうがストレスも無いし、大掛かりにならないので向いてると思います。

16
23
11

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?