2011年12月18日
[nfc]今年のまとめ
どうやら、このブログに移ってきたのは、今年のことのようだ。
2月1日である。
2月2日には、「LLC PDU」などという記事を出しているところから、あれからずっとLLCPのことを考えているようだ。
もう10ヶ月以上経つが、まだLLCPできてない。
できてないというよりも、LLCPを自力で実装しようと考えてないから、まあ・・・いいとするか。
2月は43件の投稿。
多いなー、と思ったが、だいたい毎月そんなもんのようだ。
連休の前月は少なめなのかもしれんが、毎日投稿しているわけでもないと思うと、週末にけっこう出しているようだ。
3月は、最初ちょろちょろDEPして、間にカメラなんてものを挟んでいる。
BeagleBoardに、USBカメラを動かそうとしていたようだ。
うちにあるUSBカメラのI2Cあたりで、待ち時間を入れたとかなんとかした記憶がある。
その影響か、JNIをやったりしている。
NativeActivityが出たので「Javaじゃなくてもアプリができるのかも」と思っていたのかもしれん。
アプリで楽をしたい私は、結局Javaしかないことがわかったところだ。
4月は、FALPなんてやってる。
NFC Forumの分類としては、NFC用途は3種類ある。
その中でも、やはりPeer to Peerの通信が一番面白いし、用途が広いと感じているようだ。
そして、PaSoRi RC-S370をターゲットにするなどして、R/Wコマンドに興味を示している。
ここら辺から、深みにはまっているように思う。
そして最多の5月。
OTGに興味を示している。
AndroidからUSBで(逆だな、USBでAndroid機器を、だ)操作できるAccessory Modeができたからだろう。
機器を操作したい私としては、USB Host機能を持つ3.1以上じゃないとどうでもよくなったみたいだ。
kernelとの関係や、USBプロトコルなどを見ているので、結構濃いことをやってたようだ。
6月は、あれやこれや。
Accessory Modeや、Qt、Windows USBやNFCの規約。
雨が多いせいかしら?
7月は、結構変なことをしている。
「かざしてログオン」をだます、というのは、私としては大きな分岐点だった。
NFCといっても、結局のところ通信の一種でしかない、という当たり前の結論を得たのだ。
そして、RC-S620/Sの簡易仕様が出てきた。
8月は、PaSoRiのアプリを作ってMarketに出したりしている。
9月にかけて、FeliCa Liteの片側認証を実装している。
なんというか、「わかってきた」というところだ。
10月はLLCPの実装を自分ではやらず、任せてしまおうと思っているみたいだ。
libnfcなどの、オープンソースプロジェクトを探している。
私らしくないような、私らしいような。
SONYのSDKも気にしてはいるものの、先にP2Pとして運用されていたFALPがNFC標準になっていない以上、どうすることもできない。
そう、技術は最初に作っていたので、間違いなく研究されていると思う。
DEPよりもFALPは先にできていたはずなのだ(たしか)。
FALPが普及しなかったのをSONYのせいにするのは、ちょっと酷だろう。
私としては、第2のTRON、みたいなことになったんじゃないかと何となく思っている(根拠無し)。
14443に含まれなかったのは、かなり痛い。
しかし、18092でDEPの標準としてNFC-Fも入っているのは、大きい。
携帯電話内部に情報を押し込めるのであれば、デバイスレベルの技術が左右してくる。
今やってる、SEを個別に置くのかSWPでSIMに置くのかとか、そんなの。
しかしネットワークとして外に出ていくとなれば、「どうせ外に出るやん」という考え方になる。
本体内にセキュリティをしっかりかけていても、お金の情報は外にあるので、その経路はさらされてしまうのだ。
内部を操作されてデータを書き換えられるのはまずいけれども、ネットワークでそれができてしまうと危険の比率がまったく異なる。
これは、SEがSIMにあろうと別にあろうと、ネットワーク上の問題だからどうしようもない。
SONY/FNがやってるその辺を、Googleが覚悟してやってるのだろうか、というのは気になる。
正直なところ、あんまり考えきれてないんじゃないかなー、という気がしている。
これもまた、証拠無しの印象だけなので、聞き流しておくれ。
さて、来年のことを考えよう。
PN533とRC-S956の違いがnfcpyでわかってきたので、制御はできそうに思う。
libnfcとlibnfc-llcpが動けば、Android Beamもできそうだ。
ただ・・・うちでは動作確認できない。
確認できないので、やっても面白くない。
面白くないなら、やりたくない。
そこをどうするか決めるのが、最初の目標ですかね。
2011年3月7日
[camera]OMXMaster::addPlugin()で落ちる
思い出しながら、USBカメラを動かそうとしている。
最後に動いたのは、froyoのとき。
gingerbreadでもそんなに変わらんだろうと思っている。
まあ、ディレクトリなんかは変わってたけど。
ドライバは、USBカメラを認識してくれた。
さて、とカメラアプリを起動させたのだが、いきなりアプリが落ちる。
logcatで見ると、
F/OMXMaster( 1088): frameworks/base/media/libstagefright/omx/OMXMaster.cpp:90 err != OMX_ErrorNoMore
などといわれている。
その後、mediaserverが落ちる。というよりも、mediaserverが落ちるのは上記のせいだろう。
よくわからないが、キーワードは「omx」「libstagefright」「openmax」というところか。
openmaxは、Android.mkに出てきてた。
libstagefrightは検索したけど、よくわからず。
出てきたのは、OpenMAX。
これはKHRONOSがまとめてる?やつで、OpenGLとかあんなのと同じ感じがする。
ストリーミングのコーデックAPIをまとめているようだ。
omxは、これの略だろう。
カメラ画像はストリーミング的な扱いになっているのか?
フレームバッファにばんばん書き込んでるだけかと思っていたのだけど。
少なくとも、CameraHardwareはそんな風になってたな。
E/CameraHolder( 1098): fail to connect Camera
落ちた後は、こんなログが出ている。
android.hardware.Camera.open(id)が呼ばれているので、たどってみよう。
Cameraのコンストラクタが呼ばれ、native_setup()が呼ばれて。。。どこにいくんだ?
→frameworks/base/core/jni/android_hardware_Camera.cpp
→frameworks/base/libs/camera/Camera.cpp
・・・
疲れた。
全部追わなくていいのだけど、ログがこれくらいだとわからんなぁ。
まあ、Androidは久しぶりなので、リハビリがてら追っていくことにしよう。