HEMSという4文字を目にしたことがあるだろうか。"Home Energy Management System"の略ですな。ヘムスと読まれることが多いみたい。直訳すると「ホームエネルギー管理システム」となってちょっと硬いけど、要は家庭で使うエネルギーを効率化する仕組みのこと。太陽電池や燃料電池を使った発電システムやスマート家電なども関係してくる。
この分野の進歩はIT全般に比べるとゆっくりだった。買い換えサイクルを考えるだけでもその理由は想像できるだろう。スマホやPCと違って、一般的に家は一生に何度も買わないし、家電も6、7年は使うものがほとんどである。それでも、ここにきて進歩のスピードが速まってきた。
その要因は、やはりインターネットとワイヤレス通信の普及だろう。さまざまなデバイスとユーザーが簡単につながるようになった。身の回りのスタンドアローンが当たり前だった機器がネットに情報を送り、ネットから制御を受けられるようになった。いわゆるIoT(Internet of Things=モノのインターネット)である。効率的で快適な住環境をIoTで実現する環境が整いつつある。
そんな今、一番重要なのはアイデアだ。HEMSの領域でIoTを使って何を作るか。
どうすればもっと省エネな暮らしができるだろう?
どんなアプリがあったら家族が喜ぶ?
テクノロジーが可能にする新しい気持ちよさは、まだまだあるのではないだろうか。
賞金総額100万円! 快適IoTコンテスト
さてここからが本題。HEMS道場というプロジェクトがある。東京大学を中心に、ソフトウェアベンダー、電機メーカー、その他メーカー、情報通信・電力他のサービス提供事業者といった分野の72企業が参加してHEMSアプリケーションの創出を目指し、日夜切磋琢磨している。どう切磋琢磨しているかというと、恒常的ハッカソンのような取り組みと言えばよいだろうか。つまり、アイデアを交換し、プロトタイプを作り、プレゼンし合う場がHEMS道場である。
そのHEMS道場を提供するHEMSアライアンスが、現在コンテストを実施中だ。道場破り大募集である。優秀な応募作品には賞金も出され、なんと総額100万円。この記事のここから先は、この賞金をゲットする方法を指南する。
はい、「そんな方法を知っているなら自分で応募すればいいじゃないの?」という疑問が湧いたよね? 最初はまったくそのつもりだったのだが、縁あって審査員の末席を汚すこととなり、筆者は応募できなくなっちゃったんですな。なので、下調べしたことを筆者なりにまとめてお伝えすることにしたという次第。指南と言っても、それはやや誇張ぎみで、実際は「基本情報の共有」くらいに考えていただきたい。
それではコンテストの基本仕様から説明しよう。
コンテストの基本仕様
お題は『快適IoT 家を楽しく、便利にするアプリとハードのコンテスト』。公募サイトにはこうある。
「スマートフォンやMAKERムーブメントによって、私たちとデジタルの関係はどんどん近くなっています。本コンテストはQOL(quality of life=快適で楽しい暮らし)を実現するアプリや自作ハードウェアを使った作品を募集するコンテストです」
応募者の発想を制限しないよう、敢えて「快適で楽しい暮らし」という主観的な価値基準を設定しているのだろう。自分が快適で楽しいと感じるスタイルとその実現方法を自由に提案すればいい、と筆者は解釈した。
応募部門は3つ設定されている。
- アイデアジェネレーター部門
- スマホアプリ部門
- 自作ホームオートメーション部門
2つめと3つめの内容はある程度想像できても、最初のアイデアジェネレーター部門は何をするのかわからないかもしれない。ここから先は、HEMS道場を特徴づける開発環境であるアイデアジェネレーターについて説明していく。自作ホームオートメーション部門については回を改めて記事を掲載する予定。
アイデアジェネレーター入門
アイデアジェネレーターはHEMS道場のサーバー上で動いている仮想の住宅地。ユーザーは自分の仮想ホームをそこに好きなだけ建てて、仮想の機器を好きなだけ設置し、WebAPIを通じてコントロールすることができる。リクエストをpostするとJSON形式でデータが返ってくるシンプルなAPIに加えて、カスタマイズしたHTMLテンプレートをアップロードすると、サーバー側でユーザーインターフェイスを生成してくれる機能もあって、HTMLの知識だけでもプロトタイピングとアイデア提案が可能だ。さらに、仮想ではなく実際に存在する実験用スマートハウスでそれを試すことができる(本コンテストでもその機会が用意される予定)。
アイデアジェネレーター部門に応募するためには、まずアイデアジェネレーターの開発者アカウントを取得する必要がある。申し込みフォームへのリンクはkaitekiiot.comに記載されている。
アカウントを使ってログインすると、ドキュメントやサンプルコード一式にアクセスできる。ここではそのサンプルを紹介して雰囲気を掴んでもらおう。
誤解が生じないうちに述べておくと、アイデアジェネレーターはWebAPIなので、特定のクライアントOSに依存しない。
しかし、サンプルアプリはすべてAndroid用なので、実際に動かしてみるにはAndroidの開発環境が必要だ(apkファイルも同梱されている)。筆者はAndroid Studioにインポートして動かした。どのサンプルも、それが必要とするバージョンのSDKを追加インストールするだけでビルドできた。
もし、アイデアジェネレーター部門にAndroidアプリで応募するのであれば、これらのサンプルをベースとすることができるだろう。
なお、アイデアジェネレーターを使わずにスマホアプリを作って応募することもできる。その場合の応募先はスマホアプリ部門だ。
Webページを作るようにアイデアを表現できる
それでは実際にアイデアジェネレーターを使ってみよう。
はじめにやるのは、家を建てることだ。といっても、フォームにいくつかパラメータを設定するだけ。
ここまでは管理画面での設定作業。次は建てた家にインターフェイスを用意しよう。すぐできるのがテンプレートを使う方法だ。
サンプルテンプレートをコピーして雛形とするのが推奨されている。サーバー上にftpでアクセスできる自分用のファイル空間が用意されているので、そこにテンプレートを配置する。置き場所とファイルの命名規則が正しければ、ブラウザでユーザーインターフェイスを表示することができる。
ここまで来たら、あとはテンプレートのHTML+JavaScriptを自分なりに編集して、プレゼンテーションを作り込んでいくことになる。アイデアを文章で説明するためのページや、デバッグに役立ちそうな「リモコン」のテンプレートも用意されているので、開発からプレゼンまでの各過程で必要な要素が用意されている。
アイデアジェネレーターを使うことで、スマートフォン・プラグラミングや電子工作の経験がなくても、Webページを作成するスキルがあればコンテストに応募できる。ぜひ、ナイスなアイデアをぶつけて、部門賞あるいはグランプリを手に入れてほしい。
WebAPIを直接的に叩いてみた
アイデアジェネレーターの核心はWebAPIなので、http(https)に対応したデバイスであればどんなものからでも利用できる。スマホやブラウザを使わずに、ユーザーの目から直接見えない形でコミュニケーションできるということだ。IoT的にはそちらのほうが主な使い方かもしれない。
次回の「自作ホームオートメーション編」は、よりIoT的な電子工作路線の記事を予定しているので、その準備を兼ねてGUIを持たないクライアントも作ってみよう。おっと、念のため言っておくと、自作ホームオートメーション部門への応募にあたってはアイデアジェネレーターの使用は必須ではなく、いま筆者が両者を絡めているのは、勝手にそうしているだけである。
使用したプログラミング言語は、MacやレンタルサーバーやRaspberryPiでもすぐ動作するようにPythonを選択。httpsで簡単にpostするためにurllib2ライブラリ、JSONデータをデコードするためにjsonライブラリをインポート。最初のコードはこんな感じ。管理画面で登録した家(番号12)と機器(番号6)を指定して、そのパラメータを取得しプリントするだけ。
----ここからソースリスト----
#coding:utf-8
import urllib
import urllib2
import json
url = 'https://xxxx.ideaGenerator.jp/api/'
val = {
'mode' : 'get',
'id' : 'xxxx',
'pw' : 'xxxx',
'house_no' : '12',
'equipment_6' : '01020304'
}
post = urllib.urlencode(val)
req = urllib2.Request(url, post)
res = urllib2.urlopen(req)
d = json.loads(res.read())
print json.dumps(d, indent=2)
----ここまでソースリスト----
あらカンタン。あっという間にできちゃった。JSONレスポンスには指定した機器のパラメータのほかに、室温や湿度といった状態も含まれている。管理画面とWebAPI説明書を交互に参照しながらの作業にはなるが、さほどややこしいデータではないという印象。
アイデアジェネレーターが提供するユーザーインターフェイスは不要で、欲しいのはデータだけという人は、こんな風にスクリプト言語を使って直接WebAPIを叩く方が速いかもしれない。自分の得意な方法で作品を作り、どしどし応募してほしい。
HEMSアライアンスとは
HEMS(Home Energy Management System)の市場確立と普及を目的とした共同検討体制。共同でHEMSおよびスマート家電普及の環境整備に関する検討を進めている。
アライアンスメンバーは、KDDI株式会社、シャープ株式会社、東京電力株式会社、株式会社東芝、日本電気株式会社、パナソニック株式会社、株式会社日立製作所、三菱電機株式会社(五十音順、全8社)。