要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。ICカードのデータを読み書きするプログラムの開発方法について説明します。Kit」を使用し、カードに"codezine.jp"という文字列を書き込むサンプルプログラムを作成します。Encryptionコマンドおわりに参考文献このサンプルプログラムを応用すれば、ICカード内に書き込んだURLからWebページを表示するプログラムや、書き込んだメールアドレスを自動的に入力するプログラムなどが開発できることでしょう。認証・暗号化については扱いません。開発したプログラムは評価用・デモ用とし、データの流出や改ざんが発生しても困らない用途にのみご利用ください。開発に使用するソフト、ハードを、以下に示します。バージョンは多少前後しても構いません。2012」は、マイクロソフトのサイトから無料でダウンロードできます[1]。Kit」は、ソニーのサイトから無料でダウンロードできます[2]。ダウンロード後、「sdk4nfc_starter201J」ディレクトリ配下一式を、Cドライブのルートなど適当な場所にコピーしてください。「NFCPortWithDriver.exe」を実行し、「NFCポートソフトウェア」をインストールしてください。商用のアプリケーションを開発する場合は、有償のSDKを別途購入する必要があります。NFCのページ「PaSoRi」は、ソニーの非接触ICカードリーダー/ライターです[3]。家電量販店などで、3000円弱で購入できます。ICカードについては、次項で説明します。Lite-Sという規格のカードがあります。自由に読み書きできる領域は224バイトであり、画像や音声を格納するには不十分ですが、URLやメールアドレスなどのちょっとしたテキストデータを扱う分には問題ありません。Lite-Sのカードを使います。ステルス・ネットワークス株式会社が1枚360円(税別・送料別)で販売しています[4]。Liteのカードを1枚499円で販売しています。Lite-Sと同じです。カードを入手したら、本記事のサンプルプログラムに含まれている「felica_lite_s_dump」ツールを利用して、カードの内容を確認してみてください。具体的には、カードをカードリーダに載せ、コマンドプロンプトから「felica_lite_s_dump.exe」を実行し、その出力結果を調べます。Lite-Sカード[FL922]」のダンプを以下に示します。TL-C1」のダンプを以下に示します。RW=可)メモリは16バイト単位のブロックに分かれており、「S_PAD0」「D_ID」「MC」等の名称が付けられています。13)」は、ユーザーが自由に利用できる領域です。この例では、すべて0x00で埋められています。Configuration)」には、カードの設定が格納されています。後続の2行は、その内容の簡単な説明です。ICチップは工場出荷時に「0次発行」されます。その後、カード販売業者やカード利用者が必要に応じて「1次発行」や「2次発行」という処理を行うのですが、その過程でMCブロックに設定値が書き込まれ、カードの構成が固定されます。メモリの書き込みに認証が必須になったり、スクラッチパッドのブロックが読み書き可能から読み出し専用になったりします。この過程は不可逆です。RW=可」のカードです。それ以外のカードは、読み書きに制限がある場合があるので注意してください。RW=不可」と出力されたカードは、S_PAD0からS_PAD13のブロックの一部または全部に書き込みができません。Lite-Sスターターマニュアル」[7]を参照してください。ツヨシ)岩国市生まれ。(株)NTTデータ勤務。金融系システムの企画・開発を担当。写真は0歳当時の自分。Z!」もよろしくお願いします。新着記事一覧を見るイベント今後の予定を見るCodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。