2015年2月18日水曜日

Processing で Philips hue を制御

Processingからhueを制御しようとして、PUTがうまくできずに困った。
結局、以下のように直接 Java で書けば問題なく動いた。

以下の 192.168.11.20 はhueブリッジのアドレス
newdeveloperは登録したユーザ名とする。
ユーザ名の登録の仕方は、hue api等で検索すれば出てくる。
例えば以下のサイトを参照。
http://blog.udcp.net/2013/10/09/philips-hue-api/

import processing.net.*;
import java.net.URL;
import java.net.HttpURLConnection;
import java.io.*;

Client c;
String data;
JSONObject json;
Boolean onoff;

void setup() {
  size(300, 300);
  onoff = true;

}

void draw() {
  if (onoff) {
    background(255);
    textSize(32); textAlign(CENTER); fill(0); text("ON", width/2, height/2);
  } else {
    background(0);
    textSize(32); textAlign(CENTER); fill(255); text("OFF", width/2, height/2);  
  }
};

void mouseReleased() {
  onoff = !onoff;
  lightSwitch(1, onoff);
  lightSwitch(2, onoff);
  lightSwitch(3, onoff);
};

void lightSwitch(int lightnum, Boolean onoff) {
  json = new JSONObject();
  json.setBoolean("on", onoff);
  sendPUT(lightnum, json);
};

void sendPUT(int num, JSONObject json) {
  try {
    URL url = new URL("http://192.168.11.20/api/newdeveloper/lights/"+num+"/state");
    HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
    httpCon.setDoOutput(true);
    httpCon.setRequestMethod("PUT");
    OutputStreamWriter out = new OutputStreamWriter(
      httpCon.getOutputStream());
    out.write(json.toString()+"\r\n");
    out.close();
    httpCon.getInputStream();
  } catch (Exception e) {
  }
};

2015年2月5日木曜日

「融けるデザイン」を読了

「融けるデザイン」(渡邊恵太)を読み終えた。面白かった。
http://www.bnn.co.jp/books/7305/

内容の8割ぐらいは既知、1割ほど新味、1割ほど懐疑・不明、という印象だ。だから、かなりレベルが高い。最近私は、読書では、この2割ぐらいの新味&懐疑・不明が、いい塩梅ではないか、と思っている。全部既知、というかスルスルと中に入ってくるようだと面白くない。新鮮さが無いし、刺激的でもない。一方で、新しいこと、不明点が多すぎると、ちっとも読めずに、苦労する。まだ、自分がそのレベルに到達していない、とか、そもそも変なこと、もしくは時代を先取りしすぎたことが書かれている、ということで、時が熟していない。それを難読するのもまた面白くはあるが。知的トレーニングとしては、この2割ぐらいのノベルティがいい。

渡邊氏の仕事はずっとウォッチしてきたので、最後のLiveSurface以外は知っていた。また背後にある考えも、それなりに理解してきたので、新味がない。全体としては、そういうことになるんだろうな、と理解した。またノーマン、ギブソン、ワイザーらの話や、Macintosh、iPhoneについても、ずっと読み、体験し、考えてきたことなので、その通りだな、という印象である。もしくは多少の異論はあるにしても、HCI研究者としては常識的な内容を、見通しの良い日本語で的確に整理した、と捉えるべきかもしれない。

新味を感じて面白かったのは、4章と5章で、情報の道具化、環境化を論じている箇所だ。ちょうど今、コネクテッドホーム、家庭向けIoTの可能性について、いろいろ作ったり、実験したり、調査したりしていて、それと呼応する内容だったので、膝を打った。何度も。そうそう、という感じだ。叩きすぎて膝が痛いほど。

インターネットに接続されることで、私たちの身の回りの道具や環境が、全て繋がった、融け合った状態になりつつある。そこには、つながりの悪い「モッサリ」した部分も当然含んで、しかし、ある部分は「サクサク」と、一切の抵抗無く世界の裏側まで貫いてしまうような接続性が担保されつつある。

そのため旧来の、無駄に完成度が高くなっていたジョイントの一部は、不要になる可能性が出てきている。それは特にエンジニアリング、工学の分野で多い。一種のルール無用が生じている。単位が消えてしまう、というのもその話だ。もっと身体に近いところで、別の言語化がなされるようになり、それが、そのまま適切にコピー&ペーストできるようになる。

例えば、暑さ・寒さとか、湿度とかいった概念も、もっと情緒に近いレベルで、より細やかに表現できるようになるのではないか、と思う。15度といっても、それは人間にとってのクオリティを適切に表せていない。もっと使える表現、使える記憶方式、が実現できる。「あの時の南軽井沢の朝」というような。

6章、7章の、デザインの現象学、メディア設計からインターフェイスへ、は、まだ始まったばかり、という印象である。書いてある内容はわかるが、設計論としては具体性というか、リアリティが不足している。これからの活動に期待したい。

