hirotakaster のすべての投稿

IoT的価値

来年は更にネットにつながるデバイス、いわゆるIoT端末というのが溢れてくると思われる。開発を行う拠点も、DMM.make Akiba品川産業支援交流施設SHIPTechshop(富士通)とか出来てきている。

モノ系スタートアップの支援や、Yahoo Japanも電通もIoTと言っている状況で、周りをざらっと見た感じだとIoTと言っている所が非常に多い。けど、ぶっちゃけ実際のモノ、IoTデバイスというカテゴリに類するもので出回っているのはまだそんなに無い。まさにこれから産声を上げていくといった感はある。

■ モノの価値
先日の展示で見せてきたポスト君もそうだし、AccessさんがBeacon端末を無料で配るというのもだけど、いわゆる原価がいくらで実際の売値がいくら?というのは、非常に考える点が多いと思っている。ネットに接続してあれこれやる、いわゆるIoTデバイスは、

・モノ
・ネットワーク
・サーバ

といった所がプレイヤーとして出て来る。ここで、モノは現物で売値がいくら?という点があって、ネットワークはWiFi/BTを使えばOK、そして最後のサーバ(WebAPとか)は何気に効いて来る。今までのモノは売っていくら?だったのが、そこにランニングとしてのサーバやWebAPが継続して乗ってくるわけで、いつまでサポートするの?サービスの継続期間は?とか考えると、初期の売値で回収すんの?売切りで良いの?って気がするわけで。モノの価値というのは、サービスのランニングも込みで決めないといけない。

■ モノは激安、広告・月額いくら?
初期の価格にサーバとかのランニングも載せるというのは現実的ではないし、じゃあどうすんの?というと広告やアプリを介してサービスを利用する時に月額課金といった方法が考えられる。そして初期のモノの値段は激安で。原価がいくらだから最低限この値段で売らないと採算が…というのはいわゆる旧来の売り方から考え方が抜け切れていないと思っている。

そう、IoT、Internet of Thingsというネットのサービスを利用するのに、原価がいくらで?というのは要素の1つとして考えられる訳だけど、ネットサービスなのにそっちは考えてないの?というかサービスで対価を頂くんだよね?という点が抜け落ちているよーな気がする。

■ ネット・Webとの連携
モノを作るときはメーカー寄りの人だったり、実際にモノ作りに携わっている人との関わりが多いけど、IoTというシーンではネットやWeb側の広告や月額いくら?でサービスをやっている方との連携が必ず必要になる。それはモノの価値、値段決めという点においても。原価がいくらだから、この値段で売らないと…というよりも売値は押さえて、サービスで対価を頂くモデルが主流になると思う。

モノとサービスが主体になるIoTという形態では、作り手と同じくらいネット・Web側との連携、サービス作りが大切になると考えている。ネットにつながるからIoTデバイスで…というんじゃなくってね。サービスを提供して利用者にどんなメリットが?そして、その対価としてのサービス利用料や広告を出させて頂くといった、ネット・Web側で培われてきたノウハウというのが一体となって実現するのがIoTなる物だと考えている。

(追記) 上記のような、サービスモデル以外にも、Web側のデータ保全やIoT的端末からアクセス集中した時の冗長化、システムを落とさない為の運用…etc とか端末/ハードとは違う、ネット側で培われた知見は必要になってくる部分と思っている。ハードだけでもなく、Web側・ソフト側…といった様々な要素が必要になるでしょう。それはWeb側のサービスと、現実世界にあるモノとして使う人への最終的な価値の提供といった側面に反映されてくる部分でもある。
あと、このIoTというバズワードが自分的にWeb2.0とかビックデータといった歴代のバズワードに比べて現実味を帯びているのは、Web/ネット上の状態を表した言葉じゃなく、現実世界にあるモノ、目の前に現物として存在している状態という所が大きいような気がしている。

ポスト君

ポスト君という物を作りました。アナログな郵便箱を、電子メールのようにプッシュで通知して電子メールボックスとしての役割にしてくれる、IoT的なアイテムです。

– 通知方法
iBeacon(BLE)、またはメール。
メールの場合は、端末がWiFiに接続されている必要があります。

