[受賞者発表]快適IoTコンテスト 受賞者が決定しました!

banner_01

「快適IoT〜家を楽しく、便利にするアプリとハードウェアのコンテスト〜」受賞者が決定いたしましたので、下記の通り発表いたします。

グランプリ

「TubCon: 浴槽UIシステムとアプリ実行プラットフォーム」/京都産業大学 コンピュータ理工学部 平#研究室

準グランプリ

「スマートフォーク」/あずつからぼ

アイデアジェネレーター部門賞

「防災 for Pepper」/イサナドットネット株式会社

ホームオートメーション部門賞

「メイドエクスマキナ」/日常ガジェット研究所

スマホアプリ部門 特別賞

「モノ録」/梶川 敬文

▼コンテストについての詳しい情報はこちらをご覧ください。
・快適IoT公式サイト

[予備審査結果発表]快適IoTコンテスト 予備審査通過者が決定しました!

banner_01

「快適IoT〜家を楽しく、便利にするアプリとハードウェアのコンテスト〜」予備審査通者過が決定いたしましたので、下記の通り発表いたします。

スマホアプリ部門

・「FELCon」/中井 和広
・「モノ録」/梶川 敬文

自作ホームオートメーション部門

・「金魚えさやりロボット」/坂井 義治
・「リモートスイッチ {安心してください、きえてます}」/スマートセキュアジャパン株式会社
・「スマートフォーク」/あずつからぼ
・「TubCon: 浴槽UIシステムとアプリ実行プラットフォーム」/京都産業大学 コンピュータ理工学部 平#研究室
・「Tsunagun」/京都産業大学 コンピュータ理工学部 平#研究室
・「メイドエクスマキナ」/日常ガジェット研究所

アイデアジェネレーター部門

・「Beaconを使った家族識別快適HOME」/株式会社 快適システム研究所
・「防災 for Pepper」/イサナドットネット株式会社
・「モーニング執事&メイド」/アイティオール株式会社
・「ザ・スイッチハウス」/株式会社グラフィック
・「布団型コントローラと家電をつないで、スマート起床!」/EnterMaker

※以上エントリー順

▼コンテストについての詳しい情報はこちらをご覧ください。
・快適IoT公式サイト

[応募参考記事] 「おうちを電子工作しよう」by 遠藤諭

