概要


Gluinサイトは、Gluinサーバに接続されたデバイスやアプリ、またそれらを組み合わせたレシピを閲覧、編集するためのWebページです。現在Webブラウザ上で次の機能が利用できます。



Gluinサイトへのアクセス


Gluinサイトへログインするためには、Webブラウザを使用して指定のURLへアクセスします。このURL等もハッカソン等でアカウントと合わせてご連絡しております。

※なお、Webサイトへのアクセスには、リアルタイムにデバイスからの情報更新を行うため、WebSocket over SSLも併用しています。情報が出ない場合には、ProxyやFirewallなどに問題がないかご確認ください。



図:httpsとWebSocket over SSL

正しくアクセスすると、次のようなトップ画面が表示されます。


図:Gluinサイトトップ

右上にあるログインをクリックすると下記のログイン画面に移行します。


図:Gluinログイン

IDとパスワードでログインします。なお、このIDに紐づけられたデバイスやアプリがログイン後に操作できるようになります。
推奨ブラウザ
Firefox 32以降、Chrome 37以降を推奨します。



デバイス/アプリ操作


Gluinサイト上で、接続しているデバイスの一覧を表示したり、各デバイスの詳細を確認、またデバイスへの値の設定などの指示ができます。

■デバイス/アプリの一覧

ログインした直後に表示されるメイン画面の右側に、現在ログインしたアカウントに紐づけられているデバイスとアプリの一覧が表示されます。デバイスとアプリは上部のタブをクリックすることで切り替えが可能です。



図:メイン画面の右側にデバイスリストが表示


またデバイス名をクリックすると、より詳細表示へのボタンが表示されます。また、選択されたデバイスを使用しているレシピが明るく表示されます。



図:デバイスを選択すると詳細ページへの移行、及び関連レシピが明るくなる


「詳細を見る」をクリックすると、デバイスに関するより詳細を見ることができます。

■デバイスの詳細

デバイスに関する詳細を見ることができます。上記の「詳細を見る」をクリックするか、デバイス名をダブルクリックすると、詳細画面へ移行できます。


図:デバイス詳細画面

表示されているのは次の項目です。
ITEM DESCRIPTION
デバイスID デバイスを示すユニークなIDです。サーバ上で一意である必要があります。
更新時刻 最後に情報が更新された時間です。更新とは、登録や情報をGluinサーバに通知したことを指します
デバイスが持っている値 デバイスが持つ属性値です。Boolean値や整数値等によって、チェックボックスなどのUIが表示されます。一つのデバイスは複数の属性値を持つことが可能です。
デバイス名 デバイスIDと異なり、こちらは人が読んでわかりやすい名前を付けることができます。サーバ上で一意である必要はありませんので、デバイスを使用するときに分かりやすい名前を付けましょう。
デバイス名の右横の編集ボタンを押すと、デバイスの属性値を変更することができます。ただし、変更を受け取るかはデバイスに依存します。

■デバイスの編集

デバイスの詳細画面から、編集ボタンを押すと、編集画面へ移行します。編集できる項目は、デバイスIDと更新時間を除く項目です。値を編集したのち、右下の更新ボタンを押すと更新をデバイスに通知します。
※ただし、デバイスの属性値を変更した場合、デバイスへ値の変更を通知いたしますが、その変更をデバイスが受け入れない場合は反映されません。変更が実際にデバイスに反映されるまで、更新ボタンを押してしばらく時間がかかることがあります。



図:デバイス編集画面


■アプリの詳細

Gluinアプリに関する詳細を見ることができます。上記の「詳細を見る」をクリックするか、アプリ名をダブルクリックすると、詳細画面へ移行できます。


図:アプリ詳細画面

