SONY FeliCa の秘密主義と SONY の NFC リーダの SDKをあんまり売る気のないのか?という代理店にちょっと途方にくれたが,研究家の方々がインターネット上に公表している成果(1, 2, 3 ほか)を参考にして,Adafruit 等から購入できる PN532 / I2C をつかったリーダで読み取りが可能になった.SONY の現行最新 NFC チップでもほぼ同じコマンドシーケンスなので USB タイプや RCS620S でも使えるだろう.
サービスコードの違うバージョン?やバイトオーダーが仕様書と違う記載があったりしたが,結局 PN532 のスルー通信コマンド InCommunicateThru で FeliCa カードの仕様書通りのコマンド送信とレスポンスを実装して,
(1) Polling をシステムコード ANY 0xFFFF ではなくEdy/FCF の 0x00FE でかける.Suica 系は ANY でも読めてしまう...Edy つき FCF カードは Edy が読めれば FCF も読めるということだろうか.
(2) そうすると Service Request で FCF のサービスコード 0x1a8b が確認できる.最初に見たページのいくつかでは Edy は 0x1317 ? だったが,手持ちのカードではサービスがなかった.別のページのソースコードにあった 0x170F でやっとサービスを確認できた...
(3) そして Read Without Encryption で 0 番から数ブロックを読めばいいのだった.FeliCa カードのコマンド仕様どおり2バイトのブロック番号指定で最初のバイトの msb はビットをたてるから 0x80, 0x00, 0x80, 0x01, ... となる.
これで,やっといまだに半角カナ文字が使われている世界にたどりついた.
しかし仕様を公開しない,SDKでお金をとる,というのでセキュリティがはたしてまもれるものなのか...世界中でつかわれ,かつ脆弱という主張がある Mifare Classic でも,いまだ電子チケットシステムがやられたという話はきかないけれども.
次期チップは NXP と SONY で共同開発するという話もあるようなので期待したいですね.
2012年7月29日日曜日
2012年4月16日月曜日
マイコン・エレクトロニクス入門パック用パーツのメモ
抵抗 1/6 W カーボン
330Ω x8, 1kΩ x4, 4.7kΩ x4, 10kΩ x4, 1MΩ x1
可変抵抗 10kΩ
knob つき半固定 または パネルマウント linear 0.2" pin-point legs
キャパシタ 25~50V セラミック
0.1μF x4
小信号ダイオード
1N4148 x1
整流ダイオード
1N4007 x1
小信号 NPN (EBC) トランジスタ
PN2222/2N3904 x1
3mm LED x 3,
5mm RGB LED x1
5mm CdS or other photo sensor x1
TMP36 or other Analog Temp sensor x1
330Ω x8, 1kΩ x4, 4.7kΩ x4, 10kΩ x4, 1MΩ x1
可変抵抗 10kΩ
knob つき半固定 または パネルマウント linear 0.2" pin-point legs
キャパシタ 25~50V セラミック
0.1μF x4
小信号ダイオード
1N4148 x1
整流ダイオード
1N4007 x1
小信号 NPN (EBC) トランジスタ
PN2222/2N3904 x1
3mm LED x 3,
5mm RGB LED x1
5mm CdS or other photo sensor x1
TMP36 or other Analog Temp sensor x1
Davinci, Arduino Leonard ソフトウェア互換ボード
ATmega32U4 を使った Arduino 系ボードの Davinici/Leonard の長所は,まず標準的な USB デバイス(HID)としてキーボードやマウスのエミュレートができること.プレゼンテーションマネージャーのようなものだけでなく,バーコードリーダーと同じようにキーボードを自動で打つような入力装置が作れる.自作プログラムを動かすのがめんどうな iPad でも,USBキーボードとして,デジタルカメラ用USBリーダーを介したICカードリーダーやセンサーロガーを作れるのではないか.たぶんUSBメモリとしての動作もさせられるだろう.
次に,PCとの通信がチップ内蔵のUSBインターフェースなので,UARTのハードウェアシリアルポートは別に使えるということ.スケッチのアップロードや Monitor への出力とは別に,高速なシリアルポートを使える.
個人的には,ほんの少しボードが大きくなってでも,ピン配置が使いやすくなったほうがいいように思うが.
次に,PCとの通信がチップ内蔵のUSBインターフェースなので,UARTのハードウェアシリアルポートは別に使えるということ.スケッチのアップロードや Monitor への出力とは別に,高速なシリアルポートを使える.
個人的には,ほんの少しボードが大きくなってでも,ピン配置が使いやすくなったほうがいいように思うが.
登録:
投稿 (Atom)