– 動作
1. 郵便箱にガジェットを入れて起動する。
2. 起動時に赤外線センサーで郵便箱の中の距離を一定時間測定する。
3. 監視スタート、たまに監視を行なってポストに郵便が投函されて、距離に変化が起きたら郵便が来たと判断して通知を行なう。通知はiBeacon、メールの何れか。
4. 郵便を取って、郵便箱の中が元の状態と同じ感じになったら、また監視を開始する。

– 利用シーン
1. 郵便が届いたらメールが来る。(WiFiタイプ)
2. 家に帰る途中で、郵便が届いていたら、ケータイに通知が来る(iBeacon)。
3. 空の郵便箱を開けて確認する必要が無くなる。
4. 家でゴロゴロしている時でも、郵便が来たら通知をしてくれる。

動作は非常に簡単で、こんなサイズの物を郵便ポストに入れておくだけ。普通の郵便箱に設置できます。
名称未設定

こちらはgugen 2014で展示してきた時のもの。

よくあった質問としては…

– 電池ってどの位持つの?
デモの時はリアルタイムで監視をしていたので、すぐ電池が切れちゃうけど、郵便が来たかどうか?をリアルタイムで確認したい!!という高い欲求のある人はあまり居なくて、30分に1回確認をする位ならかなり電池が持ちます。逆に設定で、リアルタイムで確認をしたい!!という場合は、すぐ電池が無くなってしまいます。これはアプリ側から設定を行なって調整できるようにする感じですね。

– チラシとかも反応するんじゃ?
反応します。自分の場合は都内に住んでいるですが、チラシが全然来ないです。もちろん実家では来た事が殆ど無いですし、むしろチラシが来たら嬉しい位で、この点は受取手側の状態に依存します。また、チラシ状の封書であっても本当に欲しい郵便の場合もあるので、今の方法では判別不可能です。
そこでどうするか?というと、特注の郵便箱を作って、郵便が入ってきた時に、入って来た郵便物をスキャンして内容を確認するという方法で、来た物の属性を判断していく事も可能になるでしょう。つまり郵便箱の入ってくる口の部分をスキャナーのようにする、といった感じです。そこまでする必要があるかどうか?というのがポイントになります。

ODROID U3 and OpenNI2/Xtion Pro Live

here is how to use OpenNI2/Xtion Pro live on ODROID-U3. environment is here.