転載元:夕刊フジ デジタル業界激注目メモ(2015年11月12日発行)
文● 遠藤諭
夕刊フジ デジタル業界激注目メモ

 電子工作といえば、子供が夏休みの宿題で乾電池とモーターを使って車の模型を作るというような世界だった。それが、ここ数年の間に「大人の電子工作」ともいうべきものが流行しているをご存じだろうか?
 2004年に米国で『MAKE』という雑誌が創刊されたのがきっかけ。紹介された工作品の中には、壊れたVHSビデオデッキを使って、毎日決められた時間にネコにエサをやる機械なんてのもあった。イチから作らなくても、改造でもいいというわけだ。
 これが日本にも飛び火して、秋葉原の昔ながらの電子部品店にも、にわかに客が来るようになった。秋葉原に近い末広町の中学校跡を改造した文化施設「3331」には「はんだづけカフェ」なるものがあり、工作好きの女子向けには「テクノ手芸」なんて言葉まで登場している。ちなみに、初心者がまず取り組む、アクセサリーなどにLEDを組み込んで光らせることを「エルチカ」(LEDをチカチカ)と呼んだりもする。
 エルチカに飽き足らなくなった人たちは、やがて「Arduino」(アルドゥイーノ)や「Raspberry Pi」(ラズベリーパイ)という電子工作用のマイコンを使うようになる。電子工作が“頭脳”を持つことになるので、「エルチカ」も複数のLEDを四角形に並べて文字パターンを表示するなどは平気でできる。
 一人で考えるのはいかにも難しそうだが、ネット上のコミュニティーなどを通じて教え合えるので、それもまた楽しい。いまではグーグルなどの大企業がスポンサーとなって、小学生向けのラズベリーパイ教室も開かれている。
 その一方で、やはりここ数年の間に進化してきたのが温度や光、圧力や加速度などのさまざまなセンサー類。そして、Wi-FiやBluetoothなどの無線通信モジュールだ。いずれも、スマートフォンなどに組み込まれている部品だが、それらがバラバラに駄菓子屋さん感覚で売られ始めているのだ。それらをアルドゥイーノやラズベリーパイと組み合わせてできることは、文字どおり無限大といってもあながち大げさではない。
 ということで、いま静かなブームなのが「おうちハック」の世界だ。「おうちハック同好会」というグループがあり、私はお台場で行われたイベントを見てきたのだが、家をオモチャ感覚で“改造”する楽しいイベントだった。
 関係する企業も目をつけていて、ダイワハウスは「家CON」なるコンテストを開催。ユーザーのコミュニティーには大塚商会や竹中工務店などが協力して「スマートライフハッカソン」なるものもすでに3回目が開催される。企業があつらえで作った「スマートハウス」だといかにも大げさでいかめしいが、おうちハックにはユーザーが本当に求めているものが見えてきそうだ。
 実は、この世界、私は1年ほど前からHEMSアライアンス(HEMSというスマートホームのビジネスを推進するための家電・電力・通信メーカーの集まり)のお手伝いをさせていただいている。ここでは省電力だけでなく、暮らしの“質”を向上させる仕組みも考えている。
 このHEMSアライアンスとLIXIL、東京大学エネルギー工学連携研究センターが共催で、「快適IoT」というコンテストも開催中だ。「アプリ部門」、電子工作的な「自作ホームオートメーション部門」、実験ハウスをコントロールする「アイデアジェネレーター部門」の3つがあり、賞金総額は100万円。11月30日締め切りで作品募集中なので、ご興味のある方はぜひ公式サイト(http://kaitekiiot.com/)をご覧いただきたい。

ph01_480x338

 さて、おうちハックで何をやるのかというと、文字どおりアイデア次第。快適IoTの応募サンプルを、ライターの船田巧氏が作ってくれたのだが、ドアが開くと入ってきた人の写真を撮るという電子工作だった。これはネコ用のドアにも冷蔵庫にも応用可能。テストでは、サンタさんが玄関ドアから入ってきた写真が撮れていたが(季節的に少々早い)、無料で使えるライブラリを使えば“顔認識”もできるそうだ。

転載元
掲載:夕刊フジ11月12日発行
   デジタル業界激注目メモ

▼コンテストについての詳しい情報はこちらをご覧ください。
・快適IoT公式サイト
entry_01

[ホームオートメーション部門 参考記事] ラズパイ×カメラ×センサーで、超簡単にIoT作ってみた

転載元:ラズパイ×カメラ×センサーで、超簡単にIoT作ってみた(2015年11月11日掲載)
文● 船田戦闘機
週刊アスキー

ph11_480x
ドアセンサーを作ってみる。ドアが開くとセンサー一体型の無線タグが反応し、Raspberry Piへデータを送信。撮影とアップロードが行なわれる

 前回の記事で、HEMS道場のアイデアジェネレーターについて説明した。快適IoTコンテストのアイデアジェネレーター部門に応募する人は着々と準備を進めていることと思う。

 今回は「WebAPIもいいけど、ぼく/わたしはハードウェアを作りたい」と思っている自作ホームオートメーション部門の応募希望者に向けて、情報共有を図りたい。

IoT=ワイヤレス・センサー・ネットワーク

 IoTはInternet of Things(モノのインターネット)の略だが、狭義のIoTはインターネットにつながっているセンサーのネットワークと言ってよいだろう。ネットワークが無線か有線かは問われないが、散在する大小さまざまな「モノ」が対象であることから、無線のほうが好都合なのは明らかだ。現在のIoTに対する注目度アップの背景には、低価格で使いやすい無線通信モジュールの普及があると思われる。

 この記事では、筆者が今もっとも簡単に使えると考える無線通信モジュールの中からひとつを取り上げて、電子工作やハードウェアプロトタイピングに馴染みのない人に応募を勧める。

 ただし自作ホームオートメーション部門のコンセプトは、下記のように無線通信モジュールの使用を前提としていない。

「電子工作やMaker的な工夫をした作品。ホームオートメーションだけでなく、IoT、フィジカルコンピューティング、ロボット、メディアアートなどもキーワードに着想してください」

 デバイスが有線でつながっていてもいいし、通信という概念を持たない作品でも大丈夫ということ。もし無線でインターネットにつなぎたい場合は参考にしてくださいね、と前置きして本題に入ろう。

無線通信モジュールは百花繚乱状態

 最初に質問。無線通信あるいはワイヤレスコミュニケーションと聞いて、まず思い浮かべるキーワードは何?

 3G、LTE、Wi-Fi、Bluetooth、BLE(Bluetooth Low Energy)あたりがまず一般的だろうか。使いやすいモジュールが揃ってきたおかげで、これらの規格を個人プロジェクトに取り入れることも簡単になってきた。筆者の独断と偏見に基づき、日本国内で使用できる代表的なモジュールを通信規格別にまとめたのが下の表だ。リンクしたサイトは日本語の情報が多いところを独断と偏見で選んだものなので、より詳しく知りたい人は他のサイトも参照してほしい。

国内で使用できる無線通信モジュールの例
通信規格 製品名 対象プラットフォーム
3G 3GPI Raspberry Pi
LTE LTEPI Raspberry Pi
Wi-Fi ESP-WROOM-02 汎用
Bluetooth BlueSMiRF Silver 汎用
BLE RedBearLab BLE Nano 汎用

 当初、この記事で使うモジュールを上の表からひとつ選ぶことにして「Wi-FiかBLEで……」と考えた。特に昨今は低価格Wi-Fiモジュール「ESP-WROOM-02」に勢いがある。でも熟慮の末、表には含まれていない製品をチョイスした。今回はそれを使ってみたい。

トワイライトニコニコで超簡単IoT

 東京コスモス電気が製造し、モノワイヤレスが販売サポートするIoT無線タグ「TWE-Lite-2525A(トワイライトニコニコ。以下ニコニコ)」は、ZigBeeという無線規格に準拠している。使用する周波数帯はWi-FiやBluetoothと同じ2.4GHzだ。知名度や普及度ではそれらに劣るZigBeeを使うメリットは、省電力制御や多デバイス環境での使いやすさにあった。「あった」と過去形なのは、BLEの登場やWi-Fi、3Gの低コスト化により、比較が難しくなってきたため。ここでニコニコを選んだのもZigBee準拠だからというより、TWE-Liteシリーズとニコニコ固有の特徴に期待してのことである。

 「アイデアはあるんだけど、工作してプロトタイプを作るのは不慣れです」という読者にもニコニコをおすすめする理由をまとめると、次のとおり。

・入手が容易(国内の取り扱い店が多く、秋葉原や日本橋でもすぐ見つかる)
 ※取り扱い店リストはこちら
・オールインワン設計(通信部だけでなくセンサーと電池ホルダーが一体になっているのですぐ使える)
・軽くて小さい
・電池が持つ(省電力モードなら1年以上)
・電波がよく飛ぶ(見通し約1km)
・アプリケーションソフトウェアが充実
・ツール、ドキュメント類が日本語

 もともとHEMS分野で使われることを想定して開発されたTWE-Liteシリーズは、初心者のプロトタイピングだけでなく経験豊富な開発者のビルディング・ブロックとしても活用されている。より専門的な解説が必要な場合は、モノワイヤレスのHEMSに関するドキュメントを参照してほしい。

ph01_480x
ニコニコはメイン基板、板状の専用アンテナ、電池ホルダーの3部品で構成され、ユーザーは自分で組み立てて使用する。メイン基板とアンテナはあらかじめ用意されている両面テープで貼り付ける。電池ホルダーはハンダ付けが必要だ。今回の作例でハンダごてを使うのはここだけ

ph02_480x
コイン電池(CR2032)1個で動作する。ユーザーが設定する送信の出力と頻度によって電池寿命は変化するが、低消費電力な使い方なら電池は1年以上もつ。CR2032は付属しないので、何個か購入しよう

加速度センサーのデータを見てみよう

 物体の動きを検知して写真を撮る仕組みを作ってみよう。センサーをドアに取り付ければ、その開け閉めに反応するドアカメラとなる。作例としてはありふれているが、IoTの基本的な技術要素が一通り含まれている。これからコンテスト応募作品のプロトタイピングを始める人の参考になるのではなかろうか。

 ニコニコには加速度センサーが内蔵されていて、部品を追加することなくファームウェアの設定変更だけでデータをほかのPCやスマホへ送信できる。

 ただ、設定は少しややこしいと感じるかもしれない。TWE-Lite-2525A単体での設定変更はできないので、シリアル通信モジュールの「TWE-Lite R(トワイライター)」 か「ToCoStick(トコスティック)」が必要だ。両方あると確実だが、どちらかひとつを買うとしたらトコスティックがお勧め。この記事でも、ニコニコが送信するデータをUSB端子に挿したトコスティックで受信しながら、動作チェックやプロトタイピングを進めていく。

ph03_480x
PCのUSB端子に接続して使うトコスティック。PC側からは通常のシリアルポートに見える。他のTWE-Liteモジュールとデータを無線でやりとりしたり、OTA(over the air)設定をする際に使用する。開発時の必需品といっていいだろう

ph04_480x
TWE-Lite Rは無線通信モジュールではなく、ソケットや電線を使ってTWE-Liteモジュールに接続し、設定変更やファームウェアのアップデートを行なうためのもの。あったほうがいい周辺機器だ

ph05_480x
今回は使用しないがTWE-Liteシリーズの標準的なモジュールである「TWE-Lite DIP」も紹介しておこう。アンテナがぴょこんと飛び出しているモデルや、外部アンテナを接続して使うモデルが用意されていて、使用目的に応じて最適な仕様を選べる

 ニコニコの設定をOTAで変更し、Androidスマホに専用アプリをインストールして動作チェックしてみよう。
 以下に手順の概略を示す。より詳しい操作方法はモノワイヤレスのサイト内にあるOTA設定に関するページと、ニコニコ用Androidアプリのページを参照してほしい。

動作チェックの手順

  1. ニコニコ用の最新ファームウェア一式をダウンロード
  2. 「TWE-Lite専用プログラマ」をダウンロード
  3. 2を使って1に含まれるトコスティック用OTAファームウェアをトコスティックに書き込む
  4. PC上のターミナルプログラム(「Tera Term」や「cu」など)を使ってトコスティックに接続し、Androidアプリのページに従ってOTA設定を行なう(この時点ではニコニコの電池を抜いておく)
  5. 設定対象のニコニコをトコスティックに近づけて、おもむろに電池を入れるとOTA設定が行なわれる
  6. 2を使って1に含まれる「親機アプリ」をトコスティックに書き込む
  7. Androidアプリのページに従ってトコスティックの設定を行なう
  8. Androidスマホに専用アプリ「TWE G-Monitor」をインストール。※ダウンロードはGoogle Playから
  9. USB OTG用のケーブルを使ってトコスティックをスマホに接続
  10. TWE G-Monitorを起動し、画面の指示に従う

 ちなみにTWE G-Monitorを使うには、USBホストに対応しているAndroid端末が必要だ。上記の10ステップにより、スマホの画面には次のような加速度変化のグラフが表示される。

ph06_480x
トコスティックをAndroidスマホに接続し、専用アプリTWE G-Monitorを起動したら、まず近いところでニコニコを振ってみよう

ph07_x480
このようにグラフが表示されたら、ニコニコとトコスティックは正しく動作している。3本の線は加速度センサーのXYZ軸に対応している。動きによってどのようなデータになるのかを把握しておこう。このグラフはニコニコのセンサー更新間隔(duration)を0.1秒(100ms)に設定した結果

 シリアルポート越しの設定作業は慣れるまで煩雑に感じるかもしれないが、加速度センサーのデータをここまで手軽に無線通信で取得し可視化できてしまうのは、ニコニコならではの魅力といえる。Androidアプリを作って応募したい人はTWE G-Monitorの代わりに独自のアプリを作ってみるのもいいだろう。

 ここでは、スマホはテストだけに使い、この先はRaspberry Pi(ラズベリーパイ。以下ラズパイ)を使用する。ラズパイにトコスティックを接続し、ニコニコが検知した「動き」をトリガーに撮影を行うアプリを作ってみよう。

ニコニコとトコスティックとラズパイでドアカメラ

 使用したラズパイはクアッドコアのRaspberry Pi2。シングルコアのB+でも問題ないだろう。USB端子が1つしかないA+の場合はトコスティックを接続すると全端子がふさがってしまい、ネットワーク接続を確保できない。ここでは撮った写真をサーバーにアップロードするところまで作るので、B+または2を前提に説明する。

ph08_480x
透明ケースに入れたRaspberry Pi2にカメラ、トコスティック、Wi-Fiモジュールを接続した。この状態で消費電力は約2.5W。モバイルバッテリーを電源にするとどこでもテストできて便利だ。ソフトウェア次第で複数のニコニコを同時にモニターすることもできるので、そのテストもした

ph09_480x
ラズパイ専用のカメラモジュールは「プリット ひっつき虫」でケースに固定した

ph10_480x
ひっつき虫を使うときは、念のため基板上の電子部品を避ける。角度を自在に調整できるので、カメラモジュールの固定にはもってこい。案外長持ちもする

 ラズパイのWi-Fi設定については触れないが、ググればすぐ参考になるページが見つかるだろう。これから始めるラズパイ上の作業はsshで他のコンピュータからログインして行なう。

 プログラミングを始める前に、ニコニコから送られてくる生データをラズパイ上で見てみよう。ターミナルソフトウエアにcuを使う例を示すので、まず次のコマンドでcuをインストールする。

sudo apt-get install cu

 トコスティックをUSBポートに接続した状態で次のようにすると、受信データが表示されるはずだ。

cu -l /dev/ttyUSB0 -s 115200

 ttyUSB0はUSBシリアルデバイスとして認識されたトコスティックを表し、115200はその通信レートだ。接続が成功すると、次のようなデータがぽつぽつと1秒ごとに表示される。

::ts=8380
::ts=8381

 「ts」はタイムスタンプの略。ここで先ほど設定したニコニコに電池を入れると、次のようなデータが連続的に表示されるだろう。

::rc=80000000:lq=57:ct=005E:ed=81015F52:id=0:ba=2970:a1=1288:a2=0658:x=0011:y=-018:z=-136

 このデータの読み方は、こちらのページで詳しく説明されている。『無線タグアプリで使ってみる』

 複数のニコニコがトコスティックの受信範囲にあるとき、それらからのデータを同時に受信できるが、データは混ざりあってしまう。仕分けるには「ed=」以下のMACアドレスを見るのが一番単純な方法だ。加速度センサーのデータはx=、y=、z=の部分で、これは先ほどのスマホアプリのグラフを思い出せば意味がとれるだろう。

Pythonスクリプトで処理する

 「cu」による生データ観察ができたら、「~.」(cuの終了コマンド)を入力してコマンドラインに戻ろう。そして、cuの代わりにPythonスクリプトを作ってトコスティックからデータを取得してみる。ファイル名はread2525.pyとでもしておこう。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import serial

ser1 = serial.Serial("/dev/ttyUSB0", 115200)

while 1:
  if ser1.inWaiting() > 0:
    sys.stdout.write(ser1.readline())
  sys.stdout.flush()

 この短いスクリプトを実行すると、トコスティックの出力がシェルに流れてくる。事前に

chmod 775 ./read2525.py

 として、実行フラグを立てておくと便利だ。次のようにすると、ファイルにデータを保存できる。

./read2525.py > log

 control+cでスクリプトを止め、lsすると、logというファイルができていて、そこにデータが保存されているはずだ。

 データの流れをスクリプトで捕らえられるようになった。次はそのデータを処理するスクリプトを作る。ここでいう処理とは、次のような内容だ。

・指定したニコニコからの「動き」を示すデータを検出する
・カメラモジュールを使って撮影し画像ファイルとして保存する
・そのファイルを指定したサーバにFTPでアップロードする

 できあがったPythonスクリプトを下記に示す。

#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import os, sys, datetime, threading
from ftplib import FTP
import picamera  # apt-get install python-camera

sensorAddress = "81015F52"  # 対象TWE-LiteのMAC address
extension = ".jpg"
delay = 3  # second
messageCounter = 0

def takePicture():
    d = datetime.datetime.today()
    dt = d.strftime("%Y%m%d%H%M%S")

    with picamera.PiCamera() as camera:
        camera.resolution = (640, 480)
        camera.annotate_text_size = 20
        camera.annotate_text = dt
        camera.capture(dt + extension)
        print dt + extension 
    try:
        ftp = FTP("your.server""id""password")
        ftp.cwd("/home/your/space/")
        f = open(dt + extension, 'rb')
        command = "STOR " + dt + extension
        ftp.storbinary(command, f)  # put file
        f.close()
        ftp.quit()
    except Exception, e:
        print "ftp error: " + str(e)

while True:
    line = sys.stdin.readline()
    if "ed=" + sensorAddress  in line:
        messageCounter += 1
        if messageCounter % 2 == 1: # 1行おきに処理(動き始めだけを見る)
            print "acceleration detected. taking a picture..."
            t = threading.Timer(delay, takePicture)
            t.start()

 先ほどのスクリプトと比較すると少し長いが、それなりに複雑な処理をこれだけの行数で記述できてしまうのだから、ラズパイとPythonの組み合わせは強力だ。もっともエラー処理をほとんどしていないので、実用に供するためには例外的な状況に対処するコードがたくさん必要となるだろう。あくまでもサンプルプログラムとして見てほしい。

 スクリプト名がcamera.pyだとしたら、実行は次のようにする。

./read2525.py | ./camera.py

 おっとその前に、ラズパイのカメラ設定が有効になっていることを確認しよう。コマンドラインからは

sudo raspi-config

 として設定ツールを起動すれば調べることができる。設定変更もこのツールだ。それから、カメラコントロールのためのPythonライブラリも必要。

sudo apt-get install python-picamera

 とすればよいだろう。

 事前の設定はニコニコ側にも必要となる。スマホと組み合わせて使ったニコニコは加速度センサーのデータを一定間隔で送り続けるという設定だった。今度はドアの開閉という静止状態から突然発生する動きに反応したいので、もう一度OTA設定を行なって、動きの検出に適したモードに変更する。ニコニコの設定については次のページで詳しく説明されている。『IoT無線タグ設定の詳細説明』

 このページの「動作モードとパラメータの変更」に記載されている「モード8 Active/Inactive」がドアの開閉の検出に使えそうだ。準備が整ったら、2つのスクリプトを組み合わせて実行してみよう。

./read2525.py | ./camera.py

 こうするとread2525.pyが受信したデータはパイプ(|)で接続されたcamera.pyへ送られ処理される。

 camera.pyは指定したMACアドレスを持つニコニコからのデータだけに反応する。ニコニコ側で動作を検出するので、データが来たら観測対象が動いたと判断して(加速度センサーの値は無視して)撮影する。ただし間髪入れず撮ってしまうとドアしか写らない。撮りたいのはドアを開けて入ってきた何かなので、ウエイト(wait)を入れられるようにした。このあたりの処理は別スレッドで行なうようになっているので、ドアが頻繁に開け閉めされるような状況でもたぶん大丈夫だろう。

 サーバーへのアップロードにはFTPを使っているが、この部分は用途に応じた変更を加えてほしい。Pythonのサンプルコードはすぐに見つかるだろう。アイデアジェネレーターと連携させる場合は前回の記事の最後で紹介したスクリプトが参考になるかもしれない。

ph13_480x
ドアを開けて入ろうとするとパシャリ。実験成功。カメラ付きのラズパイは下駄箱の上にポンと置かれている。写真が横向きになってるのはカメラを90度回せば直るはず

「OpenCV(オープンソースコンピュータビジョン)」を使ってサンタ検出スクリプトを作ろうと思い、サンタの帽子とヒゲをつけてみたが、服もサンタにすべきだった。OpenCVはラズパイでも動作する画像処理ソフトウェア。顔認識も可能だ。時間切れでそこまで紹介できなかったが、個人プロジェクトとして取り組むつもり。

コンテストの締め切りは11月30日

 皆さんの発想の邪魔にならないよう「ドアカメラ」という地味な作例を示したわけだが、加速度センサーとカメラだけでできることは無数にありそうだ。センサーをどこに付けるかで意味合いが全然違ってくる。玄関ではなくトイレのドア、冷蔵庫の扉、ベランダの洗濯物、勝手に開けられたくない引き出し、猫ドア、家族の手首、赤ちゃんのぬいぐるみの中……。

 加速度以外のデータがほしい場合は、センサー選びから始めることになるだろう。TWE-Liteモジュールにセンサーを接続するときは、次のページが参考になる。『遠隔監視 – I2C入力』

 センサーによっては、ソフトウェア資産が豊富なArduinoを使うほうが楽な場合もある。そのあたりは臨機応変に考えよう。今回のドアカメラのように動きに反応して写真を撮るかわりに、モーターやソレノイドで別の動きを作り出したい場合(例えばノックすると自動的に鍵が外れるとか)は、ラズパイに駆動回路を付け加える必要がある。この場合も作例が豊富なArduinoの併用を検討するといいだろう。

 浮かんだアイデアを形あるものに変える方法を見つけるには、先例を検索するのが有効な手段だ。でも、調べ物ばかりしているとなかなかモノが出来上がらなかったりもする。実際に手を動かして、試しに作ってみることも同じくらい大事だ。

 コンテストの締め切りは11月30日。時間はまだあるので、手を動かして、モノを作りながら、アイデアを膨らませてほしい。

転載元:ラズパイ×カメラ×センサーで、超簡単にIoT作ってみた(2015年11月11日掲載)
文● 船田戦闘機
週刊アスキー

▼コンテストについての詳しい情報はこちらをご覧ください。
・快適IoT公式サイト
entry_01

[アイデアジェネレータ部門 参考記事] IoTはアイデアを求めている 「快適IoTコンテスト」開催

network-782707_1280_588x

 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=快適で楽しい暮らし)を実現するアプリや自作ハードウェアを使った作品を募集するコンテストです」

 応募者の発想を制限しないよう、敢えて「快適で楽しい暮らし」という主観的な価値基準を設定しているのだろう。自分が快適で楽しいと感じるスタイルとその実現方法を自由に提案すればいい、と筆者は解釈した。

