Hueとconect+をつなげてみた 〜スマート電球 Philips Hue APIの使い方 | conect+

Hueとconect+をつなげてみた 〜スマート電球 Philips Hue APIの使い方

Hueとconect+をつなげてみた 〜スマート電球 Philips Hue APIの使い方

スマート電球 Hue” の制御API周りについてまとめてみました。

 

以下の構成です。

 

 

 

スマート電球?

スマート電球は、家中どこにいても、外出先からでもスマホなどから簡単に電源を操作できる電球(照明)で、色や明るさを変えられるものもあります。

なかでもPhilips社のスマート電球 “Hue” は、ラインナップも豊富で話題のIoT機器のひとつです。

 

Hueにはコントロール用の公式アプリもありますが、Hueの制御用APIを使って自分好みにカスタマイズしてみます。

 

Philips Hueについて https://www2.meethue.com/ja-jp

 

 

 

★今回使ったHueはこちらです。

Philips Hue White Ambiance スターターキット』

 

 

Hueの開発を行う際は、以下の公式デベロッパサイトに手順が書かれています(英語)が、

この記事では、日本語でデベロッパサイトに記載の手順を追って見ていきます。

 

Hue デベロッパサイト https://developers.meethue.com/

(技術仕様などを見るにはデベロッパアカウントが必要になります。この記事はその内容の一部をまとめたものです)

 

 

はじめに、開発用のPCHueブリッジが同じネットワーク内にあることを確認してください。

Hueのネットワーク設定は、Hueの公式アプリで行うことができます。PCとHueブリッジを接続してインターネット共有するのも手です。

 

 

(1) Hue API デバッグツールへのアクセス

 

★まず、下記のURLからHueブリッジのIPアドレスを確認します。

HueブリッジのIPアドレス確認 https://www.meethue.com/api/nupnp

 

★次に、Hue API デバッグツールにアクセスします。

Hue API デバッグツール http://[今確認したHueブリッジのIPアドレス]/debug/clip.html

 

★最後に、ユーザを作成します。

Hueブリッジの真ん中のボタンを押してから、デバッグツールで以下のように入力します。

URL: /api

Message Body: {"devicetype":"(任意の英字名)"}

ボタン: POST

 

Command Responseに success” という文字と username” が返ってくれば成功です。(JSON形式)

username” は、どこかにメモしておきましょう。

 

これで、Hueの状態の確認(GET)や、Hueの操作(PUT)ができるようになりました。

 

 

(2) デバッグツールを使ってHueの状態を確認してみる

 

★Hueの状態を取得してみましょう。

以下のURLは、状態取得用のGETAPIURLです。制御用のPUTは(3)に後述します。

URL: http://[HueブリッジのIPアドレス]/api/[今得たusername]/lights

Message Body: (なし)

ボタン: GET

 

Command ResponseHueランプの情報が返ってきます。このなかで、state”の部分の各キーがHueの状態を表しています。

URLの最後に "/[電球のID]" をつけると、そのIDの電球の情報のみを得ることができます。

 

★キーの説明★

返ってきたランプの情報のはじめに格納されている1”2”などの値は、電球のIDです。(3)で電球を操作する際にこのIDを指定します。

(※キーは、ラインナップにより異なるものも(共通のものも)あります。これはWhite Ambianceスターターセットのものです。)

“on”: 電球がONのときTrue”OFFのときFalse”のブーリアンを格納します。

“bri”: 明るさの値です。8bit (0~255) の数値を格納します。

“ct”: 色味の値です。153~454 の数値を格納します。(色温度Kの値とは異なります)

“alert”: 電球の状態を周期的に変更するための値です。“none”, select”, lselect”3種のStringを格納します。

 ↪︎“none”: デフォルトの状態

 ↪︎“select”: 電球が1回のみ明るさを変化させる

 ↪︎“lselect”: 電球がnone”を受信するまでの間、明るさを変化させる

“colormode”: 電球が現在動作しているカラーモードの種類を格納します。White Ambiancect”のみをサポートしています。

“reachable”: 電球がブリッジに接続されているときTrue”、そうでないときFalse”のブーリアンを格納します。


その他のキーについては、下記デベロッパサイトの
APIページをご覧ください。(英語)


API
について https://developers.meethue.com/develop/hue-api/lights-api/

(デベロッパアカウントが必要です)

 

 

(3) デバッグツールを使ってHueを操作してみる

 

状態取得ができたら、Hueを操作してみます。

以下のURLは、制御用のPUTのAPIのURLです。状態確認用のGETは(2)に上述しました。

URL: http://[HueブリッジのIPアドレス]/api/[username]/lights/[電球のID]/state

Message Body: (下記します)

ボタン: PUT

 

Message Bodyには、(2)の「★キーの説明★」にあるキーとデータを、目的に応じて以下のように入力します。

改行は任意ですが、人間が見やすいので改行するのも良いでしょう。

 

例えば、以下は

・明るさ(bri): 120

・色味(ct): 200

・点滅(alert)させる: "lselect"

・電球(on)をONにする: true

の挙動を(同時に)Hueに命令する入力です。

 

 

↓コピペ用

{
"bri":120,
"on":true,
"ct":200,
"alert":"lselect"
}

 

これで、パソコンから電球を操作できるようになりました!

 

 

 

以上が「準備編」になります。

次ページ「実践編」では、準備編でご紹介したGETやPUTのAPIを用いて、IoTデバイスをまとめて管理できるconect+アプリからHueを操作してみたいと思います。

 

 

 

 

c+

今後ともconect+をよろしくお願い致します。

Connecting great Designs with great Technologies.

 


事業提携のご相談などお気軽にどうぞ!

 

相談する(無料)

 

 

無料でIoTアプリをつくる