os : xubuntu-13.10-desktop-armhf_odroidu_20140107.img.xz
OpenNI2(build from https://github.com/OpenNI/OpenNI2)

# install library
apt-get update
apt-get upgrade
apt-get install g++ python libusb-1.0-0-dev libudev-dev openjdk-6-jdk freeglut3-dev doxygen graphviz

# build OpenNI2
mkdir work
cd work
git clone https://github.com/OpenNI/OpenNI2
cd OpenNI2

# default OpenNI repository build will fail, so I change following. here is diff.
diff --git a/Packaging/ReleaseVersion.py b/Packaging/ReleaseVersion.py
index e2fdf5f..710f590 100755
--- a/Packaging/ReleaseVersion.py
+++ b/Packaging/ReleaseVersion.py
@@ -163,11 +163,12 @@ elif platform.system() == 'Windows':
 elif platform.system() == 'Linux' or platform.system() == 'Darwin':
 
     devNull = open('/dev/null', 'w')
-    subprocess.check_call(['make', '-C', '../', '-j' + calc_jobs_number(), 'PLATFORM=' + plat, 'clean'], stdout=devNull, stderr=devNull)
+    # subprocess.check_call(['make', '-C', '../', '-j' + calc_jobs_number(), 'PLATFORM=' + plat, 'clean'], stdout=devNull, stderr=devNull)
+    subprocess.check_call(['make', '-C', '../', '-j1', 'PLATFORM=' + plat, 'clean'], stdout=devNull, stderr=devNull)
     devNull.close()
     
     buildLog = open(origDir + '/build.release.' + plat + '.log', 'w')
-    subprocess.check_call(['make', '-C', '../', '-j' + calc_jobs_number(), 'PLATFORM=' + plat, 'release'], stdout=buildLog, stderr=buildLog)
+    subprocess.check_call(['make', '-C', '../', '-j1', 'PLATFORM=' + plat, 'release'], stdout=buildLog, stderr=buildLog)
     buildLog.close()
     
     # everything OK, can remove build log
diff --git a/ThirdParty/PSCommon/BuildSystem/Platform.Arm b/ThirdParty/PSCommon/BuildSystem/Platform.Arm
index c4a112d..cd12569 100644
--- a/ThirdParty/PSCommon/BuildSystem/Platform.Arm
+++ b/ThirdParty/PSCommon/BuildSystem/Platform.Arm
@@ -1,7 +1,8 @@
 ifeq "$(CFG)" "Release"
 
     # Hardware specifying flags
-    CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8
+    # CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8
+    CFLAGS += -march=armv7-a -mtune=cortex-a9 -mfpu=neon -Wno-unused-local-typedefs #-mcpu=cortex-a8
 
     # Optimization level, minus currently buggy optimizing methods (which break bit-exact)
     CFLAGS += -O3 -fno-tree-pre -fno-strict-aliasing


# build OpenNI
cd OpenNI2/Packaging
python ReleaseVersion.py  Arm

# maybe 1 hour needed, check build status "tail -f build.release.Arm.log" 

# install OpenNI
cd Final
tar -jxvf OpenNI-Linux-Arm-2.2.tar.bz2 
cd OpenNI-Linux-Arm-2.2
sh install.sh
source OpenNIDevEnvironment

# run sample application.
cd Samples/Bin
./SimpleRead

# use dual xtion depth stream sample
cd Samples/MultipleStreamRead/
vi main.cpp
#include <OpenNI.h>
#include <iostream>
#include <vector>
#include "OniSampleUtilities.h"

using namespace openni;
using namespace std;

class DepthSensor {
private:
    openni::Device device;
    openni::VideoStream depthStream;
    vector<openni::VideoStream*> streams;
 
public:
    DepthSensor() {}
 
    void open( const char* uri ) {
        Status ret = device.open( uri );
        depthStream.create( device, SENSOR_DEPTH );
        depthStream.start();
        streams.push_back( &depthStream );
    }
 
    void run() {
        int changedIndex;
        openni::OpenNI::waitForAnyStream( &streams[0], streams.size(), &changedIndex );
        if ( changedIndex == 0 ) {
            openni::VideoFrameRef depthFrame;
            depthStream.readFrame( &depthFrame );
            if ( depthFrame.isValid() ) {
            }
        }
    }
};
 
int main() {
    try {
        openni::OpenNI::initialize();
        openni::Array<openni::DeviceInfo> deviceInfoList;
        openni::OpenNI::enumerateDevices( &deviceInfoList );
 
        DepthSensor* sensor = new DepthSensor[deviceInfoList.getSize()];
        for ( int i = 0; i < deviceInfoList.getSize(); ++i )
            sensor[i].open( deviceInfoList[i].getUri() );
 
        while ( 1 ) {
            for ( int i = 0; i < deviceInfoList.getSize(); ++i ) {
                sensor[i].run();
            }
 
        }
        delete[] sensor;
    } catch ( exception& ) {
        cout << openni::OpenNI::getExtendedError() << endl;
    }
    return 0;
}
make
cd Bin/Arm-Release
./MultipleStreamRead

# like this.


オムロン HVC-Cを使った開発

HVC-Cを使った開発について備忘録で記載しておきます。

一般的にはSDKについている通りに作れば良いんだろうけど、iPhone/Androidのコードだけなのでやっぱり色んな環境で動かしたいよね…ということで、とりあえずopenFrameworks上を使うことに。

あと、SDKを見てみると、特にソースはBluetoothとの通信のコマンドとかそのまま見れる。という事で…Edison + NodeJSでも動かそうとして書いてあったのもあったんだけど、今見たらrmしちゃったようで、存在が無くなっていた…orz 方法的には「インテルEdison + BLEで、konashi/SBBLEを動かしてみた。」を参考にnobleとかで作れる。

一般的な作りとしての参考情報はこちらを。
HVC-C iOS SDKサンプルプロジェクトの起動
集中力を測定するCencentMeter – べるべる研究日誌
OKAO Visionがやってきた!!(4)

んで自分のアプリの環境、構成は以下の通り。

– センサ
HVC-C
モバイルバッテリ

– iPhone側
Mac OS 10.9.5
Xcode 6.1
openFrameworks 0.8.4(ios)
MQTT Kit

– 光りモノ側
Spark Core + LED沢山
MQTT Client

– 全体構成

iPhone/Server/Spark間はもちろんWiFiで、それぞれのパーツが無線で通信する。最近、自分はMQTTが好きでよく使う。MQTTを利用するとセンサーの値をsubscribeしている端末(ここではSpark)のMQTT側にpublishできるから以下のような感じにも。

MQTTを利用するとセンサーデータをpublishすればあとは、そのデータをsubscribeしている方に処理をまかせる事が出来るから、センサーデータを使ったアプリをネットワークを介してリアルタイムで行いたい時にはとっても便利。例えばHVC-Cを使う場合、取得できる人の数・顔の位置・表情の状態…etc をpublishしておけばあとは使いたい方で、好きなような処理を行うことが出来るという感じ。
別にSpark Coreを使わなくてもOKで、MQTTで受けれる物であればAndroid/iPhone/Win/Mac…etcなんでもsubscribeしておけばpublishされたデータが一斉に流れてくる。iPhoneとServer間は矢印が一方通行で書いちゃったけど、もちろんここも双方向。

んで、次にopenFrameworks側との合体については以下のような感じ。HVCのSDKに入っているソースコードを一式持ってきて(多少修正は入るけど)、oF側からコールするだけ。

これを動かすとこんな感じ。表情で色を変えているだけの単純な物だけど。

んで、oF側も出来て端末側(HVC-C/openFrameworks)は完成。つぎにモノ側、SparkのMQTTの処理はこんな感じのコールバックを書くだけ。

void callback(char* topic, byte* payload, unsigned int length);
MQTT client("hogehoge.com", 1883, callback);

int faceflg = 0;
// HVC-Cからpublishされてきたデータ
void callback(char* topic, byte* payload, unsigned int length) {
    char p[length + 1];
    memcpy(p, payload, length);
    p[length] = NULL;
    String message(p);

    if (message.equals("SURPRISE"))         faceflg = 0;
    else if (message.equals("NEUTRAL"))     faceflg = 1;
    else if (message.equals("HAPPINESS"))   faceflg = 2;
    else if (message.equals("ANGER"))       faceflg = 3;
    else if (message.equals("SADNESS"))     faceflg = 4;
}
void setup() {
    RGB.control(true);
    RGB.color(0, 0, 0);

    // connect to the mqtt server
    client.connect("sparkclient");

    // subscribeする
    if (client.isConnected()) {
        client.subscribe("/HVC/spark");
    }
}

void loop() {
    if (client.isConnected())
        client.loop();

    // 表情で何らかの処理(LEDピカー!!とかサーボ動かしたりやりたい放題)
    switch (faceflg) {
    .....
}

ちなみに、iOS側のpublish側はSDKに付いている内容だと、こんな感じでサクッと。

                NSString *expression;
                switch(fd.exp.expression){
                    case HVC_EX_NEUTRAL:
                        expression = @"NEUTRAL";
                        break;
                    case HVC_EX_HAPPINESS:
                        expression = @"HAPPINESS";
                        break;
                    case HVC_EX_SURPRISE:
                        expression = @"SURPRISE";
                        break;
                    case HVC_EX_ANGER:
                        expression = @"ANGER";
                        break;
                    case HVC_EX_SADNESS:
                        expression = @"SADNESS";
                        break;
                }

                [client connectToHost:@"hogehoge.com"
                    completionHandler:^(MQTTConnectionReturnCode code) {
                        if (code == ConnectionAccepted) {
                            [client publishString:expression
                                          toTopic:@"/HVC/spark"
                                          withQos:AtMostOnce
                                           retain:NO
                                completionHandler:^(int mid) {
                                    NSLog(@"message has been delivered");
                                }];
                        }
                    }];

この部分はopenFrameworks側で処理をしても問題無い(というか、その方が分離という意味では良いと思われ)。普通のMacOS上でも多分、少し修正すれば動くと思うけど、NodeJS/nobleとかでチョコチョコっといじって動かした方が便利だと思う。

といった感じで全部構成完了という感じ。このMQTTを使うパターンは他でもわりと使っていて、何気に自分は好き。サクッと配信して使いたい・処理したい人だけsubscribeすれば良いからね。

Android 3D Sensor

We(SIProp) developed many Android/ARM platform with 3D Sensor Application. Here is our deveop history about the Android/ARM with 3D sensor 😛

– Nexus7(Android 4.4.2), DepthSense DS325 ToF Camera, OpenNI2, Point Cloud(with openFrameworks), 2014

– ODROID U3(Android 4.4.2), DepthSense DS325, OpenNI2, Point Cloud(with openFrameworks), 2014

– Pandaboard(Android 4.2), Kinect, OpenNI2, 2013

– Raspberry PI, Xtion Pro Live, OpenNI2, 2013

– Pandaboard(Android 4.0.x), Xtion Pro Live, OpenNI, 2012

– Auto Chasing Turtle(beagleboard-xM, Ubuntu 10.10/Android 2.2), Kinect v1, OpenKinect, 2011

– ofxkinectxandroid(armadillo/beagleboard-xM, Android 2.2), Kinect v1, OpenKinect, 2011

Koshianを使ってみる

ようやくKoshianを通電して遊んでみたら、面白かったから備忘録で。koshianは何かと言うと…この写真でmpressionと書いてある端末です。

Bluetoothがついている端末とか小さい端末との比較の写真で、Arduino Pro Mini, Intel Edison, Aplix iBeacon, Light Blue Bean, Koshian, 8pinoですね。Koshianと8pinoの小ささが際立っている感じ。

このKoshianが良い感じなのが、このサイズでBT,アンテナ, Cortex M3が入ったSiPモジュールでKonashi SDK、JavaScriptからサクっと動かせるというイケてる感じ。Firmwareも書き換えOKだし、まぢでこれはヤバい。

んで、とりあえずLチカ。

このサイズ感はヤバい…かなりヤバい。あとで8pinoと一緒に遊んでみよう。BTの応答も凄く良い感じ。サクっとiPhone&JavaScriptでLチカの使い方は、

1) konashi.jsをAppStoreからダウンロードしてインストール

2) Koshianと電源(単三2本で3V使った)は上の写真みたいな感じで接続。ピンは”Getting Started”のpdfに書いてある通り。

