アプリケーション開発
Hueシリーズ製品(ライト)の操作 (cURL編)
ステップ1:IoTアクセス制御エンジンの環境設定
IoTアクセス制御エンジンへのログイン
cURLがインストールされているPCのブラウザおよびコマンドラインツールを使用し、IoTアクセス制御エンジンにログインしてアクセストークンを取得します。
ブラウザを起動し、以下のURLにアクセスします。
https://dsymphony.com/oauth/v2/authorize?response_type=code&scope=management%20archive%20device&client_id=XXXX&state=abcd&redirect_uri=https://localhost:8080/
XXXX:ご利用申込み時に発行されたクライアントIDを入力してください。
"state"は認可コードを得る側が設定する任意の文字列(ここでは「abcd」)、"redirect_uri"はリダイレクト先サイトのURL(ここでは、ローカルのWebサーバ)を指定します。
IoTアクセス制御エンジンのログイン画面が表示されます。
IoTアクセス制御エンジンにログインします。
-
初めてログインする場合
[登録はこちら]を押し、表示されたアカウント登録画面で[Googleアカウントで登録]、[dアカウントで登録]、[Facebookアカウントで登録]、[LINEアカウントで登録]のいずれかを押すとアカウントが作成されます。
ログイン画面に戻り、「登録済みのアカウントでログインする場合」の操作を行ってください。
-
登録済みのアカウントでログインする場合
[Googleアカウントでログイン]、[dアカウントでログイン]、[Facebookアカウントでログイン]、[LINEアカウントでログイン]のいずれかを押します。各アカウントのログイン画面が表示されたときは、画面の指示に従ってください。
IoTアクセス制御エンジンへのログインが完了すると、指定したサイトのURLへリダイレクトされます。リダイレクトされたサイトのURLから、認可コード("code")を取得します。取得した認可コードは、メモ帳などのテキストエディタにコピー&ペーストしておくと便利です。
https://localhost:8080/?state=abcd&code=XXXX#
XXXX:リダイレクト時に付与された認可コードです。
"state"に、手順①で指定した文字列が表示されていることを確認してください。

※上記のような画面が表示される場合でも、認可コードは発行されます。
コマンドラインツールを起動し、以下のコマンドでアクセストークンを取得します。
curl -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=authorization_code&code=XXXX&redirect_uri=https://localhost:8080/" -X POST https://dsymphony.com/oauth/v2/token
XXXX:手順②でリダイレクトされた"code"の値を入力してください(最後尾の'#'(ターミネータ)は除外してください)。
"redirect_uri"は手順①で指定したリダイレクト先サイトのURL(ここでは、ローカルのWebサーバ)を入力してください。
以下の結果が表示されます。
{"access_token":"XXXX","refresh_token":"XXXX","scope":"archive device management","token_type":"Bearer","expires_in":86400}
※取得したアクセストークンは、24時間のみ有効です。前回ログインから24時間経過した場合は、再ログインしてください。
参考
リフレッシュトークンを利用し、アクセストークンの有効期限を延長させることもできます。
以下のコマンドを実行します。
curl -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=refresh_token&refresh_token=XXXX" -X POST https://dsymphony.com/oauth/v2/token
XXXX:手順③の結果に表示された"refresh_token"の値を入力してください。
アクセストークンとリフレッシュトークンが更新され、以下の結果が表示されます。
{"access_token":"XXXX","refresh_token":"XXXX","scope":"management archive device","token_type":"Bearer","expires_in":86400}
以下のコマンドでアクション一覧を取得し、IoTアクセス制御エンジンにログインできていることを確認します。
curl -X GET https://dsymphony.com/management/v2/me/devices/actions -H 'authorization: Bearer XXXX'
XXXX:手順③で取得したアクセストークンを入力してください。
以下の結果が表示されます。
{"result":0,"error":null,"device":[]}
これで、IoTアクセス制御エンジンにログインできました。
ゲートウェイの登録
IoTアクセス制御エンジンにゲートウェイを登録します。
※Device Connect Managerをインストールしてから15分以上経過している場合は、Device Connect Managerでサービスの再起動が必要です。詳しくは「FAQ」を参照してください。
ゲートウェイ(Android端末)でDevice Connect Managerを表示し、画面右上の
(設定)アイコン>[設定]を順にタップします。

設定画面が表示されます。
画面を下にスクロールし、「DEVICE CONNECT MANAGER について」欄の「UUID」を表示します。

以下のコマンドで、ゲートウェイを検索します。
curl -X GET https://dsymphony.com/management/v2/gateways/XXXX -H 'authorization: Bearer XXXX'
XXXX:手順②で表示させた「UUID」を入力してください。
XXXX:ログイン時に取得したアクセストークンを入力してください。
検索結果が表示されます。
{"result":0,"error":null,"gatewayInfo":{"gatewayId":"XXXX","gatewayName":"XXXX","gatewayUuid":"XXXX","gatewayType":"mobile","manager":"deviceConnectManager","managerVersion":"1.2.0","agent":"deviceConnectAgent","agentVersion":"1.2.0","osType":"Android","osVersion":"XXX","modelName":"XXX","isOnline":true}}
以下のコマンドで、ゲートウェイに任意の名前を付けて登録します。
curl -X POST https://dsymphony.com/management/v2/me/gateways -H 'authorization: Bearer XXXX' -H 'content-type: application/json' -d '{"gateways":[{"gatewayId":"XXXX","gatewayName":"XXXX"}]}'
XXXX:ログイン時に取得したアクセストークンを入力してください。
XXXX:手順③の検索結果に表示された"gatewayId"の値を入力してください。
XXXX:任意の名前を入力してください。手順③の検索結果に表示された名前("modelName"の値)のまま登録することもできますが、複数のゲートウェイを登録する場合は、設置場所に応じた名前を付けておくと便利です。その際、名前が重複しないようにご注意ください。
以下の結果が表示されます。
{"result":0,"error":null}
これで、ゲートウェイが登録できました。