search
LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

Organization

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

はじめに

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 ライフを!

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
What you can do with signing up
2