3) iPhoneのkonashi.jsを起動したら、konashiで検索。「forked: koshianでまずはLチカ(LEDチカチカ)」をクリック(さっきforkした)。

4) 実行の再生ボタンをクリック

5) “まわりにあるkoshianを探す”をクリック。(iPhoneのBluetoothはオンにしておく)

6) ペロっと見つかったらクリックするとLEDがぴーかー

JavaScriptのコードは元のがPI02を使う感じだったので4にしているだけ。JSを見てもらうと分かると思うけど、むちゃ簡単に使える。ちょっと難しいかも…と思うのがブレッドボードに挿す場合、ピンヘッダをハンダしないといけないけど、ピンがちっちゃいから上手くやる必要がある。まぁ問題無いよね。

ということで…作る予定があったBLE物で使ってみようと思っているのもあるし、追加で2個ポチってしまった(w)。いやー、コスト(980円)とサイズ、スペックを考えると、お手頃感がたっぷり。

DMMからの挑戦

DMM Akibaを見てきて、強いて表現するならそんな感じ。

近くにパーツ屋さんは大量にあるし、加工できる物はこれだけ揃えたし場所も提供するから作れない物は無いだろうと言われているような気がした。

自分は学校では機械工学でCNCとか旋盤をいじったり溶接とかをやったにも関わらず、Web・ネット系どっぷりでMakeとかに関わる中でまた昔のような事をやりはじめている。数年帰っていない実家は建具屋さんで(既に廃業w)、木工加工の機械かんな・ドリル・カットソーやら遊び放題の物が揃っていた。小さい頃、カットして余ったガラスを集めて熱で溶かしてドロドロにして遊んだり(かなり面白い)、余った木材を勝手に組み立てて遊びまくっていた。