表示されているのは次の項目です。
ITEM DESCRIPTION
アプリID アプリを示すユニークなIDです。サーバ上で一意である必要があります。
更新時刻 最後に情報が更新された時間です。更新とは、登録やGluinサーバにアクセスしたことを指します
TOKEN アプリが持つTOKENです。これらの値は、アプリからTOKEN取得要求があった際に自動的に生成されます。デバイスの属性値の取得(get)用、設定(set)用 また対象となるデバイスIDとその属性値によって自動的にサイト上の名前は生成されます。実際に使用されるのはそのTOKENの値になります。アプリから同じデバイスの属性値に対して再度要求があると新しくTOKENを生成し上書きします。TOKENの詳しい説明はGluinアプリをご参照ください。
Callback URL アプリに通知するためのURLです。デバイスの属性値に変化があった場合、その変化を指定されたURLに通知できるようになります。Callback URLの詳しい説明はGluinアプリをご参照ください。またCallback先に過度の負荷をかけないようご注意ください。
アプリ名の右横の編集ボタンを押すと、TOKEN値やCallback URLを変更することができます。ただし、アプリも同一TOKENを持っていないと動かなくなるので注意してください。

レシピ操作


レシピとは、デバイスやアプリの組み合わせです。Gluinサイト上で、利用しているレシピの一覧を表示したり、各レシピの詳細を確認、編集、有効/無効の切りかえ、追加、削除が行えます。

■レシピ一覧

ログインした直後に表示されるメイン画面の中央に現在ログインしているユーザが利用しているレシピ一覧が表示されています。各レシピには、レシピ名とその説明、現在レシピが動いているかと待っているか(起動中/停止中)が表示されています。またその下にはレシピがグラフィカルに表示され、実際のデータの流れが可視化されてリアルタイムに表示されています。


図:ログイン後のメイン画面にレシピ一覧が表示

レシピをクリックすると、詳細画面へのボタンが表示されます。また、右側のデバイス、アプリ一覧にはそのレシピで使用されているものが明るくハイライトされます。


図:レシピを選択すると詳細ボタンの表示、及び関連デバイスが明るくなる

■レシピの詳細

レシピの詳細画面では、レシピに関する情報が表示されます。レシピへの詳細ボタンをクリックするか、トップ画面等のレシピをダブルクリックすると、レシピ詳細画面へ移行できます。


図:ログイン後のメイン画面にレシピ一覧が表示

表示されているのは次の項目です。
ITEM DESCRIPTION
レシピ名 レシピの名前です。人が見たときに分かりやすい名前を付けることができます。例えば、「リビングの照明人がいなくなったら消灯」など。
もっと見る ベートスとしたレシピの動きの詳細が説明されているものです。新しくレシピを編集する際には、この内容を参照します。
レシピ グラフィカルに表示されたレシピが中央に表示されます。各丸いアイコンは、デバイスやアプリ、またIFなどのロジックを示しています。その間を結ぶ矢印はデータの流れです。上記の例では、左側のスイッチの出力を、右側のエアコンの入力へつなげていることが分かります。

実際に起動している場合、入出力があると、アイコンや矢印がデータが流れたタイミングで点灯し、その動作を視覚的に確認することができます。またアイコンが暗くなっている場合、レシピが停止か、デバイスとのコネクションが切断されていることを意味します。
起動する/停止する レシピを起動したり、停止することができます。レシピの編集の際には一度停止してしまうので、再度起動する必要があります。なお、停止に切り替えても、現在動作中のレシピは一通りの動きが完了するまで動き続けます。
関連デバイス/アプリ 右側には、このレシピで使用しているデバイスとアプリが表示されます。

※なお、デバイスは青い穴。アプリはオレンジの穴にしかセットできません。ドラッグ&ドロップしても弾かれてしまう場合は、正しい組合せかご確認ください。
レシピ名の右横の編集ボタンを押すと、レシピを変更できます。編集の際にはレシピは停止しますのでご注意ください。


■レシピの編集

レシピの編集画面では、レシピ編集することができます。基本的なレシピの編集方法を見てみましょう。

まずレシピ編集では、既に特定の動きを行うためのレシピテンプレートに対して、対象のデバイスやアプリを設定することを行います。例えば、下記の例ではデバイスの出力を、デバイスの入力に直接繋げる。というシンプルなレシピテンプレートがあり、それに対してユーザが持っているデバイスを当てはめることでレシピを完成させます。このレシピテンプレートは、レシピの追加をご参照ください。

下の例では、右側のデバイスの出力を受け付ける(入力される)側のデバイスが空になっています。ここに、操作されたいデバイスを入れてみましょう。右側に使用可能なデバイス一覧が並んでいます。


図:レシピ編集画面で、右側のデバイス一覧に利用可能なデバイス/アプリが表示される

