Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 8836

Sonos で Lチカ してみた。

$
0
0

はじめに

電子工作のはじめの一歩と言えば「Lチカ」ですね。
ワイヤレススピーカーシステム Sonos でも「Lチカ」を試すことができます。
Sonos One にはステータスライトがついており、このステータスライトの色や点滅で状態を確認することができます。(白色点灯状態が正常です)

ただ、夜中暗い中でステータスライトが点灯していると眩しいことがあるので、Sonos アプリからステータスライトを OFF にすることができます。
Sonos_App.jpeg

プログラムから LED を操作する

Sonos は APIが公開されていますので、プログラムから LED を操作することが可能です。

  • getLEDState() →現在の LED の状態を取得します
  • setLEDState(desiredState) → LED の状態を変更します

JavaScript (node.js) の node-sonosモジュールを使用してスクリプトで LED を操作してみました。

インストール

node のバージョンを確認します。(nodebrew で node のバージョン管理を行っています。)

$ nodebrew list
v6.14.1
v8.14.0
v9.11.2
v12.14.1

current: v12.14.1
$ node -v
v12.14.1

node-sonos をインストールします。

$ npm install sonos

スクリプトの実行

Sonos の LED のステータスを確認して、On なら Off へ、Off なら On へ変更するスクリプトです。

$ node setLEDState.js 
Got current LED state "Off"
Success LED: Off->On
$ node setLEDState.js 
Got current LED state "On"
Success LED: On->Off
setLEDState.js
constSonos=require('sonos').Sonosconstsonos=newSonos(process.env.SONOS_HOST||'192.168.13.4',process.env.SONOS_PORT||1400)sonos.getLEDState().then(state=>{console.log('Got current LED state %j',state)if(state=="On"){sonos.setLEDState("Off").then(state=>{console.log('Success LED: On->Off')}).catch(err=>{console.log('Error occurred %j',err)})}if(state=="Off"){sonos.setLEDState("On").then(state=>{console.log('Success LED: Off->On')}).catch(err=>{console.log('Error occurred %j',err)})}}).catch(err=>{console.log('Error occurred %j',err)})

Viewing all articles
Browse latest Browse all 8836

Trending Articles