7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

nfcpy で Felica をエミュレートする

Posted at

基本的に公式のGetting started に例が載っています
Emulate a card
私は Pasori RC-S380 を使っていますが、その場合このままでは動きません
USBカードリーダーをベンダーIDとプロダクトIDで指定する必要があります
exampleでは nfc.ContactlessFrontend('usb:054c:06c1') となっています
Pasori RC-S380 の場合は nfc.ContactlessFrontend('usb:054c:06c3') と変更します
これで動くようになるはずです

そのまま書いてありますが
idm, pmm, sys = '03FEFFE011223344', '01E0000000FFFF00', '12FC'
を変更すれば IDm, PMm, システムコードも自由に変更することが出来ます

PMm の冒頭を書き換える事でIC種別も変更可能です
idm, pmm, sys = '03FEFFE011223344', '01E0000000FFFF00', '12FC' と設定し、 nfcpy/examples/tagtool.py で読み取った結果

Type3Tag 'FeliCa Plug (RC-S926)' ID=03FEFFE011223344 PMM=01E0000000FFFF00 SYS=12FC
NDEF Capabilities:
  readable  = yes
  writeable = yes
  capacity  = 1008 byte
  message   = 0 byte

idm, pmm, sys = '03FEFFE011223344', '00F1000000FFFF00', '12FC' と設定し、 nfcpy/examples/tagtool.py で読み取った結果

Type3Tag 'FeliCa Lite-S (RC-S966)' ID=03FEFFE011223344 PMM=00F1000000FFFF00 SYS=12FC
NDEF Capabilities:
  readable  = yes
  writeable = yes
  capacity  = 1008 byte
  message   = 0 byte

idm, pmm, sys = '03FEFFE011223344', '0332000000FFFF00', '12FC' と設定し、 nfcpy/examples/tagtool.py で読み取った結果

Type3Tag 'FeliCa Standard (RC-SA00/1)' ID=03FEFFE011223344 PMM=0332000000FFFF00 SYS=12FC
NDEF Capabilities:
  readable  = yes
  writeable = yes
  capacity  = 1008 byte
  message   = 0 byte

また、ndef_read, ndef_write は NdefFormatable にするためなので、NdefFormatable でなくする場合はその二つを消すことで実現出来ます

Felica の仕様についてはこちらの記事が分かりやすかったです
Qiita - [PASMO] FeliCa から情報を吸い出してみる - FeliCaの仕様編 [Android][Kotlin]

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?