2011年11月08日

GDD2011に出展しました

少し古い話題になりましたが、Google developer day 2011に出展しました。
Googleが各国で主催する、開発者のお祭りです。
http://www.google.com/events/developerday/2011/

通常はDevQuizというプログラミング問題を解き、高得点の人が参加できるのですが、
今回はOpen Call ADKという枠で参加しました。
http://googledevjp.blogspot.com/2011/10/google-developer-day-2011-japan-open.html

人を追跡して動きまわる扇風機を作りました。

Arduinoは触ったことはありますが、機械工作は初めてだったので、なかなか苦労しましたね。
背が高すぎるかな、と思いながらつくりましたが、やっぱりふらふらでしたorz
でも、非常に楽しかったです。

このような機会を与えてくださったGoogleさんと、支えてくれた皆様に感謝です。




バージョンアップさせて、Make Tokyo Meetingにも出展予定です。
posted by コパン at 00:59| Comment(0) | android | このブログの読者になる | 更新情報をチェックする

2011年04月11日

monkeyrunner自動化計画(1)

Androidのテストツールとして、Gingerbreadからmonkeyrunnerというツールが登場しました。

[Android Developersの記事]
http://developer.android.com/intl/ja/guide/developing/tools/monkeyrunner_concepts.html

[日本語の参考記事]
http://erlang.web.fc2.com/monkeyrunner/
http://y-anz-m.blogspot.com/2010/12/androidmonkeyrunner.html

Python scriptをつかって、ユーザーイベントを定義し、
そのユーザーイベントを擬似入力することで人の手を煩わせずマニュアルテストを行えるわけです。
また、任意のタイミングでスクリーンショットを取得できるので、ひと通りテストを走らせたあとで
結果を確認することもできます。

つねづねUIのテストを楽にしたいと思っていたので、これは良いツールだと思ったわけです。


が、いちいちPython scriptを書くのは面倒ですよね。
タッチイベントを擬似るときは
device.touch(63.0,148.0,'UP')
という感じで座標を指定するのですが、その座標をいちいち調べるのは面倒だし、
画面サイズが異なる端末によって別々の入力scriptを書かなければならないの?とか、
UIを変更したら、テストもまた一から書きなおしなの?とか、
色々懸念はあるわけです。

そこで、monkeyrunnerのscriptをlogcatから生成するscriptを書いてみました。
monkeyrunner_diffcheckとmonkeyrunner_scriptの二つのスクリプトが含まれています。

スクリーンショット(2011-04-13 8.45.23).png

まず、monkeyrunner_scriptを使用してmonkeyrunner scriptを作成/実行し、スクリーンキャプチャを取得します。
その後、monkeyrunner_diffcheckであるべき画像と取得した画像の差分を検査します。

DLは以下から。
monkeyrunner_util_ver01.zip

使い方はファイルの中に書いてありますが、後日追記します。

ラベル:android つくる
posted by コパン at 01:17| Comment(0) | TrackBack(0) | android | このブログの読者になる | 更新情報をチェックする

2011年01月05日

[Android][QCAR]Qualcomm AR SDKをつかってみた

■QCARとは

・Qualcommが公開しているAndroid用の、拡張現実(AR)ライブラリ。
Android上で簡単にARアプリケーションが作れる。

・Markerlessな画像認識を行うことが特徴。
 - 風景や顔など、自然の画像を認識するタイプの技術。
 - ARToolkitのように人工のマーカー画像を使うタイプのARもある。
 - セカイカメラのように画像を使わないタイプのARもある。

■AR extension for Unity 3とは
・ゲームエンジンであるUnity 3に対するAR拡張らしい。
 →これはひとまず置いておく。

■インストール
https://ar.qualcomm.com/qdevnet/sdk

 ここからSDKをダウンロードする。

■サンプルコードの実行
 ImageTargetをビルド・実行してみる。
 1. Nativeソースのビルド

 $ \qcar-sdk-xx-yy-zz/sample/ImageTarget/
 $ ndk-build

[Trouble shooting]
 以下のようなビルドエラーが出たとき:

 cannot find -lQCAR
 collect2: ld returned 1 exit status

 MacやLinuxでビルドすると、以下のようなエラーが出るらしい。
 (cygwin環境に合わせてmkファイルが記述されているため)
  /qcar-sdk-xx-yy-zz/samples/ImageTargets/jni/Android.mk
 の、以下の行を
  QCAR_LOCAL_PATH := $(shell cygpath –m $(LOCAL_PATH)/../../../build/lib/$(TARGET_ARCH_ABI))
 以下のように変更する。
  QCAR_LOCAL_PATH := $(LOCAL_PATH)/../../../build/lib/$(TARGET_ARCH_ABI)


以下のように出力されればOK。

Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/ImageTargets.cpp
Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/SampleUtils.cpp
Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/Texture.cpp
SharedLibrary : libImageTargets.so
Install : libImageTargets.so => /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/libs/armeabi
Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/ImageTargets.cpp
Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/SampleUtils.cpp
Compile++ arm : ImageTargets <= /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/jni/Texture.cpp
SharedLibrary : libImageTargets.so
Install : libImageTargets.so => /Development/Android/qcar-sdk-0-10-0/samples/ImageTargets/libs/armeabi-v7a

libImageTargets.soが/qcar-sdk-xx-yy-zz/samples/ImageTargets/obj/local/armeabi-v7a/以下にできている。


2. Javaソースのビルドと.soのインストール
先ほどビルドしたlibImageTargets.soを端末に転送する。
2.1 ImageTargets右クリック->Properties->Buildersを選択する。
Import QCAR(bash)を選択し、 Import QCAR(win)を選択解除する。(mac, linuxのみ)
2.2 端末をPCに接続した状態で、EclipseのProject->Clean...からImageTargetをCleanする。
コンソールに以下が出力されればOK。

===============================================================
SUCCESS: libQCAR.so copied into lib directory.
===============================================================

3. 実行
アプリケーションを実行し、ImageTargets/libs/mediaの下にある画像ファイルを携帯端末カメラ越しに
撮影する。
  teapotがひょうじされた!!
  photo.JPG

かなりの領域を隠しても、まだ認識している。(文庫本で半分隠している)
  photo (1).JPG

近づけたり離したりしても、まだ認識している。
   photo.JPG
   どうやら、一度認識したあとはかなりの領域が隠れていてもトラックし続けるらしい。
ラベル:android QCAR つくる
posted by コパン at 22:54| Comment(0) | android | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。