リビングのソファーに腰掛けると音楽が聴こえてくる体験を試してみます。
ソファーの肘置きに導電布 nüno を仕込んでワイヤレススピーカーシステム Sonos をノンコーディングで連携させてみました。
SONOS Japan User Group に他の記事もあるので参考になります。
必要なもの
- nüno + M5StickC
- Sonos スピーカー (Sonos アカウント)
- IFTTT アカウント
- shiftr.io アカウント (MQTTブローカーサービス)
- enebular アカウント (Node-RED)
構成
ソファーの肘置き (nüno) に触れたら M5StickC から MQTT でデータを送信 (Publish) します。
enebular (Node-RED) は MQTT からデータを受信 (Subscribe) したら Sonos で音楽を再生することを IFTTT へ要求します。
M5StickC から直接 IFTTT へ要求することも可能ですが、連携部分をノンコーディングで実装する目的で、間に enebular (Node-RED) を配置しています。
実装
nüno + M5StickC、shiftr.io 部分
導電布とM5StickCを繋いで動かしてみるハンズオンのイベント資料の方法で実装します。
IFTTT 部分
Webhooks と Sonos のサービスを連携させる設定を行います。
最初にExplore から検索してサービスを登録します。
次にアプレットを作成します。
This に Webhooks を選択し、Event Name (イベント名) を登録します。
That に Sonos の Play Stream サービスを選択し、Event Name (イベント名) 、Play Stream (再生する音楽 (mp3 ファイルの URL) とルーム名 (Sonos スピーカー)) を登録します。
同様に That に Sonos の Pause サービス (音楽再生を一時停止する) を選択したアプレットを登録します。
最後に My Applets 画面で作成したアプレットがすべて登録されていることを確認します。
enebular (Node-RED) 部分
enebular (Node-RED) で nüno + M5StickC、shiftr.io と IFTTT を連携させます。
最初に enebular (Node-RED) で パレットの管理から IFTTT ノードを追加します。
MQTT in ノードと IFTTT ノードをつなげます。
MQTT in ノードと IFTTT ノードの間に switch ノードを挿入し、例えば nüno に手を触れている間は音楽を再生し、 nüno から手を離したら音楽再生を一時停止するフローです。
まとめ
普段の生活の中で普段と変わらない所作に豊かな体験が加わるといいですね。
Listen Better!
みなさまにも良き音を!