ph01_480x338
コンテストの詳細は公募サイト(kaitekiiot.com)にまとめられている。応募もこちらから。

 応募部門は3つ設定されている。

・アイデアジェネレーター部門
・スマホアプリ部門
・自作ホームオートメーション部門

 2つめと3つめの内容はある程度想像できても、最初のアイデアジェネレーター部門は何をするのかわからないかもしれない。ここから先は、HEMS道場を特徴づける開発環境であるアイデアジェネレーターについて説明していく。自作ホームオートメーション部門については回を改めて記事を掲載する予定。

アイデアジェネレーター入門

 アイデアジェネレーターはHEMS道場のサーバー上で動いている仮想の住宅地。ユーザーは自分の仮想ホームをそこに好きなだけ建てて、仮想の機器を好きなだけ設置し、WebAPIを通じてコントロールすることができる。リクエストをpostするとJSON形式でデータが返ってくるシンプルなAPIに加えて、カスタマイズしたHTMLテンプレートをアップロードすると、サーバー側でユーザーインターフェイスを生成してくれる機能もあって、HTMLの知識だけでもプロトタイピングとアイデア提案が可能だ。さらに、仮想ではなく実際に存在する実験用スマートハウスでそれを試すことができる(本コンテストでもその機会が用意される予定)。

 アイデアジェネレーター部門に応募するためには、まずアイデアジェネレーターの開発者アカウントを取得する必要がある。申し込みフォームへのリンクはkaitekiiot.comに記載されている。

 アカウントを使ってログインすると、ドキュメントやサンプルコード一式にアクセスできる。ここではそのサンプルを紹介して雰囲気を掴んでもらおう。

