Upload
uenokuma-uenokuma
View
4.210
Download
3
Embed Size (px)
DESCRIPTION
Citation preview
SDK for NFC Starter Kitを使う
その2 とりあえず使う
「とりあえず使う」とは?
● SDK for NFC Starter Kit(以下、 S4NSK)はインストールできた
● さて、何をしたらいいんだ?
● ドキュメントを読むのは大変そうだし・・・
● と思ったので、付属サンプルの C#ラッパを使って、とりあえず動かせるライブラリを作りました
https://github.com/hirokuma/NfcStarterKitWrap/zipball/master
とりあえず使う前に
● 私のライブラリなので、できが悪いです!– 改造の余地を残すことで、もっと NFCに
興味を持ってもらえるよう・・・● (うそです。技がないだけです。 )
● S4NSK付属サンプルの C#ラッパをさらにラップしてるので、付属サンプルの扱いがどうなってるかは調べてないです。
では、 C#でやってみましょう
● MIFARE Ultralight用サンプルを使います– UltralightReadWrite.sln
● しばらく前まで「 SIN 」だと思ってました– Sonyさんのライブラリまでのソースファイルはあ
ります。
この中に、 Sony さんのC#サンプルと追加したソースファイルが入ってる
画面と処理の関係
● Pageを選択して Readするか、Pageを選択してデータを入力してWriteするか。
● UIDと SAKは、 ReadやWriteするたびに取得しなおすようにしている。
– そうする必要があったりなかったり
UltraLightを読む ! 書く !
● と思いましたが、退屈になるのでやめますNfcStarterKitWrap.support mFNS = new NfcStarterKitWrap.support();NfcStarterKitWrap.MifareUltralight mLight = null;mLight = new NfcStarterKitWrap.MifareUltralight(mFNS);bool ret = mFNS.pollingA(); //ポーリングif(!ret) {
MessageBox.Show("Polling fail"); //見つからんかったreturn;
}// ここまでやれば、 NFCIDは取得できているtextBoxUID.Text = BitConverter.ToString(mFNS.NfcId);textBoxSAK.Text = mFNS.RD[NfcStarterKitWrap.support.RD_SELRES].ToString("x2");
byte block = (byte)comboBoxReadBlock.SelectedIndex;byte[] rbuf = null;ret = mLight.Read(ref rbuf, block);if(!ret) {
MessageBox.Show("Read fail");return;
}textBoxReadValue.Text = BitConverter.ToString(rbuf);mFNS.unpoll();
FeliCa Liteの場合
● FeliCa Liteだとこんな感じNfcStarterKitWrap.support mFNS = new NfcStarterKitWrap.support();NfcStarterKitWrap.FelicaLite mLite = null;mLite = new NfcStarterKitWrap.FelicaLite(mFNS);bool ret = mFNS.pollingF(); //ポーリングif(!ret) {
MessageBox.Show("Polling fail"); //見つからんかったreturn;
}// ここまでやれば、 NFCIDは取得できているtextBoxIDm.Text = BitConverter.ToString(mFNS.NfcId);textBoxSc.Text = mLite.SystemCode.ToString("x4");
byte block = (byte)comboBoxReadBlock.SelectedIndex;byte[] rbuf = null;ret = mLite.Read(ref rbuf, block);if(!ret) {
MessageBox.Show("Read fail");return;
}textBoxReadValue.Text = BitConverter.ToString(rbuf);mFNS.unpoll();
「読む・書く」はドライバ
● NFCカードの読み書きにはいろいろある– あるけど、方法はどうでもいいと思う
– 読み書きできればよかろう、なのだ● 「フグは (手順通りに捌けば )食べられる」
– 捌き方よりも、捌いた後だろう