一方で、注意深く書かれてはいるが、タンジブル関連の記述に、若干いじわるさを感じた。TUI自体を攻撃しているわけではなく、「モノ」や「物理的な対象」に考えが縛られることを警戒しているのだが。私の理解では、人間にとって、生まれた時から制約・束縛として付き合い続けた、さらには進化の過程で大昔から馴染んできた、身体と物理的な環境とのインタラクションにおけるインバリアントは、何を考える上でも極めて重要な制約条件なのだ、ということだと思う。さらに、その強固な持続性、一貫性は、たとえ多くが錯覚であっても、強い「安心感」「やすらぎ」の根拠となっている、というのも重要な点だと思う。

今後、テクノロジーはどんどん進化するだろうが、この安心感、やすらぎがどのように生まれるのか、は十分に理解し、活用すべきだろう。触覚も視覚と同じく、そのエッジに様々な見えが集約されている。聴覚や嗅覚もしかりだ。それら全てを包含して、新しいデザインの現象学が生まれるのだろうと考える。

いずれにしろ、IoTを単に、センサネットワークのようなものと思っている、日本のエンジニア・デザイナには、ぜひ本書を通読して、次のステップへ進んでいただきたい。これを読まずにIoTを語るエンジニアを私は信じない。



2015年2月2日月曜日

第2回 おうちハック発表会 参加報告