ph02_248x
アイデアジェネレーターのサンプルその1。「なりきり映画鑑賞」。観たい映画を選択すると、その映画の世界に合う室内環境が自動的に設定される

ph03_480x358
「秘境アマゾン川を往く」と選ぶと室温が上がり、照明が暗くなる。スマホがエンターテイメント性を備えたリモコンとして機能するわけだ

ph04_240x
サンプルその2「うるおいチェック」はスマホの内蔵カメラと連動する。肌の写真を撮ると、その状態に適した室内環境に設定してくれる

ph05_240x
このサンプルのソースコードが、とても短くてちょっと驚いた。テンプレート機能をうまく使うと、わずかなコーディング量でアイデアを表現できる

ph06_248x
サンプルその3は開発者向けの基本アプリとされている。機能はパラメータの取得とセットだけ。Androidプログラミングを始めるにあたっての雛形として使える

 誤解が生じないうちに述べておくと、アイデアジェネレーターはWebAPIなので、特定のクライアントOSに依存しない。

 しかし、サンプルアプリはすべてAndroid用なので、実際に動かしてみるにはAndroidの開発環境が必要だ(apkファイルも同梱されている)。筆者はAndroid Studioにインポートして動かした。どのサンプルも、それが必要とするバージョンのSDKを追加インストールするだけでビルドできた。

 もし、アイデアジェネレーター部門にAndroidアプリで応募するのであれば、これらのサンプルをベースとすることができるだろう。

 なお、アイデアジェネレーターを使わずにスマホアプリを作って応募することもできる。その場合の応募先はスマホアプリ部門だ。

