Node-REDでAlexaにテキストを読み上げてもらう

## Node-RED with Alexa
Node-REDでプロジェクトを作成して特定のテキストをEcho-dotのAlexaに読み上げてもらうまでの手順をまとめました。
下のつぶやきみたいに歌詞の一節を読み上げてもらいました。

[真っ赤/My Hair is Bad]('https://youtu.be/0M3HoC2uGhM?t=115') (Node-REDだけにね！)

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Node-REDからalexaを動かしてマイヘアを歌ってもらいました。YouTubeとはつながってません。<a href="https://twitter.com/hashtag/Node?src=hash&amp;ref_src=twsrc%5Etfw">#Node</a>-RED <a href="https://twitter.com/hashtag/alexa?src=hash&amp;ref_src=twsrc%5Etfw">#alexa</a> <a href="https://twitter.com/hashtag/myhairisbad?src=hash&amp;ref_src=twsrc%5Etfw">#myhairisbad</a> <a href="https://t.co/e4dLoFsp97">pic.twitter.com/e4dLoFsp97</a></p>&mdash; ウーリズム (@Uh_rhythm) <a href="https://twitter.com/Uh_rhythm/status/1305154248519249920?ref_src=twsrc%5Etfw">September 13, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## 前提条件
Alexa搭載のデバイスがすでにネットワークにつながっている状態を想定しています。
ですのでAlexa本体のセットアップなどについては省略します。
私はAmzonのタイムセールで購入したEcho Dot第３世代で試しました。

[Echo Dot (エコードット)第3世代 - スマートスピーカー with Alexa]('https://www.amazon.co.jp/gp/product/B07PHPYPYK/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1')




## ローカルにNode-Redをインストールしてプロジェクトを立ち上げる
▶︎インストールコマンド
Windowsの場合

```sh
npm install -g node-red
```

Macの場合

```sh

sudo npm install -g node-red
```

▶︎起動コマンド

```sh
node-red
```

http://127.0.0.1:1880/ にアクセス

下記の画面が表示されたら成功です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/e8993dc6-ab71-884a-92d3-53329f33e29d.png" width="70%">

## node-red-contrib-alexa-remote2をインストール
こちらの記事を参考にさせていただきました。

[Alexaをしゃべらせる（Node-red編）]('https://dream-soft.mydns.jp/blog/developper/smarthome/2019/10/362/')
右上のハンバーガーメニュー>パレットの管理>ノードを追加タブの🔍ノードを検索の所に__node-red-contrib-alexa-remote2__と入力>ノードを追加 でインストール完了です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/95a1e53b-478d-653d-5669-479b871ab160.png" width="50%">

## フロー作成
Alexaのノード一覧からAlexa Routineを選んでワークスペースに置いてあげましょう。
![スクリーンショット 2020-09-14 18.36.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/e14d721d-ab4e-0b2a-1fdd-166f724c50a5.png)

## 設定
ノードをクリックしてAlexaと紐づいているアカウント情報を入力してあげます。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/9bdf6e3d-b51c-7d6e-2342-b006998075d4.png" width="50%">
Accountの編集ボタンをクリックすると下の画面に遷移します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/f72fe7d7-ad4a-2310-d528-01afb10fcbfc.png" width="50%">

__Auth Method: Email & Password__
__Email: Alexaに紐づいているAmazonアカウントのメールアドレス__
__Password: Amazonアカウントのパスワード__
__Service Host: alexa.amazon.co.jp__
__Page: amazon.co.jp__
__Language: ja_JP__

以上を入力して更新をクリックします。

## 実行
TextにAlexaに読み上げて欲しいテキストを入力します
![スクリーンショット 2020-09-14 19.46.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/be2e4b4d-34ea-59e6-7c57-0b1e2432a2c9.png)


あとはinjectノードにつないで、デプロイして完了です。
![スクリーンショット 2020-09-14 19.47.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/164405/bdf285f4-ef4d-78bc-971c-c8cec62ef68f.png)


香水/瑛人を歌って（読み上げて）もらいましょう。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">Alexaに香水を歌って(読み上げて)<br>もらいました。<a href="https://twitter.com/hashtag/nodered?src=hash&amp;ref_src=twsrc%5Etfw">#nodered</a> <a href="https://twitter.com/hashtag/Alexa?src=hash&amp;ref_src=twsrc%5Etfw">#Alexa</a> <a href="https://t.co/XYyGBO7zN4">pic.twitter.com/XYyGBO7zN4</a></p>&mdash; ウーリズム (@Uh_rhythm) <a href="https://twitter.com/Uh_rhythm/status/1305459395401150465?ref_src=twsrc%5Etfw">September 14, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>