Special Thanks:
We used those OSSs. Thank you for great works!
OpenFrameworks
ofxKinect(Kinect for OpenFrameworks)
ofxAndroid(Android for OpenFrameworks)
SIProp members:
Hirotaka Niisato
masaxmasa
How to make:
1.Setup ofxAndroid's Development Environment
Please refer to the following site:
ofxAndroid setup manual
http://www.openframeworks.cc/setup/android-eclipse
If you can read Japanese & want to setup it on Windows, you should refer to this site.
http://blog.goo.ne.jp/tuninghigh/e/637821f5b76b370876e3092e860ce7db
2.Merge ofxKinect to ofxAndroid
2-1.Download & Setup to Eclipse
Please download soruce code from the following site:
https://github.com/ofTheo/ofxKinect
Next, Copy [ofxKinect directory]/src/ofxKinect/ to [ofxAndroid directory]/addons/ .
Final, Add include path to Eclipse's "(ofxAndroid's)addons" project.
Please run Eclipse and add the folloing place & path:
Place: Properties -> C/C++ General -> Pths and Symbols -> Includes tab(GNU C++)
Path: [ofxAndroid directory]/addons/src/ofxKinect/src/
2-2.Fix compile error
If ofxAndroid doesn't have ofxThread::waitForThread(bool) function.
Please add the following source:
[ofxAndroid directory]/addons/ofxThread/src/ofxThread.h
void waitForThread(bool stop = true);
[ofxAndroid directory]/addons/ofxThread/src/ofxThread.c
void ofxThread::waitForThread(bool stop){
if (threadRunning){
// Reset the thread state
if(stop){
threadRunning = false;
if(verbose)printf("ofxThread: stopping thread\n");
}if(verbose)printf("ofxThread: waiting for thread to stop\n");
// Wait for the thread to finish
#ifdef TARGET_WIN32
WaitForSingleObject(myThread, INFINITE);
CloseHandle(myThread);
#else
if(pthread_self()==myThread) printf("ofxThread: error, waitForThread should only be called from outside the thread");
pthread_join(myThread, NULL);
#endif
if(verbose)printf("ofxThread: thread stopped\n");
myThread = NULL;
}else{
if(verbose)printf("ofxThread: thread already stopped\n");
}
}
2-3.Do customize source code for Android
Please remove the following code in ofxKinect::threadedFunction() function:
ofSleepMillis(20);
Please add the following code in [ofxKinect directory]/libs/lubusb/io.c file:
#define TIMESPEC_TO_TIMEVAL(tv, ts) \
do { \
(tv)->tv_sec = (ts)->tv_sec; \
(tv)->tv_usec = (ts)->tv_nsec / 1000; \
} while (0)
2-4.Create your application project
Please choose sample programs from the following directory:
[ofxAndroid directory]/apps/androidExamples/
And copy it to the following directory:
[NDK directory]/apps/
Final, export this project on Eclipse.
2-5.Build project
You must build JNI at first.
You execute the following commands:
cd [NDK directory]/apps/[your app directory]
[NDK directory]/ndk-build -B
And, you build android application on Eclipse.
*If you don't know how to use ofxKinect framework, please refer to "[ofxKinect directory]/src/testApp.cpp".
3.Change Android's configuration
Please add the following line to init.rc:
mount usbfs none /proc/bus/usb -o devmode=0666
4.Upgrade Android's kernel
libusb MUST neet "USB FS". And Kinect MUST neet "High Speed USB(USB2.0)".
Therefore, you check the following kernel options:
.config
CONFIG_USB_DEVICEFS=y
CONFIG_USB_EHCI_ARC_OTG_ALLOW_HS=y (only armadillo)
Appendix
If your device can not draw normal Z-camera image and RGB-camera image, you MUST need to build optimized kernel & userland.
I used the following optimization option for building kernel, userland & "OpenFrameworks x kinect x Android".
for armadillo
-O3 -march=armv6 -mtune=arm1136jf-s -mfpu=vfp -ffast-math -fno-math-errno -mfloat-abi=softfp -ftree-vectorize -fomit-frame-pointer -funroll-loops -fstrict-aliasing -funswitch-loops
for beagleboard
-O3 -ffast-math -fno-math-errno -march=armv7-a -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -ftree-vectorize -fomit-frame-pointer -funroll-loops -fstrict-aliasing -funswitch-loops
*Download
Full "OpenFrameworks x kinect x Android" Development Environment for Armadillo
Full "OpenFrameworks x kinect x Android" Development Environment for beagleboard
Only source code "OpenFrameworks x kinect x Android
Full "OpenFrameworks x kinect x Android" Development Environment has:
Android NDK crystax version for Linux
Android SDK for Linux
C/C++ Eclipse for Linux
ofxKinect(Kinect for OpenFrameworks)'s source codes
ofxAndroid(Android for OpenFrameworks)'s source codes
"OpenFrameworks x kinect x Android" 's source codes
sample program Eclipse's workspace
今回は、ついにあのお方の弟子が、クラウドコンピューティングコンペティション・グランプリの実績をひっさげて登壇です!!!
ぜひ、皆様の手で、フルボッコにしてあげてください。<(_ _)>
]]>
*案内
-日程
--2010年9月19日(日)
-時間
--14:00〜
-参加費
--なし
-懇親会
--あり。
-会場
--東工大 西7号館
---info あっとまーく siprop.org
---にお問い合わせください。
*プログラム
-@did2memo氏による『柔軟な経路表に基づくOverlayNetworkの設計と応用〜そろそろ、SkipGraphとドロネーに引導を渡してやるか〜』
--本日を、SkipGraphとドロネーの命日にすべく、DHTアルゴリズムの応用可能性を高める手法『柔軟な経路表』の詳細な仕組みと、実際の応用であるグループ間通信抑制手法を中心にDHTについて話します。
---DHTチュートリアル?/柔軟な経路表のアルゴリズム/応用例のデモ?/柔軟な経路表の応用例LFRT/今後の応用?/OverlayWeaver?
これは、我らが「Feel Sketch」の Android側Viewer を開発した、『Puppyチーム』のgabuたん、こと、塚田翔也氏の力作となっております。
まさに、いままでさまざまな先進的なAndroidアプリを開発してきた氏ならではのノウハウが凝縮された一冊となっておりますので、Android開発者の皆様は是非とも一冊、手元に置いておいていただければ、必ずやお役に立つと思います。
]]>エラーが出やがった!ソースコードを調べたいけど、まだ、ツールが使いこなせていない><
というようなお話を聞く機会が何度かありました。
●解決案
そこで、一般社団法人Open Embedded Software Foundationより、OESFのオープンソースポリシーに則り、コミュニティーとのコラボレーションを深めていくために、ブラウザ上からOHA版Androidのソース一式を検索出来る検索エンジンを、公開することにいたしました。
使い方などは、こちら。
●公開場所
Androidのソース一式の検索エンジン
●検索出来るバージョン
OHAリポジトリの「Android-2.2_r1.1」タグのついたソースコード一式
ついしん
サーバの負荷が高くなりすぎるようなら、他の方法を考えます。
そのため、試験運用ってことで。
最近、
Androidのソースに手を入れたけど、一式丸ごと公開すると約1GBあるので、無料のサービスではホスト出来ない。 そのため、修正を入れるたびに、diffパッチを作らねばならず、面倒すぐる!
というようなお話を聞く機会が何度かありました。
たしかに、分散リポジトリであるgitを使っていながら、最終的な配布物が、diffパッチでは悲しい物があります。
●解決案
GitHub上では、freeプランでは300MBの容量しかありませんが、他の人のgitリポジトリを、自分のgitリポジトリとしてforkする分には、どれだけforkしても容量は減りません。
差分のみ、容量として加算されていきます。
すなわち、だれかが、有料版のGitHubを利用し、OHA版Androidのソース一式を、GitHub上に公開すれば、ほとんどの修正ソースコードは、freeプラン内でアップロード出来ると言うことです。
しかも、当然、gitが使えますので、gitの恩恵をまるまる受けることが出来ます。すなわち、完全な形のソースツリーを『自分のリポジトリ』として管理することが可能です。
●提供開始!!!
そこで、一般社団法人Open Embedded Software Foundationより、OESFのオープンソースポリシーに則り、コミュニティーとのコラボレーションを深めていくために、OHA版Androidのソース一式を、GitHub上に公開することにいたしました。
ぜひ、皆様の成果をGitHub上に公開してもらえればと思います。
また、僭越ではありますが、優れた成果であれば、ご相談の上、Embedded-Masterにどんどんと取り入れさせていただきたいと考えておりますので、よろしくお願いいたします。
その他、要望等がありましたら、何でも構いませんので、
em あっとまーく oesf.jp (まっとまーくを、@に変換してください。)
まで、ご連絡いただければと思います。
●公開場所
GitHub上のOHA版Androidのソース一式
●バージョン
OHAリポジトリの「Android-2.2_r1.1」タグのついたソースコード一式
●リポジトリ構成
こちらの趣旨に則って、リポジトリは一つにまとめてあります。
そのため、変更履歴など参照したい場合には、OHAのgitサーバを参照してください。
]]>今回は、Cloudをdisりに来た若者です。Cloudがどれだけダメでどうしようもないのか、そして、『俺様』が考える最強のCloudシステムについて、騙っていただきます。
]]>
*案内
-日程
--2010年7月25日(日)
-時間
--14:00〜
-参加費
--なし
-懇親会
--あり。
-会場
--東工大 西7号館
---info あっとまーく siprop.org
---にお問い合わせください。
*プログラム
-@hamhei氏による『MyCloudの話と、みんなで世界(のファイルシステム)をぶち壊そう』
--クラウドにはロックイン・遅延などの問題があります。MyCloudは、複数のベンダのパブリッククラウドを構成ノードとして、一つの大きなクラウドストレージを構築します。MyCloudはプライバシー保護・転送速度向上といったメリットを生み出します。
-- あと最近は既存のファイルシステムに我慢がならない。ディレクトリ構造は人間の記憶がボトルネックになるため大量のデータ管理に適していない。今回はこの問題についても最近考えていることをお話し、皆様からのフィードバックを得られたらと考えております。
理由としましては、『私が理想と考えるコミュニティー像』からは、随分と乖離した運営組織となってしまったため、これ以上関わることはよろしくないと判断し、このような形となりました。
これからは、『私が理想と考えるコミュニティー像』を目指して、活動は続けていく予定ですので、よろしくお願いいたします。
今回は、Paxosの神を迎えて、分散における合意について迫ってみたいと思います。
]]>
*案内
-日程
--2010年6月13日(日)
-時間
--14:00〜
-参加費
--なし
-懇親会
--あり。
-会場
--東工大 西7号館
---info あっとまーく siprop.org
---にお問い合わせください。
*プログラム
-大阪市立大学・鹿野将典氏による「Paxos聞くなら、遠くのLamportより、近くのオレ鹿野」『分散合意アルゴリズムの神髄〜Paxosを極めて〜』
--P2P基盤ソフトウェアmusasabiで培った、分散合意のあるべき姿について、Paxosをベースとして語っていただきます。
アップル社の意向により、インターネット通販サイトの「ヨドバシ・ドット・コム」ならびに、テレフォンショッピングの「もしもしヨドバシ」において、iPod、MacBook、iMac、関連アクセサリーを含む、全てのアップル製品の販売を終了しなければならない状況となりました。
とのニュースを受けて、元アップルコンピュータ米国本社副社長の福田尚久さんが、Appleの流通革命について、つぶやいているのを発見。
「アップル全製品がヨドバシ等のネット販売停止−アップルの流通改革に関する福田尚久さんのツイートまとめ」
こちらは、読んでもらうとして、私の解釈としては、
ネット向けDAC(DACはDealer Acquisition Costの略で、販売店の仕入価格を指します)と店舗向けDACを分けるのは当然なのに、それを日本で今までやってこなかったのが問題だったのでしょう(あくまでも私的な推測ですよ)。で、ネット向けDACをヨドバシが受けられなかったということなのでは?
のあたりから、流通経路は、『ネット(通信販売)』と『店頭販売(対人販売)』の2つがあり、これは違う物として扱うべきだというのを感じました。
すなわち、『ネット(通信販売)』には『ネット(通信販売)』としての売り方があり、『店頭販売(対人販売)』には『店頭販売(対人販売)』の売り方があるということなのかなと。
そして、それを踏まえてApple社は、ヨドバシなどの『店頭販売(対人販売)』の店から、『ネット(通信販売)』を禁止したのだと考えます。
なぜなら、『ネット(通信販売)』は、本来、自社製品を直接販売する場であり、他者を介する必要がない物だからです。だから、禁止したのだと。
こう考えると、『ネット(通信販売)』は、自分の製品を売るためにあらゆる方策をとり、自己表現をする場とも言えるでしょう。
すなわち、この『ネット(通信販売)』という売り場まで作り込んでこそ、一つの製品になるということです。
この考え方こそ、『OESF謹製Market Placeの衝撃』のエントリーで書いた、個人レベルでもMarket Placeを作ることが出来る意味の根幹にある物だと信じております。
要するに、
『店頭販売(対人販売)』・・・Apple社のApp StoreやGoogle社のAndroid Marketなど
『ネット(通信販売)』・・・OESF謹製Market Place
と考えれば、アプリケーションやサービスにも、この考え方は波及するわけで、いずれ、この世界が来るわけです。
AndroidとBeagleBoardで 実践!組み込みLinuxの技 〜拡張現実感デバイスを作ろう〜
となっており、トラブルがなければ半年くらいの連載を予定しております。
また、共同執筆者として、demuyanこと出村 成和氏も参戦しております!
本連載では、本Blogにて以前に作成中だった「プロジェクター投影型AR」を、実際に完成まで導く物となります。
要するに、パティ・マース教授による「第六感」デバイスもどきのようなものを作っていくこととなります。
「Talks パティ・マースによる 「第六感」デバイス のデモ」
かなり、無謀な挑戦となっておりますので、生暖かく見守っておいて貰ればと思います。
そして、現在発売中の第1回目の記事は、いきなり全公開してしまいます!!!
導入記事ですので、これを読んでいただいて、「おっ。おもしろいかも」と思われた方は、第2回目からでも、購入していただければと思います。
さらに、すでに購入されてしまった方にも楽しんでいただけますように、あえて、校正前の第一次原稿の方を公開いたしました。雑誌の方に載っております物と、随分と校正が違いますので、合わせてお読みいただけると、『プロの校正にかかるとこうなるのか』などと楽しんでいただけるのではないかと考えております。
ん?「おまえ台湾にいるんじゃねぇの?」ですって???
いえいえ、私が台湾にいようが、P2P SIP勉強会は開催されるのです!!!
]]>
* 主催
o 東工大 首藤研究室* 日程
o 2010 年4月24日(土)
* 時間
o 14:00〜
* 参加費
o なし
* 懇親会
o あり。
* 会場
o 東工大 西7号館
+ info あっとまーく siprop.org
+ にお問い合わせください。
†プログラム
IIJ-IIの藤田昭人氏による『PaaS の作り方』* TyphoonAE (GAE for Python 互換ソフト)の構造を解説をし、GAE for Java 互換ソフトへ拡張するには、どのような手法がよいのか?TyphoonAEの現状の問題点を交えながら、議論します。
o Google App Engine for Java のサポート
+ TyphoonAE は GAEp SDK の機能を活用して実行環境を実現していますが、GAEj SDK を対象に同様のアプローチで実行環境を実現するためには、jar ファイルのデコンパイルなど幾つか問題があります。
o 複数の利用者で環境を共用する上での技術的問題点
+ TyphoonAE は今のところ1つのアプリケーションしか登録できず、ユーザーアカウントは強制的に admin になってしまいます。
o IaaS 環境下での動作
+ Eucalyptus 上で実行するには、どうしたらよいのか?
o 独自サービスの追加
+ いろいろな状況に応じて最適化された Key-Value Store が登場しているため、いろいろな Key-Value Store を利用するための拡張を行うにはどのような手法がよいのか?
最初の江崎先生の
「おまえら、がんがれ。」
の鶴の一声から、およそ4年。
今思えば、凄まじいスタートではありましたが、何とかソースコードの一般公開までたどり着きました。
現時点のソースコードは、すでに、世界規模のIMSの相互接続イベントである、SIPit(3回)とPlugfestとPlugtestsをくぐり抜けており、それなりの品質に達しております。
もし、IMS/NGNにご興味のある方がおりましたら、ぜひとも、本プロジェクトの成果をお試しいただければと思います。
・OESF の Test & Certification WGのサポート
・ハードウェアやサービスの新時代エコシステムのための開拓
前者はあまり説明しなくてもわかるかと思いますが、後者はわかりにくいかもしれません。
で、後者の説明ですが、ちょうど良い記事が出ていたので、紹介しておきます。
●サービスはハードウエアになる 端末の先のクラウドにこそ価値
「パソコンの父」と呼ばれるアラン・ケイは、「ソフトウエアに真剣に取り組む人間は、ハードウエアも同時に考えないといけない」といった趣旨の発言をしています。新しいソフトやサービスでどういう未来や新しい生活をつくるかを考えるときに、アプリケーションだけでは完結しない場合がある。
ITの世界は、どんどんクラウドへ移行しています。アップルやグーグルのハードは、どれも、端末そのものというよりその先にあるクラウドにこそ価値があります。クラウドの価値を引き出すために、端末側のアプリケーションやハードウエアはどうあるべきか、この視点で設計されています。
極端なことを言うと、今のハードウエアは全部だめなんですよ。今のハードウエアはことごとく否定されないといけない。カメラもオーディオも場合によっては冷蔵庫や掃除機、あるいは車とか飛行機、いろいろなハードが、クラウドに対応したアーキテクチャーにすべて書き換わらないといけない。そうでないと、これからは利用者に対する価値を生み出せないと思います。
と。
要は、本Blogでも、何度か主張しているのですが、
・いままでは、ハードがあって、その上で動くアプリやサービスを作るという流れだった。
・それが、今後は、アプリやサービスを考えて、それに最適なハードを作るという時代になっていく。
というところです。
例えば、最近流行のTwitterやUStreamなどは、パソコンが前提にあるわけです。
そして、UStreamの場合、配信する側に回るとよくわかるのですが、Webカメラや集音用マイク、インターネット回線などいろいろな機材が必要となります。こうなってくると、専用のハードがほしくなるのです。
要するに、これからのサービスは、ソフトだけでは完結せずに、ハードが必要になってくる。そうなると、最適なハードを作ることが出来る環境が必要になってくる。
ということです。
そのため、それをすることができる環境(エコシステム)を作るための布石として、台湾を中心に、中国・韓国・ベトナムを回って、いろいろと開拓してこようと思っております。
そのエコシステム構想の一環として、下記の図を添付しておきます。
またまたまた、若者を拉致したが講師に名乗りを上げてくれましたので、開催いたします。
今回は、筑波の山奥大学より、生きのいい学生を釣り上げました。(w
*案内]]>
-日程
--2010年3月22日(月・祝)
-時間
--14:00〜
-参加費
--なし
-懇親会
--あり。
-会場
--東工大 西7号館
---info あっとまーく siprop.org
---にお問い合わせください。
*プログラム
-oza_x86氏による『仮想化とかカーネルとかのお話』
で、下記、プレスリリース本文より。
Android™ の組込みシステムへの普及・開発を促進する団体、一般社団法人Open Embedded Software Foundation(以下OESFとする)(所在地:東京都新宿区 代表理事:三浦雅孝)は、会員各社で開発を進めていた、組込みシステム向けAndroid(Embedded Master)の一般公開を開始しました。OESFは、発足から1年で参加団体数が65団体を超えました。会員各社で、共同開発を行っていた組込みシステム向けの拡張をした、Androidを順次公開してまいります。今回公開するEmbedded Masterは、Android1.6をベースとし、ARMプロセッサに対応したバージョンを公開します。 なお、今回のリリースでは以下の拡張が実装されました。・IP Phone Extension
・BlueTooth Extension(Bluetooth拡張対応、HID・SPP・OBEX機能等)
・Remote Control Extension(赤外線・Bluetoothリモコンでの操作)
・Pointing Device Extension(マウスやポインタ・カーソル対応)
・User Interface Extension(大画面向けのGUI作成APIなど)OESFでは今後、順次対応プロセッサや、共同開発している各種機能を、会員でのテストが完了しだい順次、公開していく予定です。また、Android2.1への対応は6月下旬の公開を予定しております。
■ソースコード公開URL
http://github.com/OESF/Embedded-Master-ARM■手順書等
http://wiki.github.com/OESF/Embedded-Master-ARM/em1-environment-constructed
と、この文章は、どうでもよい((;^_^A アセアセ・・・)のですが、何点か問い合わせを頂いたので、ひとまず、ここに公開しておきます。
●質問1
なぜ、OHA準拠のディレクトリ構成になっていないのですか?
OHA版のAndroidは、モジュールごとに .git が用意されており、複数のgitにより構成されております。
しかし、今回のEMは、すべてを一つのgitとしてまとめてあります。
・答え
GitHubの機能を最大限に利用するため。
GitHubを利用しての開発ですので、リポジトリ構造は下記のようになると想定しております。
すなわち、OESFのGitHubを直接cloneするのではなく、自分のGitHubにforkしてから、cloneする構造となると思います。
そのため、OHA版のAndroidのようにモジュールが複数あっては、forkが大変となってしまいます。
さらに、そのような状態ですと、GitHubの便利な機能が使いにくくなってしまいます。
例えば、masterとなるgitとの差分を確認出来るツールなどがあります。
これが、モジュールごとに一つずつとなってしまうのは、大変使いにくいと考えております。
ただ、OHA版のAndroidのような構造のリポジトリの要望もあるだろうと思い、準備はしておりますが、GitHub的に見て、上記の構造のリポジトリを推奨したいため、公開は遅らせております。
●質問2
拡張部分があまりないようなのですが?
・答え
現状、各WGの成果は、ほとんど取り込まれておりません。
成果の取り込みを、EM2ターゲットとしたWGが、多いためです。
もう一つとしましては、
ベトナムラボの立ち上げ
があります。
こちらで今後のEMの管理運営を行っていく予定なのですが、まだ立ち上げほやほやと言うところもあり、リリースは問い合わせが少なそうなものだけに絞らせていただきました。
こちらは、本当に手前の事情であり、申し訳ないところです。
EM1で予定しておりました
・DLNA
・OSGi
ですが、準備ができ次第、取り入れていきたいと考えておりますので、少々お待ちください。
こちらは、いろいろと問い合わせが来そうなモノで・・・
(EM2になるかもしれませんが・・・)