今日FeliCaに詳しい人と話していて、PaSoRiを開発用途で使うのはFNさんとしてはやっぱりよろしく思わないだろうなぁ、という気がしてきた。
個人で楽しむ分には気にはしないけれども、代替えがあるのかどうか考えてみた。
まず出てくるのは、RC-S620/S。
これはUARTなので、組込機器としては使いやすい。
しかしこれが製品のAndroid端末向けとなると、ちょっと話が変わってくる。
たぶん、Android製品でUARTポートを持つものはないと思う。
そうなると、USB変換しなくてはならない。
うちにはCP2102があるので、これを使えばUART-USB変換ができる。
できるのだが、今度はAndroid側でUART制御ができなくてはならない。
Linuxであれば/dev/ttyUSB0などでアクセスできる。
しかし、それは/dev/ttyUSB0へのアクセス権があるからだ。
何もしなければ、rootの人しかアクセスできないので、アプリからは使えない。
最近のAndroidでは、udevを使ってアクセス制御ができるようになっているが、どっちにせよアクセス許可がユーザにまで広げられていないとだめだ。
そして、カーネルがシリアル変換を有効にしているかどうか、ということもある。
ユーザに公開しないし使うようにしないのなら、ドライバレベルでOFFになっているかもしれない。
Androidアプリ側でUSB機器を制御することを考えると、実はドライバが対応していない方がいいのかもしれない。
ここはまだ調べていないのだが・・・。
Android3.1からは、USB Host機能が使用できるようになっている。
まあ、少なくともAPIは追加されているので、製品として使えるようにしてあるなら、使えるだろう。
カーネルがUSB Hostに対応するだけなら、ドライバが対応していればいい。
例えば、USBキーボードを挿すとそこから文字入力ができる、などというしくみはアプリではなくドライバが対応していて、Androidのプラットフォーム側が利用していると思われる。
そう考えると、ドライバとしては認識されていないUSB機器だけがAPIで制御できるのではなかろうか。
下からと上からアクセスされるのをプラットフォームはよしとすまい。
ならば、UART-USB変換がドライバとして対応されていない方が、USB Host機能を使うにはよいのかもしれない。
しれないが・・・CP2102の仕様書を読んでドライバをアプリでやるのか・・・という思いはある。
めんどくさい。
まあ、できるようになっておくと今後としてはいいのかもしれんが・・・。
結論を急がず、別の選択肢を考えてみよう。
「UARTがだめなら、最初からUSBにすればいいじゃないの」ということで登場したのかどうかわからないが、RC-S620/Uという製品がある。
シリアル版が「S」で、USB版が「U」なのだろう。
これなら、何も考えずに使えるのではなかろうか?
ネットで検索したが・・・情報が出てこない。
そもそも、一般人が入手できそうなルートが見当たらない。
なんだろう、PaSoRiとの棲み分けが難しいのだろうか。
気にはなるが、入手できないなら仕方ない。
ならば、SONYから離れざるを得まい。
と探してみたが、これもまた選択肢が少ない。
IOデータの「ピタっち」が一番近いのだが、生産中止になっている。
ACR社のものが近いと言えば近いのだが・・・開発に使っていいのかわからん。
SDK買った人ならいいよ、なのかもしれん。
それならPaSoRiも同じだよなぁ。。。
結局のところ、PaSoRiも明示的に「開発に使うな」とは書いてないのだ。
見つけていないだけかもしれんが・・・。
たぶんNGなのは、PaSoRiとの通信をモニタすることだろう。
昔のソフトにはよく「解析するな」みたいな文言が書かれていたものだ。
まあ、PaSoRiが本当に動かせてから考えるとしよう。
杞憂になってしまうのは技術者的には嫌なのだが、なんらかの理由でできないかもしれんしね。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。