LoginSignup
5
1

More than 1 year has passed since last update.

Alexaとラズパイを連携して音声でスクリプトを実行する

Last updated at Posted at 2021-11-29

概要

Alexaとラズパイを連携してラズパイ内のスクリプトを実行する方法を紹介します。
これを活用することで、Alexaに呼びかけて、ラズパイに接続した赤外線LEDを動作させて照明のON/OFFをしたり、PCをWOL(Wake ON Lan)で起動させたりすることができます。
(他にも色々スクリプトで実行できることならアイデア次第で色々できると思います)

仕組み

Node-RED Alexa Home Skill Bridge でデバイスの登録を行い、
RaspberryPi上にインストールした Node-RED に紐付けし、コマンドを実行させる

導入

ラズパイにNode-REDをインストール

## Node-REDのインストール
$ bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
## サービスの自動起動設定
$ sudo systemctl enable nodered.service

Node-RED Alexa Home Skill Bridgeの設定

アカウントの作成

からアカウントを作成を行う。

デバイスの登録

Untitled.png

Add DeviceからName、Description、スイッチの種別を選択する。

Node-REDの設定

node-redの起動

ラズパイでnode-redを起動しておく

$ node-red-start

起動後、ブラウザで http://xxx.xxx.xxx.xxx:1880/ へアクセス(xxx.xxx.xxx.xxxはラズパイのIPアドレス)

各動作ノードの追加

画面が開けたら右上ハンバーガーメニューからパレットの管理を選択

Untitled (2).png

ノードを追加タブでnode-red-contrib-alexa-home-skillを検索し、ノードを追加ボタンをクリック

Untitled (3).png

起点として alexa-home
それを受けて Switch
分岐先に exec
終点に debug
のノードを配置する(下図は完成形の図)

image.png

akexa-homeノードの設定

alexa-homeのノードをクリックすると設定画面が開くので、Account:新規にalexa-home-confを追加を選択し、鉛筆アイコンをクリック→Node-RED Alexa Home Bridge で登録したアカウント情報を入力すると、Deviceの欄に登録したデバイスが表示されるので選択する

Untitled (4).png

switchノードの設定

switchのノードをクリックすると分岐条件を追加できるので追加する(スイッチ系の場合は「つけて!オン!」の場合 is true、「消して!オフ!」の場合is falseとなる)

Untitled (5).png

is trueis falseの先にexecのノードを配置する

Untitled (6).png

execノードの設定

execコマンドをクリックすると実行コマンドを割り当てられるので、ラズパイ上でshellを記述して、パスを指定する

Untitled (7).png

Alexaに Node-RED のスキルインストール

AmazonAlexaアプリもしくはhttps://alexa.amazon.co.jp からNode-REDのスキルを検索し、インストールする
Untitled (8).png
有効にしたときにログイン情報が聞かれるので、Node-RED Alexa Home Skill Bridgeで登録したユーザ情報を入力する

動作確認

ここまでの設定でNode-RED Alexa Home Skill Bridgeで登録したデバイス名 + 「つけて!オン!」のようにAlexaに呼びかければラズパイでコマンドが実行されるようになります。

5
1
0

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
5
1