Help us understand the problem. What is going on with this article?

Sonosを操作するツールを調べてみた。

Sonosとは?

米国サンタバーバラ生まれのワイヤレスホームサウンドシステムです。
https://www.sonos.com/ja-jp/home

Sonos One?

Alexa / Google両対応の高音質スマートスピーカーです。

Sonos App?

iPhoneアプリとMacデスクトップアプリを試してみました。どちらも迷うことなく利用できました。同じネットワークにつながっていれば、どのデバイスからも操作できるのは良いですね。接続方式にBluetoothではなくWi-Fiを使用している利点ですね。

Sonos公式(開発者向け情報)

Sonos Developer
https://developer.sonos.com/build/
Sonos Labs
https://musicpartners.sonos.com/?q=docs

Node-REDから操作する

同じネットワークにつながっていればどのデバイスからも操作できるということは、プログラムからも操作できるということです。Node-REDから操作するために「メニュー」→「パレット管理」→「ノードを追加」から「sonos」で検索するといくつかリストアップされます。

node-red-contrib-better-sonos

サンプルフローが掲載されているので、「メニュー」→「読み込み」→「クリップボード」から貼り付けます。Dashboard機能を利用しているので、ブラウザから操作します。
https://proknx.com/nodered/sound-ui-sonos/

2019-10-05 23.45.54.png
2019-10-05 23.45.12.png

node-red-contrib-sonos-plus

WiKiのページにサンプルフローが掲載されているので、「メニュー」→「読み込み」→「クリップボード」から貼り付けて試してみると理解し易いです。

https://github.com/hklages/node-red-contrib-sonos-plus/wiki/A.-Nodes-and-Commands
2019-10-05 9.49.17.png

https://github.com/hklages/node-red-contrib-sonos-plus/wiki/B.-How-To-and-Examples
2019-10-05 22.05.33.png

Config Nodeの設定は新規に追加する際にSonosのSerial NumberとIPアドレスの情報が必要ですが、虫眼鏡ボタンを押して暫く待つと、同じネットワーク内に存在するSonosをディスカバリーしてくれるので、目的のSonos情報を選択します。
2019-10-05 9.01.35.png

https://github.com/hklages/node-red-contrib-sonos-plus/wiki/C.-SONOS-Concept
現在再生している音楽を一時中断して割り込み再生できるNotificationの機能が面白いと思いました。

node-red-contrib-sonospollytts

https://aws.amazon.com/jp/polly/
AWSアカウントでログインし、IAM Management ConsoleでAmazonPollyFullAccessポリシーを適用したユーザーを登録します。登録した際に作成されるアクセスキーとシークレットキーをsonospollyttyノードのプロパティで設定します。Pollyの日本語音声は女性(Mizuki)と男性(Takumi)から選べますが、ノードのプロパティで選択できるのは女性(Mizuki)のみでした。

2019-10-05 21.26.37.png
2019-10-05 21.34.56.png

コマンドラインツール

その他のツール

IoTでおなじみのMQTT経由でSonosをコントロールするブリッジツールやブラウザからSonosをコントロールするツールもありました。

sonos2mqtt

# sonos2mqttモジュールのインストール
$ npm install -g sonos2mqtt

# 起動
# 例. mqtt://<ユーザー名>:<パスワード>@broker.shiftr.io
$ sonos2mqtt -v debug -u <MQTTブローカーサーバ>

https://github.com/svrooij/sonos2mqtt#usage
使用方法はトピックで制御する仕様のようです。(メッセージペイロードは空でOK)
2019-10-05 23.10.54.png

sonos-web

# sonos-web-cliモジュールのインストール
$ npm install -g sonos-web-cli

# インストール(インストール後に起動される)
$ sonos-web install
Installing Sonos Web
✔ downloading installation files
✔ installing front-end dependencies
✔ build front-end application
✔ install back-end dependencies
✔ cleaning up installation files
✔ Starting Sonos Web

success Open a web browser on this computer to http://localhost:5050 to start!
You can access Sonos Web network-wide by going to http://192.168.13.4:5050

# 起動
$ sonos-web start
✔ Starting Sonos Web

success Open a web browser on this computer to http://localhost:5050 to start!
You can access Sonos Web network-wide by going to http://192.168.13.4:5050

# 停止
$ sonos-web stop
✔ Stopping Sonos Web

ブラウザから http://localhost:5050 へアクセスします。

Arduino から Sonos を操作するライブラリ

まとめ

Sonosとの音楽ライフがさらに充実すれば幸いです。

iotlt
IoT縛りの勉強会です。 毎月イベントを実施しているので是非遊びに来てください! 登壇者を中心にQiitaでも情報発信していきます。 https://iotlt.connpass.com
https://iotlt.connpass.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした