『Open Web Board』 『Gluin』 ハンズオン&ラピッドプロトタイピング に参加してみた
11月15日に大阪で開催された、
『Open Web Board』 『Gluin』 ハンズオン&ラピッドプロトタイピング : ATND
に参加してきたので、その内容を少し記載。
イベントの概要
このイベントは、KDDIさんが現在推進されている、Firefox OSベースのIoT向け環境であるGluinとOpen Web Boardを実際にさわってみるための会。そして、最後にはOpen Web Boardを無償で配布いただけるというお土産つき。
開場
会場は、大阪京橋にあるKDDIさんのビルの1階会議室。参加メンバーは25名程度。ハンズオンはチーム単位で行うので、4チームに事前に分けられてた。
スタッフの方は、実際にこのプロジェクトを推進している部隊の方々が関東から来てくださってる。
私のチームは5名。FirefoxOS関連の勉強会とかをされてる方とか、FirefoxOSをすでにいじられている方が多かった。1名、個人でFlameをお持ちの方がいらっしゃった。
ハンズオン用に、チームに1台のOpen Web BoardとHDMIのディスプレイ、マウス、Flameがおいてあった。Gluinのアカウントはチーム共用。開発環境は個人で構築するが、実際のお試し環境はチームで共有というスタイル。
wifiが用意されおり、当日の資料やサンプルもそのwifi経由で取得する。
あと、参加者はワークショップ参加同意書とOpenWebBoardの利用条件に同意して署名する必要があり、その紙が配られた。ただしこれらのものは機密保持のためのものではなく、逆にここでのアイデアをみんなで共有することを目的とする旨を書いており、また、個人が秘匿したい秘密情報については公開しない旨も書かれており、非常にコミュニティに配慮した内容となっていると私は思った。
開発環境構築
Open Web Board向けの開発環境を構築。Windows、Mac、Linux(Ubuntu)で構築実績があるもよう。私はMBAで構築。
大きな流れは以下のようになる。
- adbを使えるようにする
Macだと、Android SDKをダウンロードし、Eclipseを起動してAndroid SDKを有効にする。すると、Homeに.androidというフォルダができる。そこに、adb_usb.iniを作成して"0x2207"を記載。この番号は、OpenWebBoradで使われているRockchipのベンダーID。
そこまでを行ったのち、OpenWebBoradをmicroUSBで接続してしばらく待つ。microUSBから電源供給されることでOpenWebBoradに電源が入ってFirefox OSが立ち上がる。Firefox OSにて開発オプションが有効になってない場合は、有効にする。
adb devicesで接続されたかを確認。認識に少し時間がかかるようなので、時間をあけて何回か確認すると現れる。 - Firefoxに開発環境を設定する。
Firefoxを起動し、ADB Helperアドオンをインストールする。
その後、アプリマネージャを開くと画面下に接続先が表示されるので、先ほどadb devicesで表示されたIDを選択する。すると、FirefoxOS側にリモートデバッグ接続の許可を確認するダイアログがでるのでOKを押す。これで、接続は完了。このアプリマネージャから、作成したパッケージアプリをFirefoxOS側に追加できるようになる。当日はサンプルが配られたので、まずはそれを入れて確認。PC側のFirefoxにデバッグログが出力されることも確認できた。
Gluinの紹介とデモ
次は、Gluinの説明とデモ。Gluinは以下のもので構成される。
- Gluin対応のデバイス
大きく、入力となるデバイスと出力となるデバイスに分けられる。入力となるデバイスの例としてはスイッチやセンサー。出力となるデバイス例としては照明やモータや家電等。Gluin対応デバイスはWebsocketを使って後述のGluinサーバと通信を行う。 - Gluinサーバ
入力デバイスからのイベントを出力デバイスに通知するパイプ役的存在。
入力デバイスからのイベントをどのように出力デバイスに渡すかを”レシピ”と呼んでおり、これをGUIでノンプラミングで記述できる環境を提供している。
上の写真は、Gluinの画面。右には認識されたデバイスが一覧表示される。これらのデバイスを各レシピの〇にドラッグして使用する。
レシピとしては、
- スイッチのON/OFFを出力に渡す単純なもの
- スイッチのON/OFFを、複数のデバイスに数秒の待ちを入れて、順番に通知する複合的なもの(上の写真の一番右上のレシピ)
等が用意されていた。
また、実際にGluinに繋がるデバイスをKDDIさんの方で用意されていた。用意されたデバイスは次の3タイプ。
- センサーがBLEに接続され、OpenWebBoradと通信してGluinサーバに繋がるもの
- センサーがmbedのボードに接続され、Gluinサーバに繋がるもの
- Flame上で動作するアプリ(仮想スイッチとか)
真ん中の白い板の上にあるのは、加速度センサー、照度センサー(CDS)、人感センサー、スイッチ等。センサーはTOCOSさんの2.4GHz通信モジュール(TWE-Lite)に直結され、ボタン電池で動いている。OpenWebBoardにはTOCOSさんの通信ドングル(トコスティック)がささって、各センサーと通信をしている。
Gluinサーバとの通信処理はGluin.jsでAPI化されて提供されており簡単にプログラミングできそうだ。
Gluinサーバは現状はKDDIさんが用意されたサーバを使用する。GluinサーバのアカウントはOpenWebBoardの配布者はもらえるとこのこと。今後はGluinサーバをオープンソース化して自宅で運用ということも可能になるかもしれない(まだ予定)とのことだったので、期待して待とうと思う。
Gluinを使ってみる
各グループ単位で当日使用するID/PWが通知され、OpenWebBoardとFlame、希望グループにはデモで使用した機器を貸してもらって、実際に使ってみる。
私のグループは3灯の電灯をお借りして、順番につける消すといったレシピを試してみた。
アイデアソン
Gluinのモデルをベースに、
- どんなデバイスがつなげたいか
- 何がつながって、どうなるとよいか
- どんなレシピが欲しいか
というような観点(すいません、正確なのはわすれました)でポストイットに書き出し、模造紙にまとめて最後にチーム発表という流れ。
前回の関東では、”まな板に雑菌が多いときはつかわないように教える”というアイデアも出ていたようだ。興味深い。
各チームに1名、KDDIの方がファシリテータとしてアサインされた。僭越ながら、私のチームの発表は私がさせてもらった。
この内容は後日、KDDIさんから何かの形で公開されると思うので詳細は記載しない。(め、めんどくさいんじゃないんだからねっ)
閉会とOpenWebBoardの配布
最後に、KDDIでFirefox OS端末を担当されている部隊のグループリーダである上月さんからの閉会のあいさつ。
その後、OpenWebBoardを参加者に配布。何かの時に配布者に連絡が取れるよう、あらかじめスタッフに教えてある電話で呼び出しがされ、OpenWebBoardを取りに行くというスタイル。
閉会後に少しお話しさせてもらったのですが、上月さんはあのモザイクを編集された方でもあるそうで、あのモザイクが受け入れられるかドキドキだったとのこと。私はああいうのは大好きです:-)。
懇親会
短い時間でしたが京橋の居酒屋で懇親会。メンバーの皆様の思いが伝わってきて参加してよかったです。今後のさらなる展開、期待しております!
以上で参加報告は終了です。あとはおまけ。
開封の儀
配布されたOpenWebBoardを開けてみた。
中身はこれ。本体と説明書1枚に、HDMI延長ケーブルとmicroUSBケーブル、アクリルケース(自分で組み立てる)。
ケース収納後
おまけで、PocketDuinoをつなげてみた。本当に物理的につなげただけで、ちゃんと動作させられるようには今後してみようと思う。