2013/06/15

RC-S956を動かせそうなデバイス

あまり時間が空くと忘れ去られそうなので、更新しよう(もう遅い?)。

NFCに関して私が知っている新しい情報は、ほとんどない。

渋谷で「Shibuya Clickable Project」なるものが始まったとのこと。
「なんでclickableなんだ?」と思ったら、「かざしたらインターネットにつながるから、それをWebサイトでのクリックと同じとみなすことにした」ということだった。
Androidはそうだけど、他のOSもそうなのかな?
Windows PhoneがWindows8と同じだったら、トーストが出てくるのをタップすることになりそうな。。。
まあ、そういう細かいことを言う人は、新しいイメージを作り出せんのかもしれん、と思った。

私がそうなのだけど、詳細の正しさにこだわりすぎて、全体をわかりづらくさせてしまっている感がある。
そういうのは、周知させたい段階では邪魔な要因である方が強いと思う。
もうちょっと普及してきてからでいいのかな。


さて、では本題。

RC-S956という、SONYのNFC R/Wチップがある。
仕様書が公開されているのはこのチップなので、一番扱いやすい。
まあ、PN532とかはもっと扱いやすいとは思うのだが、入手しづらいのでね。

私が知っている範囲では、RC-S956が搭載された商品はこんなものがある。
(現行のPaSoRiはRC-S380で、S370以前のものは個人向けには生産終了している。)

  • SONY PaSoRi RC-S330 : PC用(USB接続)
  • SONY PaSoRi RC-S370: PC用(USB接続)
  • SONY PaSoRi RC-S360H: PC用(USB接続)
  • SONY RC-S620/S : 組み込み用(UART接続)
  • SONY RC-S620/U : 組み込み用(USB接続)・・・詳細は知らない

IOデータとかもNFC R/Wを出していたが、たぶんPN532とかだろう。
ACSさんのも、PN532とか531とか、そっち系のような気がするが、知らん。
PaSoRiって黒だけになったので、もっとバリエーションが欲しいなあ(安いからぜいたくは言えんが)。
人間単純なもので、R/Wが青く光ったりすると「うーん、いいかも」と思ってしまったのだ。

 

列挙したR/Wを動かしたいと思ったとき、どの環境で動かせるんだ?と思うかもしれない。
製品を買うと、Windows OS環境でしか動かないとは書いてあるのだが、そこはしょせんUSB機器。
ドライバさえ書いてしまえば組み込み用のR/Wよりも動かしやすいことがある。

 

Windows

これは、USB接続のものであれば、ドライバが標準で用意されているので、何も考えずに動く。
対応した製品もあるし、e-Taxを使うとなるとWindowsしかないんじゃなかろうか。
また、「SDK for NFC Starter Kit」を使っての開発もできる。
(今後のことを考えると、RC-S380に対応していった方がよいだろうとは思う。)

また、RC-S620/SをRC-S232Cなどで接続すれば、仕様書を見ながらプログラムで制御もできる。

 

Linux, Mac

一緒に書いてしまったが、これは「OSに対してデバイスドライバが提供されていない」という意味でまとめただけだ。
よって、これらは組込み環境と同じで、自分でなんとかしないといけない。

Windowsと同じく、RC-S620/Sを接続できてシリアル通信ができれば、プログラムで制御すればよい。
PaSoRiを使いたいのであれば、ユーザーが作ったソフトを使うしかない。
つまり、メーカーとかは保証外になるし、e-Taxなんかは対応してないと思う。
iPhoneにNFCが・・・というのもあるが、Mac OSもNFCに対応しないと、この状況は終わらないと思う。

NFC I/Fの標準仕様(NCI)にUSB接続があって、WindowsもLinuxもMacもそれに対応する、とかなるといいのだろうけど、なかなかねぇ。
LinuxのカーネルはNCIサポートをしたようだが、WindowsはNFPになっちまったし。
いっそのこと、R/WをBluetooth接続みたいな無線機器にしてしまって、そのI/Fだけ決めるってすればいいのでは、と思ったが、無線にするとセキュリティを気にしてしまうな。。。

ともかく、私が知っている範囲では、自分でなんとかするしかない。
R/Wとしてだけ使うのなら、libpafeとかlibnfcとかがよいだろう。
libpafeはPaSoRi用なので、使いやすいんじゃなかろうか(libpafe-rubyもある)。
libnfcは、PN532などとも共用なので、ちょっと癖があるかもしれん。
nfcpyというpython用のもあり、これはPaSoRiも強い。

やり方はどれもだいたい同じで、USB制御部分をlibusbで通してやって、コマンドはRC-S956のものをながすようにしている(はず)。
他にやり方がないから、そうなるんじゃなかろうか。

 

組込み

そんなわけで、LinuxやMacとあまり変わらない。
RC-S956と通信するためのドライバをなんとかしたら、あとはRC-S956のコマンドで制御するだけだ。
組込みだとUSBを使うのがけっこう面倒なので、RC-S620/Sだと楽だろう(デバッグでUARTは動くところが多いだろうから)。

ArduinoでもRC-S620/Sを動かせたので、mbedとかそういうのもで問題ないだろう。
USB Host機能が動くなら、ドライバが動くんならPaSoRiもいけるだろう。

 

Android

USB Host機能が動くなら、ちょこちょこっとドライバ部分を作り込むことで、アプリからPaSoRiを動かすことができる。
Nexus7でしか試してないが、動いた。
もちろん、本体のNFCとは別々なので、かざして何かしたいんだったら、そこも自分で作り込まねばならん。
本体のNFCとPaSoRiで通信する、みたいな訳のわからんこともできるだろう。

 

iOS

今、せっかくiOSの開発環境ができたし、実機に焼けるようにもしたので(iPad mini)、USB接続できるかどうか調べたのだが・・・なさそうだ。
脱獄っていうんですか、あれをやらんといかんらしい。
うーん、初心者だし、そんな怖いことはしたくないですよ・・・。

iOSでデバイスを動かす方法は、よくわからん。
MFi Program、というものがあって、電子アクセサリを作成できそうなことは書かれているのだが・・・。
こんな製品もあるので、MFiとかなら制御できるんかいな?

BluetoothのLEがいいよ、という話もあるんで、NFC R/WをBluetoothで使えるようにした方が早いんかね。
SPPだと、単にUART部分が無線になる、というイメージだったと思うけど、省エネだからずいぶん違うんだろうな・・・。


そんなわけで、まとめるとこんなところか。

  • Windowsは、メーカーの正式サポートが期待できる
    • e-TaxなんかはWindowsのみだろう
  • それ以外の環境は、RC-S956をつなぐまでのルートを作れるかどうか
    • あとは自分で制御 or 制御するソフトを探す
    • メーカーの正式サポートはない(OKかどうかすらようわからん)
  • USBメモリレベルで使えるようになれば楽なのになぁ

無線ってあんまり好きじゃないんだけど、インターフェースを決めてしまえばUSBだのUARTだのよりも考えやすくはなりそうだ(実装しやすいかどうかは別として)。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。