そんな諸々が一気に揃っている。

そして、PCBAの印刷・半田・リフローもばっちり揃っていて、ちょっと秋月周辺にお出かけして買ってきて適当に回路書いてすぐ出来る。

印刷もUVで書けたり、まさに何でも作れるよね!!
他にも3Dのモデリングが出来るPCルーム、お馴染み3Dプリント、オシロが大量にある部屋やエアブラシルームだったり、よくこのビルの中に揃えましたね!!って感じ。

そして最終製品にする前の、過酷環境(熱・耐水圧)とか振動・荷重の試験環境も。前にロシアの凄く寒い所だったり、砂漠の暑い所とかでもちゃんと動く物を作るために試験が必要なのよねーとかって言われていて、色んな環境でも動く物を試験する事が出来る。

このスタジオスペースの壁はチョークで色々書いて消せるとの事で、ここに色んな人たちが作った物とか思いが書かれるようになるはず。想像するだけでも楽しそう。

総じて何でも揃っていて、「じゃあ何をすれば?」と思うんだけど、そこがDMMからの挑戦のような気がした。これだけ揃えたから、何か面白い物作って出して行ってよ!!と。楽しげな期待と緊張は共存しているような感じがする。オフィススペースも素敵で、窓から見える駅の夜景が綺麗だった。

