初期設定はとても簡単

ハックを始める前に、まずはブリッジの初期設定をします。
初期設定は、こちらの記事を参考に進めてください。
いよいよハック
HueはREST形式でAPIが開いているので、ほぼ全てのプログラミング言語から制御できます。今回はcurlコマンドで、HTTP Requestの部分を設定します。
筆者の環境
- PC:MacBookPro(Retina, 13-inch, Early 2015)
- OS:macOS Sierra v10.12
- ブラウザ:Google Chrome 53
ハックに必要な情報を用意する
ハックには以下の情報が必要です。
- ブリッジのIPアドレス
- ユーザー名
- 照明のID
順番に取得してみましょう。
1. HueブリッジのIPアドレスの取得

まずはPCからHueブリッジにアクセスするために、IPアドレスを調べます。
Hueブリッジと同じネットワークにPCを接続します。その状態で、https://www.meethue.com/api/nupnpにアクセスしましょう。
ここでは、json形式で「id」と「internalipaddress」の値が表示されます。HueブリッジのIPアドレスが「192.168.179.15」だということが分かりました。
2. ユーザー名の取得

次はユーザー名を取得します。ここではブラウザ上で表示できるデバッガーを利用します。
「http://
無事に表示されたら、デバッガーのURLを「/api」に、Message Bodyを「{"devicetype": "デバイスの名前"}」として「POST」ボタンをクリックしましょう。

僕は「dotstduio」という名前でデバイスを登録しました。
過去の記事で「{"devicetype": "デバイスの名前", "username": "ユーザ名"}という形式でPOSTしましょう」と書いているものがありますが、現行のファームウェアでは「{"devicetype": "ユーザ名"}」となっているようです。
Command Responseの箇所に以下のエラーが表示されました。
[
{
"error": {
"type": 101,
"address": "",
"description": "link button not pressed"
}
}
]
「link button not pressed」とあります。認証のために一度ブリッジの物理ボタンを押しましょう。もう一度ブラウザから「POST」ボタンを押すとリクエストが成功して、以下のようにusernameが生成されます。
[
{
"success": {
"username": "Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr"
}
}
]
ここでは「Xi1wEib8m5jaIkqcraRflvQgPY6GKNmxyQ09kdZr」というユーザー名(username)が生成されました。この値を使ってAPIにアクセスしていきます。
3. 各照明のID名の取得
ブリッジに接続している照明には、数字でIDが割り振られます。どの照明がどの数字なのかを調べましょう。これはスマートフォンアプリからでもブラウザからでも調べられます。
スマートフォンアプリから確認する方法

スマートフォンアプリの「マイランプ」の項目で各照明に名前をつけることができます。その際に割り振られたIDをそのまま利用しましょう。
名前の変更などもアプリからできます。このとき、照明の電源が入っていないと「!マーク」表示になります。
ブラウザから確認する方法
「http://

アクセスすると、上記ように表示されます。このとき、照明の電源が入っていないと「reachable: false」という値が返されます。
この記事は参考になりましたか?
- この記事の著者
-
菅原のびすけ(dotstudio株式会社)(スガワラ ノビスケ)
日本最大規模のIoTコミュニティ「IoTLT」主催。岩手県立大学大学院ソフトウェア情報学研究科を卒業後、株式会社LIGでWebエンジニアとして入社し、Web開発に携わる。2016年にdotstudio株式会社を立ち上げ、今はIoT領域を中心に活動している。JavaScript RoboticsコミュニティNodeBotsの主催や、IoTバックエンドサービスであるMilkcocoaのエバンジェリストとしても活動中。共著: 『JavaScriptでインタラクティブ3Dコンテンツを作ろう』 共著: 『現場のプロが教える WEBデザイン 新・スタンダードテクニック37』 共著: 『フロントエンドエンジニアのための現在とこれからの必須知識』twitter: @n0bisuke URL: dotstudioのプロフィールページ
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