会議名:第2回 おうちハック発表会
日時:2015年2月1日(日)14:00-17:00
会場:GARAGE秋葉原  (http://garage-working.com/

第1回は技術評論社のサイトに記事あり。

概要:

SONY CSLの大和田氏と、NISTの湯村氏が中心となって活動している「おうちハック発表会」の第2回に参加した。最初の凹氏の講演が「おうちハック」の典型例を代表している、と言って良いだろう。自分の部屋・家をガジェットや自作の装置でハックした人たちの発表会である。発表者はインターネットでのハンドル名(ニックネーム)で紹介されたので、多くの発表者の本名は不明である(名刺交換した人以外)。

感想:

・密度の濃い2時間であった。大変参考になった。
・「実際の生活に用いている」というのが最高に良いポイントだ。素晴らしい。
・特に、最初の凹氏の講演は深みもあった。
・なおデザインという点からすると、もう一歩と感じた。多摩美大情報デザインコースとかとコラボしたら面白いだろう。

基調講演

(1) 基調講演「ハッピーおうちハッキング」 

最初に基調講演として凹(へこみ)氏による「ハッピーおうちハッキング」が30分枠で紹介された。
紹介された内容の多くは既に以下のサイトでブログとして公開されている。

以下にメモを記す。
・おうちハック=住まいを面白く、便利にするものを作ること、考える事
・最初は勉強と趣味を兼ねて始めた。やってみると便利になった。モティベーションが維持された。
・なんといっても、他人に自慢できる、他人にもわかりやすい、というのがモティベーション維持に大きい
・個人として本当に便利になったか、という視点で、ビジネスは無視してやってきた。
・照明(hue)を、動体センサ(WeMo)で制御している
・Netatmo(環境センサ)やiRemoconがある
・Bluetoothマイクで玄関でも声が拾える。音声認識のため。
・宅内にnode.jsが走っているサーバを置いている。サーバでコマンド解釈・発行を行っている。
・node.jsはけっこうゴリゴリハードコーディングしている。
・ネット対応の家電、赤外線リモコン対応、タップなどで家電制御
・プロジェクタもリモコンで制御
・HDMI切替器もリモコンで制御
・「プロジェクタつけて」というと、「プロジェクタをつけます」と復唱してオンにしてくれる。
・「プレステでトルネをつけて」というと、「トルネを起動します」と復唱して付けてくれる。
・トルネは、リモコンの右を3回、○を1回、スタートボタン、といった操作を順番にコマンド発行している。
・Pebble(腕時計型装置)からも制御できる
・IFTTTでサービス連携している。アクション側はメールを送って、メールのサブジェクトを解釈している。
・GitHubにソースを上げているので、参照
・実際に生活に使ってみると、便利な面もあるけど、面倒も多い
・○決まった流れ、ルーチンは楽に出来る
・○ベッドでも、どこでも操作できるのは便利
・○自動通知は面白い
・×(A)自動制御には誤動作がつきもの。勝手に電気が消えたり、夜中に何かを人感センサが検知したりする
・×(B)オンになるまでに時間がかかる制御があって不便。例えば、トイレは人感センサを使っているが、反応が遅い。
・×(C)メンテが面倒くさい。システム更新や、機器追加など。
・改善方法:
・(A) 半自動化(後述)
・(B)トリガの最適化(人間は許容できる時間に限界がある)
・(C) 色んな家があるので統一化は無理、UIの工夫でも限界あり。
・A:半自動化:トリガに対して、候補を表示して、選択させる。
・例えば、温度低下を検知したら、エアコンONなどのアクションカードを表示し、選ばせる。
・また帰ってきたら、ゲームとか照明とかを表示
・出勤時も同様
・要するにGoogle Nowのパクリ
・Moto 360上にAndroid Wearで実装してみた
・B:トリガの見直し
・動体検知は遅いので、リードスイッチでドア開閉で検知させた
・ドア開閉センサにはTWE-Liteを使った。
・おうちハックAdvent Calendarが役に立った。
・ボタン電池で3年ほど持つので十分
・「賢いスイッチ」をばらまくのが良い。
・同じ機構でどこでもリモコンを作った。ぶっちゃけ一番便利
・C:メンテ面倒に対して、自動化を検討
・今はプログラムでやっている。最も柔軟。
・IFTTTはシンプルでわかりやすい。しかし複雑なルール記述は難しい。
・ビジュアルプログラミングはいいとこ取りで良いようにも思うが、メンテはやはり大変では。
・そこで「日々の暮らしから自動でルール作り」をすることを考えた
・例えば、寒く感じたら→暖房、とか、家を出る→電気を消す、とか、布団に入るまでに電気を消す、といったアクションはセンサとトリガーに対して、自動化が可能
・自動化候補が出たら、システムからユーザに問合せて、OKだったら、ルール化する
・これもGoogle Nowのパクリ(笑)
・まとめ:
・考えるのも作るのも楽しい。わかりやすく、面白い。モティベーション維持しやすい。
・趣味なので、もうからなくていいというのが良い。

QA:
Q 暖房(熱)・モーターの類を制御しているか?
A やっていない。もしやるとしても、メーカーのインタフェースを使う。特に、ヒーターとかは危険だ。ハックしない。
Q 音声認識では、TVの声などで誤認識がある。どうやっているのか?
A 誤認識は多い。良いマイク、例えばKinectの指向性マイクを使う、といった手しか思いつかない。
Q お客さんが来た時はどうしているのか?
A お客さんモードを用意している。デモモードのようなもの。
Q 電気代に変化は?
A おうちハック前後で電気代は変わらなかった。
Q SONY MESHの利用は考えているか?
A すでにindiegogoで投資した。納品されたら使う予定。
C しかしMESHはLED、ボタン、加速度センサしかデフォルトは無いので、GPIOが多数必要だろう
A たしかに
Q おうちハック後に、人間観察みたいなことは変わったか?
A 実家に帰った時に、家電がたくさんでハックできるな、と思った。ただしレガシー機器が多く、難しい。
Q 音声認識は何を使っているのか?
A juliusとwebスピーチAPIである。webスピーチAPIが楽だ。
Q モノが増えていくと管理が面倒では?
A まだラック一杯程度で溢れていない。
Q 賃貸だと、釘が打てないなどの改造上の制約があるが
A 気をつけている。Kinectは一脚上に乗せるなどしている。
Q センサなどの配線、固定が面倒では
A 壁美人というホッチキスで重たいものを固定できる治具があり、便利。痕が残らない。
Q 赤外線制御の課題として、フィードバックが無く、誤制御の結果が分からない問題へは何か対策しているか?
A 1秒おきにコマンドを送るなど、確実に制御できるプロセスを試行錯誤で決めている。音を出すといったフィードバックを考えた方が良いだろう。

ライトニングトーク


その後、ライトニングトークとして、「IoF(Internet of Furo)」「おうちで野菜」「ルンバを制御」「mbed+Felica+RasPiで消し忘れチェック」「やまびこ」「未来のティッシュ箱」「BUTABAKO」「Energy Design Competition」「おうちハックAdvent Calendar」が8分づつ発表された。
各発表について概要を記す。

(2) IoF(Internet of Furo) 

・ギークハウス品川というシェアハウスに住んでいる。
・プログラマなどIT系の人が集まったシェアハウスである。
・共用ということで、トイレや食堂は問題ないが、風呂が1つしか無いのが問題
・風呂までの廊下や階段が寒いので、見に行って空いていないと、往復が無駄になる
・誰かが入っていることを確認できるシステムを作った。
・各自のスマホでのBluetoothを検出して、Raspberry Piでfrobeeconというソフトでslackに投稿するシステムだ。
・風呂場と脱衣所に、BLE対応のBlueetoothアダプタを備えた、Raspberry Piを設置。
・スマホ(iPhone)持参で風呂に行き、装置の上に置くと、「○○さんが風呂にいると思う」と投稿がなされる。
・取り外すと「脱衣所にいると思う」と投稿がなされる。
・シェアハウスはハックすべき課題が多い。
・シェアハウスだと、課題にみんなで立ち向かう、という感じが良い。
・Raspberry Piは濡れると困るので防水容器に入れているが、発熱が心配。Edisonの方が発熱少ないというフロアコメント

(3) おうちで野菜 

・ここ3年で8kg太った。野菜が必要。近所のファミレスで「らりるレタス」が食べられる。おいしい。
・自分でも作ろうと思い、LED栽培キット(9800円)を購入。40日でサラダが食べられる、というふれこみ。
・監視システムを自作した。openCV + rubyでカメラを起動し撮影する。カメラ起動後3秒間は撮影できない
という問題があり、タイマーを入れている。
・40日たったが未だに収穫できない。原因は温度。エアコンが無い寒い部屋なので。
・温度管理システムが必要か。

(4) ルンバを改造

・GOMIHIROIDO氏
・ルンバは誰でも改造できる。APIが公開されている。
・センサもモータも、スピーカも制御可能
・ルンバにキーボードをつないでみた。演奏が可能。
・MIDIは演奏できないので、MIDIを単音に変換して、音信号として出している。
・ケーブル(シリアル接続)が邪魔なので、Androidで制御できるようにした。
・もともとARをやっていたので、ルンバの上の模様をマーカーとして、初音ミクが踊れるようにした。
・Javaの制御ライブラリを公開中

(5) mbed+Felica+RasPiで消し忘れチェック 

・消し忘れ、は、消したことを覚えていないのが問題である。自動で消してくれなくてもいい。
・チェックシステムを作成
・チェックすべきところに、Felicaをはりつけて、Felicaリーダーとmbedで自作した装置で、チェックするようにした。
・WIFIを使っているので、充電が頻繁という課題あり。Androidではどうか?、との声がフロアからあった。
・ガスは電磁センサでチェック

(6) やまびこ 

・ユカイ工学の岡田です
・Apple HomeKitとECHONETをつなぐYamabikoというアダプタを作った
・小さなボード型装置で、相互変換をする
・神奈川工科大学からSDKを近日リリース予定
・変換ボードはAppleの認証が必要だが、特定のチップを搭載する義務など、なかなか大変。しかし、達成するつもり。
・HomeKit側はすべてカバー、ECHONET側は実際に機器が販売されているもののみ対応

(7) 未来のティッシュ箱 

・jojonokiです。UIエンジニアです。
・光るティッシュ箱を作った。3Dプリンタで外形等を製作、ArduinoとLED、サーボモータで動作
・ティッシュを一枚取りだすとキラキラと光り、取ってがふさがって、すぐには2枚目が取りだせないようになる。
・ティッシュの取りだしは、加速度センサで検知
・3Dプリンタ便利、従来は、アイデアから100円ショップ、加工、モノ、という流れだったが、3Dプリンタがあれば、アイデアからモノに直結できる。
・品質は実のところ、100円ショップに負けるが、ドンピシャで欲しいものが見つかるというのがうれしい。
・どんどん「ワタシ」と「イエ」と「ソト」がつながる世界が来ている。
・肩書にこだわらず、いろんなこと、スキルの幅が広がる。一方で学習コストが下がっている。

(8) ヨメ召喚

・スマホアクセサリを作って売っている。ウインクルという会社。
・家のサービスを考えた。結論として、家はアニメを見る場所である、ということになった。
・テレブーというエージェントを作った。テレブーという豚のぬいぐるみと会話して好きなテレビが見れる。
・IoTの未来として、ロボットと生活する、というようなのが謳われることが多い
・しかし、私はロボットとなんか暮らしたくない。
・欲しいのはヨメである。
・だからヨメを召喚する。
・フォグスクリーンにプロジェクションする
・フォグスクリーンは加湿機を改造した。
・風呂の湯気を使う装置も開発した。
・ポリッドスクリーンでも作った。アクリルケースで覆うと、すごくかっこいい。
・将来は、ご飯も作ってくれるようにしたい。
・DMM.akibaで活動中。デモ可能

(9) Energy Design Competition 

・SONY CSL 大和田です。
・スマートメータのBルートの見える化コンテストをやっている
・明日、発表予定。(以下のサイトに企画と結果がまとめられている)
・ハッカソンをたくさんやってきたが、おもちゃの域を脱しないのが課題
・この、おうちハックは、実際に自分で使っているので、うまくいっている
・今後、ハッカソンとデザインソンを融合するのが必要

(10) おうちハックAdvent Calendar 

・NICT 湯村です
・Advent Calendarというのは、クリスマス前の1か月を楽しみながら過ごすための、カレンダーである
・最近、これをもとに、ハッカーが各自ブログをリレーして、カレンダー形式にまとめるのが流行っている。
・おうちハックでもやってみた。
・25日全部埋まった。すばらしい。
・すべて紹介する。


以上