案内されている時に教えて貰ったけど、既に事前登録が締め切られていた。あらまぁ…次の募集はいつかしらw

現代は、サーバは速攻借りてWeb(HP/API)・データ解析(Hadoop/Spark)・検索システム(ES/Solr)・ストレージだったり何でも大体の基盤は作れる。そして物を作る基盤はこの秋葉のビルにあるような設備で作れる。端末のプロトタイピングもArduino/mbed、出たてのEdison使ったりして作れる。

ただ、何でもプロトをサクッとすぐ作れるか?と言ったらそうでも無くて、ネット系ならPC上からサーバだったりAPをいじったり出来るけど、物はそうはいかない。
材料買いに行って手を動かして作って、やっぱりうまくいかなくて作り直しとか…時間がかかる。ハンズに行って、秋葉に行って、現物の材料を自分の目で確認したりWebで買って…といった何気に大変な所が、一つのエリアで集約できるというのは良い感じだと思われ。

(ちなみにプロトでって意味で、ネット系はPC1台で何でもか?と言うとそうでもなくて、開発・試験・デプロイ・本番環境、負荷試験、セキュリティ、24×365の運用監視とかサービス運用という点ではとっても大変。ネット系はPCだけで出来るから楽っすよねーとかって話が出たりすると、それは違うよーって思う。物を納めたらOK!!という所から、ネットサービスと組み合わさると、24×365で落とさない運用・超絶トラフィックとか、夜間メンテ…etcとか、また違った知見や側面が必要になるからね。どっちが楽とかじゃなくコラボとか共存関係かな。)

IoTってなーに?というのに、「物が無線でネットにつながる」「物のサービスという概念だよね」「センシングデータの分析・フィードバックがね」とか色々とあるけど、自分が思うのはそういう事は前提条件として全部ひっくるめて、物が持つ力って凄いと思っている。もうね…M2MとかIPv6のはしりの10年以上も前、オイラが社会人になりかけの頃からIPv6を全ての物に振るとか聞き飽きたよ(そういや、v6のスタックとか書いたのもう10年近く前か…)。センシングのフィードバックも分析・サービスも当然のごとく必要だと思う。

それより何より、使ってみて面白い物、生活を変えてくれるような物・サービスの持つ破壊的な力ってスゲーと思う。

「これこそIoTな物だ!!」とか理由なんかは後付で何とでもなるし、それよりも面白い物、見てみて「スゲー!!」「めっちゃ便利!!」と感じる物・サービスをスタートアップがじっくりと作れるという環境が出来るようになってきたのね、って感じ。

Intel Edison and Xtion & OpenNI2


depth CPU Load Avg
running about 30fps.

 

NiTE(User Tracking is running).

めっちゃ簡単に動きます。と言うか…普通に動きます。方法は次の通り。

1. install libusb

opkg install libusb-1.0-0 libusb-1.0-dev

2. download OpenNI from here.

wget https://www.hirotakaster.com/download/OpenNI-Linux-x86-2.1.0.tar.bz2
unzip OpenNI-Linux-x86-2.1.0.tar.zip
tar -jxvf OpenNI-Linux-x86-2.1.0.tar.bz2
cd OpenNI-2.1.0
sh install.sh
source OpenNIDevEnvironment

3. reload udev rule and connect Xtion to Edison(use J16 Micro AB usb connector).

udevadm control --reload-rules

4. run SimpleRead

cd Samples/Bin
./SimpleRead

セフィロト

現在Ultra@青山スパイラルで展示中です。11/03まで展示しています。

左から、ドイツで大活躍中の加藤さん、自分、知念さんの作品です。お二人ともとってもカッコいい!!素敵な作品です。自分のはお花が2つに、空の籠のセットでタイトルはセフィトロとしています。いわゆる生命の樹のセフィロトという名前は、このお花に仕込んでいる光(LED)が自分の心拍をサンプリングした脈動に合わせて光っているという所から取っています。

 