Webページを作るようにアイデアを表現できる

 それでは実際にアイデアジェネレーターを使ってみよう。

 はじめにやるのは、家を建てることだ。といっても、フォームにいくつかパラメータを設定するだけ。

ph07_248x
家を新規に作る。ここで気温や湿度といった外部環境の初期値を設定できる。登録すると発行されるIDは、このあと作るテンプレートやプログラムからマイホームを参照する際に使用する

ph08_480x361
家の中にはWebAPI経由で参照可能なバーチャルな機器を設置できる。窓や太陽電池のように作り付けの装備もあれば、加湿器や冷蔵庫のような家電もある。それらの中から自分のアイデアを表現するのに必要な機器を選択する。既存の機器では表現できない場合は、オリジナルの機器を作って登録することもできる

 ここまでは管理画面での設定作業。次は建てた家にインターフェイスを用意しよう。すぐできるのがテンプレートを使う方法だ。

 サンプルテンプレートをコピーして雛形とするのが推奨されている。サーバー上にftpでアクセスできる自分用のファイル空間が用意されているので、そこにテンプレートを配置する。置き場所とファイルの命名規則が正しければ、ブラウザでユーザーインターフェイスを表示することができる。

ph09_480x319
サンプルテンプレートで表示した我が家(ブラウザで表示)。機器の一覧と内外の環境を示すパラメータが並んでいる

 ここまで来たら、あとはテンプレートのHTML+JavaScriptを自分なりに編集して、プレゼンテーションを作り込んでいくことになる。アイデアを文章で説明するためのページや、デバッグに役立ちそうな「リモコン」のテンプレートも用意されているので、開発からプレゼンまでの各過程で必要な要素が用意されている。

ph10_479x266
ビジュアルを表現したいけど絵を描くのは苦手、という人も心配御無用。アイデアジェネレーター内で自由に使える素材があらかじめたっぷり用意されていて、テンプレートから参照することができる。もちろん、自分で作った画像をアップロードして使うこともできる

 アイデアジェネレーターを使うことで、スマートフォン・プラグラミングや電子工作の経験がなくても、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社)。

転載元:IoTはアイデアを求めている 「快適IoTコンテスト」開催(2015年10月21日掲載)
文● 船田戦闘機
ASCII.jp

▼コンテストについての詳しい情報はこちらをご覧ください。
・快適IoT公式サイト
entry_01