目 次
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu00-1024x416.jpg)
前回までは、主にVolumioの再生までがメインでしたが、今回は、いよいよAlexa君にVolumioを操作させる設定に入ります。
過去ログとして記載しているので多少、違う部分があるかもしれません。
楽曲料を無料にする道のりはなんて険しいのだろう・・・・
と、フケリながら作業を進めていきます。
この設定を行うと、WebGUIの画面を出さずともAlexaに話かけるだけで再生、停止ができるようになります。
Node-REDをインストールする
Node-REDとは、APIやオンラインサービス、デバイスなどの機能を繋げてアプリケーションを作成していくプラットフォーム
処理フローをブラウザの操作によって作成することができるオープンソースソフトウェアで、Node.jsが動く環境なら何処でも動かせる
もうちょっと簡単に言うとTwitterで何かつぶやいたらLED光らせるとか、スイッチ押したらメールを送信するようなことがドラッグ&ドロップと多少のコードだけで簡単に実現できるものです。
さて、TeraTermで入って作業に移ります。
Curlでダウンロードしてインストールします。
volumio@volumio:~$ sudo su
volumio@volumio:~$ bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
[y/N]の所はすべて「y」を選択する。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu53.jpg)
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu54.jpg)
http://[your_pi_ip-address]:1880 が表示されてインストールが完了したらNore-Redを起動します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu55.jpg)
自動起動を有効にする設定を記述します。
root@volumio:~$ sudo systemctl enable nodered.service
Node-Redを起動します。
root@volumio:~$ node-red-start
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu56-1.jpg)
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu57.jpg)
Node-RED Alexa Home Skill Bridgeでアカウントを作成する
Node-RED Alexa Home Skill Bridge
https://alexa-node-red.bm.hardill.me.uk/
「Register」でアカウントを作成する。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu58-1024x699.jpg)
必要箇所に記入後、「Register」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu59-1024x499.jpg)
「Add Device」を選択してデバイスを登録します。
Name:メディアサーバー <–これがAlexaから呼び出す名前になります。
ちなみに、「ミュージックサーバー」は先約が
あるので使えません。
Description:説明を入れます。
On、Off:チェックを入れる。
%+、%-:チェックを入れる。
「OK」を選択して登録します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu60-1024x716.jpg)
登録された状態です。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu61-1024x329.jpg)
AlexaアプリにNode-REDを入れる。
スマホのAmazon Alexaへ入ります。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu62-512x1024.png)
左上の線3つの所を選択し「スキル・ゲーム」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu63-512x1024.png)
「検索」でNode-REDを検索します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu64-512x1024.png)
上側にNode-REDが見つかったので、それを選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu65-512x1024.png)
Node-REDを有効にします。
「有効にする」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu66-512x1024.jpg)
上記、Node-RED Alexa Home Skill Bridgeのホームページで作成したアカウントのユーザ名及びパスワードを入れます。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu67-512x1024.jpg)
上記アカウントでデバイスが認識できるようになります。
Node-RED Alexa Home Skill Bridgeで作成したNameつまり、「メディアサーバー」が追加されます。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu68-512x1024.png)
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu69-512x1024.png)
Node-REDのフロチャート作成
作業用PCのブラウザでNode-REDのフロチャートページを開きます。
http://192.168.*.*:1880 <– VolumioのIP
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu68-1-1024x883.jpg)
左側にalexaの項目がない場合は、右上の線3本から「パレットの管理」で追加します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu76.jpg)
「ノードを追加」タブを選択して検索窓に「alexa」と入れると検索されます。
「node-red-contrib-alexa-home-skill」の「ノードを追加」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu77.jpg)
「現在のノード」に「node-red-contrib-alexa-home-skill」が追加されます。
すると、メッセージダイヤログがでてメイン画面右側の項目に「alexa」が追加されます。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu78.jpg)
ノードを配置する
方眼紙画面の左から配置しましょう!
「alexa」の欄から「alexa home」(配置後灰色)を左側からドラックアンドドロップで方眼紙画面に配置します。
「機能」の欄から「switch」(黄土色)を適当な箇所に配置します。
「その他」の欄から「exec」(ピンク)を適当な箇所に配置します。
「出力」の欄から「debug」(緑色)を適当な箇所に配置します。
それぞれのパーツに〇があるのでクリックして次のパーツにマウスで線を繋ぎます。
下写真のようにすべて繋ぎます。
「switch」から「exec」と「exec」から「msg-payload」は4つの上から順番に線を引いてってください。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu71-1-1024x844.jpg)
プロパティの設定
配置した「Alexa Home」をダブルクリックすると「プロパティ」がでるので「Account」をNode-RED Alexa Home Skill Bridgeで作成したユーザ名で「Device」を「メディアサーバー」にし「更新」後に「完了」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu72-2-1024x699.jpg)
※動作後の図を使っているので実際の作成途中と違います。
「switch」をダブルクリックします。
「名前」を「再生メニュー」
「is true」→1
「is false」→2
「==」「25」→3
「==」「-25」→4
「完了」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu73-1-1024x699.jpg)
一番上のから順番に下へ設定していきます。
「exec」をダブルクリックします。
一番上のから順番に下へ設定していきます。
1番目 コマンド「bach -c “mpc play”」 名前「再生」
2番目 コマンド「bach -c “mpc pause”」 名前「停止」
3番目 コマンド「bach -c “mpc volume +5″」 名前「音量+」
4番目 コマンド「bach -c “mpc volume -5″」 名前「音量-」
execの4つの設定をします。
参考記事にもありましたが、mpc stopでなくpauseでないと正しく停止できませんでした。stopにすると次の曲に行きます。
volumeは操作ができませんでした。pHAT DACでボリューム変更ができない設定にしているので動いていると思いますが・・・確認してないです。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu74-1-1024x699.jpg)
コマンドでも動作確認してみました。ここは設定ではないので飛ばしてください。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu75.jpg)
「msg-payload」はデバッグウインドで結果を表示するためのものなので、そのままでOKです。
処理を実行するとデプロイ下に「デバック」項目タブがあり、そこに処理が表示されます。
Connectする
「デプロイ」から「全て」を選択します。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu79.jpg)
「メディアサーバー」下の「connected」が表示されていればアクティブな状態です。
成功です。
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu80-1024x699.jpg)
Alexaから音声操作
メディアサーバーの動作はONとOFFなのでAmazon Alexaアプリから定型アクションを入れました。この定型アクション、無くてもいいかも・・・知れません
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu81-512x1024.png)
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu82-512x1024.png)
![](http://deepserver.aa1.netvolante.jp/wp-content/uploads/2020/04/volu83-512x1024.png)
「アレクサ、メディアサーバーをつけて」・・・Volumioの音楽が途中から始まります。
音楽が途中から始まるのはご愛敬で、一応、音声制御はできています。
「アレクサ、メディアサーバーをけして」・・・Volumioの音楽が停止します。
オフに出来ている分けではありません(汗
これらのホームページを参考にしました。
これらの方は何もない所から1から作るスキルに凄さしかありません(感謝!