自分のは構成的にはこんな感じです。

静電容量が何箇所かお花に付けられていて、2個あるのは一方が男性面・女性面で手で触れるお花(それぞれのお花に何箇所か仕掛けてある葉っぱの所とか)の拠って異なる反応で仕掛けられているLEDが光ります。そして籠はスピーカの役割を果たしていて、お花の方に触るとそこから男性・女性の声・サンプリングした音が鳴ったりLEDが光る仕掛けになっています。
そして、籠は上に向かって赤外線センサを仕込んでいて、籠の上に手をかざしたりすると、お花の方に仕掛けているLEDがふわぁっと光る感じですね。
あとお花の方は何もしなくても何箇所か仕掛けてある光(LED)が、サンプリングした自分の心拍の脈動に合わせて光らせています。そこからセフィロトって名前を付けた感じ。

他に展示してある中で、これは良いなーと思ったのを。

オランダのZEDZ氏の作品。ZEDD氏のHPもめっちゃカッコいい。

野村さんの作品。太陽系の惑星間の中心点をプロジェクターで動的に作図していて、こんなにも見事になるものか!!と感動した。他にも素数や数列を使った作品とかの規則性が凄くカッコいい。

Minimalist

Minimalistに捧ぐ自分の手持ちのデバイス達

大きいもの順で並べてみた。これ全部展示とか何かで使ってねーべー?とか思うかも知れないけど、何気に展示とかで使ってるですね。他にも何個かあるけど、小さいサイズの物で。この子達はその都度、検証したりモノに取り入れたり。Edisonをゲットしてひとつ増えた事もあって、左から1つづつ紹介を…

RKM 802 IV

KDDIさんがOpen Web Boardとかって発表していた物とメッチャ似てるというか、一緒じゃないかしら…というかRockchipで一緒ですよね。。。Androidを載せてXtionとOpenNI、openFrameworksを動かしてPoint Cloudの展示で使った。

ODROID-U3

この子は名作だと思っている。$65で超ハイスペック!!(備品を色々買うと$100位になるけど)
ARMの評価ボードで最初っからヒートシンクが着いているという、「熱出しまくるぜ!!」と主張しているけど、実際にはそんなに熱くならない気がする。LinuxもAnroidもどっちも動く。どちらでもXtion, DepthSense、OpenNIとopenFrameworksを動かして展示で使った。

Arduino UNO

言わずもがな…って感じもするけど、色々と使われてますよね。

Intel Edison

ここから1段サイズが小さくなる。現在、評価中のEdison。スペックというか機能がモリモリ凄すぎ。実際はブレイクアウトボードと一緒に使う事になる。アンテナは手持ちの物を付けた。普通にLinuxを使っているのと変わらない感じ。このサイズで802.11 a/b/g/n, Bluetoothも使えてCPUはDual Core Quark 400MHzという凄さ。日本で買えるとなったと分かった時、スイッチさんとこで即予約したった。自分はMini Breakout Kitと一緒にゲット。

LightBlue Bean

Bluetoothが使えてArduino IDEで開発が出来る端末。ボタン電池で結構長い間動く素敵な感じ。このサイズでデフォルトで加速度センサが付いていて温度も測定できる。元のサイズはもう少し大きいけど、照度センサとマイクモジュールを付けてリモートから使える環境センサにしてみた。

Arduino Pro Mini

割と使う頻度が高い。このサイズで普通のArduinoとして使える。自分的にはUNOよりこっちの方が便利な感じ。よく展示向けのモノの裏方で使ったりする。

Spark Core

WiFiにつなげてWeb上でソースをビルドすると端末に流し込める(IDEをインストールしなくても、Web上でOK)。802.11 n(b/g)が使える。面白いんだけど、何というかあと一歩…って感じがして遊びで使っているけど、何かで使ったことはまだ無い。ただ、Spark Core用のMQTTライブラリを作ったりした。宅内に設置しといて、外からプッシュとかで遊べるかなーって。

8pino

サイズが驚異的に小さくなる。このサイズ…マヂでヤバイ。ピンヘッダは付けなくて使える。値段も$8というお手ごろ感がたっぷりで、Micro USBに挿して使えることからサクッとArduinoの入門としても良い感じ。Arduino IDEも使えるしかなり楽しめると思われ。