LoginSignup
2
2

More than 3 years have passed since last update.

Node-RED x Sonos で MINI LED BADGE に再生している曲名を表示させてみた

Last updated at Posted at 2020-12-01

はじめに

Node-RED と Sonos を組み合わせて MINI LED BADGE に再生している曲名を表示させてみました。

通常、Sonos は PC、または、スマホの Sonos S2 アプリから操作しますが、API が公開されていますので、Node-RED などのプログラムからも操作することが可能です。

Sonos と Node-RED を組み合わせた例は他にも記事にしていますので、参考にしてみてください。

Raspberry Pi Desktop へ enebular agent をインストールして sonospollytts ノードを使ってみた。
Node-RED と Sonos で学校チャイムシステムを作ってみた。
導電布 nüno と ワイヤレススピーカーシステム Sonos をノンコーディングで連携させてみた。
Node-RED Sonos ノードについて調べてみた。
Sonosを操作するツールを調べてみた。

MINI LED BADGE とは

2020年9月に行われた M5Stack Japan Creativity Contest 2020 に応募した作品で、M5Atom lite、または、M5Atom matrix に装着して使用する LED バッジです。

PC、スマホ、ラズパイ等から BLE (Bluetooth Low Energy)、または、Wi-Fi 経由で文字データを送って LED マトリクスにスクロール表示することが可能です。

技術的な詳細については ProtoPedia に記載していますので、参考にしてみてください。
Booth で頒布していますので、もし興味があれば使ってみてください。

構成

Sonos で再生している曲名の情報を Node-RED で取得し、MQTT Broker (今回は Shiftr.io cloud のサービスを使用) 経由で MINI LED BADGE へ送信しています。

Node-RED フロー

ポキオさんが作成した sonos-notify ノードを使用して Sonos で再生している曲名の情報を取得しています。

node-red-contrib-sonos-notify

delay ノードを使用している理由は MQTT Send ノードが MQTT Broker へ接続するのに少し時間を要するためです。デプロイ直後の曲名表示に対応しています。
change ノードは sonos-notify ノードが出力した情報の中から曲名の情報を取得します。
MQTT Send ノードは曲名の情報を MQTT Broker へ送信します。

ノードの追加

sonos-notify ノードの追加方法はメニューを表示して「パレットの管理」→「ノードを追加」→「ノードを追加」→「node-red-contrib-sonos-notifyを入力」→「追加ボタンを押下」で追加することができます。

スクリーンショット 2020-11-23 9.57.51.png

MQTT

shiftr.io のサービスを使用しました。今回は新サービスの shiftr.io Cloud (自分専用のドメイン名、インスタンスを持つことができます) を使用してみましたが、旧サービスの shiftr.io でも動作上は問題ありません。

スクリーンショット 2020-11-23 10.00.42.png

まとめ

フローはシンプルだけどノードを組み合わせて機能をパワフルに実装できるのが Node-RED の良いところだと思います。
次回 (12/9) は Jetson Nano とラズパイの両方で使用可能なハードウェア (Jetson & Pi 電力測定ボード) を制御するノードを作成した話を執筆する予定です。

では、良き Node-RED ライフを!

2
2
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
2
2