このデバイスの「+」ボタンをクリックすると、各デバイスが持っている属性値が表示されます。この属性値の「アイコン」をドラッグ&ドロップで空いている穴に入れることで、デバイスがセットされます。


図:デバイスの設定の仕方

なお、デバイスではなく属性値であるのは、デバイスが複数の属性値を持っていた場合、どの値に入力するのか(出力するのか)わからないためです。

なお、既に穴にデバイスが入っている場合は、それを解除してから新たにドラッグ&ドロップでデバイスをセットする必要があります。解除は、下記の図のように一度アイコンをクリックすると、右上に×ボタンが表示されますので、さらに×ボタンをクリックすることで、解除することができます。


図:デバイスの設定解除

編集が終わったら、右下の更新ボタンを押します。これで編集した内容が確定します。


図:デバイスの設定解除

デバイスの詳細画面に戻ってきます。編集直後はレシピが停止状態になっていますので、実際に動かす場合には、起動スイッチを押して起動状態にします。


図:デバイスの設定解除

レシピの編集については操作紹介動画がありますので、こちらも合わせてご参考ください。



■レシピの追加

レシピを編集ために、まずは元となるレシピテンプレートから新たなレシピを追加します。

レシピの追加にはメイン画面の左上にあるレシピの追加をクリックして、レシピライブラリ画面へ移行します。


図:レシピライブラリ画面へ


レシピライブラリ画面では、利用可能なレシピテンプレートが並んでいますので、こちらをクリックすることで自分のレシピに追加することができます。なお、同じレシピテンプレートでもセットするデバイスによってさまざまな使い方ができますので、同じレシピテンプレートからを何度もレシピ追加することは可能です。


図:レシピライブラリ画面で追加

メイン画面に戻ると先ほどの追加したレシが追加されています。これに対して、デバイスやアプリをセットすることでレシピを完成させます。


図:レシピが追加されました


※なお、レシピテンプレートを使用する以外に、手動でレシピを作成することができます。 レシピ詳細画面ではレシピをファイルとしてローカルに出力することができ、レシピライブラリではそれらのファイルからレシピを追加するができます。仕様の詳細についてはここでは割愛します。

  

レシピ例


典型的なレシピのパターンご紹介します。

■デバイスの出力値を他のデバイスに入力する



図:スイッチデバイスからヒーターのON/OFFを制御
一番シンプルなレシピは、あるデバイスの出力値を、他のデバイスの入力値に繋げることです。例えば下記の例では、スイッチデバイスから送信されるON/OFF(true/false)値を、ヒーターの電源操作の入力に繋げています。これにより、スイッチデバイスをON/OFFすると、ヒーターをそれに合わせてON/OFFすることができます。

■アプリからデバイスの属性値を取得する



図:アプリから温度センサの情報を取得
アプリからデバイスの属性値を取得するときのシンプルなレシピです。少し注意するのは、あくまで取得を要求するのはアプリ側なので、初めはアプリ側からスタートします。デバイスの属性値の代わりに、穴にはアプリから要求する際に使用するTOKENをセットします。この要求は、デバイスに入力され、その属性値が出力されます。その出力を同じTOKENに入力することで、要求元のアプリに取得した値が返るようになっています。ここで注意するとこは、要求のトリガとなるTOKENと、実際に値を受け取るTOKENが同じものであることです。異なるTOKENを指定すると動作時にエラーになります。

■アプリからデバイスの属性値を設定する



図:スイッチアプリからヒーターのON/OFFを制御
アプリからデバイスの属性値を設定するときのシンプルなレシピです。デバイスの出力を別のデバイスの入力に設定する場合に似ています。set用のTOKENを使用していることにご注意ください。get用のTOKENを指定して動作することも可能ですが、動作が見やすくなりますので、できるだけ関連した名前の付いたTOKENを使用します。

■デバイスの属性値の値が変化したら、値を受け取る



図:温度が30度以上になったらCallbackURLを呼び出す。
Callbackを使用するサンプルです。温度センサーから温度が出力され、その値が30を超えていたら、CallbackURLを呼び出します。なお、定期的に情報を送信する場合、Callback先に負荷をかけないようにご注意ください。