勇闖新世界︰ W!o《卡夫卡村》變形祭︰神奇護照‧七

我們曾經說過『 mifare classic 』這類的卡在『 nfcpy 』上不能使用 ,由於許多應用實務需要可以讀寫的 NFC 卡,在此也就略為說說,以期方便讀者選擇吧。某些坊間的 NFC 卡,所使用的晶片規格為『NXP』

NTAG203

NFC Forum Type 2 Tag compliant IC with 144 bytes user memory

NXP Semiconductors has developed NTAG203 – NFC Forum Type 2 Tag compliant IC – to be used with NFC enabled devices according to NFC Forum technical specifications, according to NFC Forum recommendations or Proximity Coupling Devices (PCD), according to ISO/IEC 14443A. The communication layer (RF Interface) complies to parts 2 and 3 of the ISO/IEC 14443A standard. The NTAG203 is primarily designed for NFC Forum Type 2 Tag applications (i.e. Smart Advertisement, connection handover, Bluetooth simple pairing, WiFi Protected set-up, call request, SMS, goods and device authentication and others).

Contactless energy and data transfer

Communication to NTAG can be established only when the IC is connected to a coil. Form and specification of the coil is out of scope of this document.

When the NTAG is positioned in the RF field, the high speed RF communication interface allows the transmission of the data with a baud rate of 106 kbit/s.

Naming conventions

Table 1. Short naming convention (for easier product identification)
Family name Description
NTAG NXP NFC Tag product family name
2 Platform indicator
0 Generation number (starting from 0)
3 Code number for memory size

(0 : < 64 bytes, 1 : 64-96 bytes; 2 : 96-128 bytes; 3 : 128-256 bytes)

F Delivery option:

if stated, it is a HWSON8 package with Field Detection pin

───

 

讀者只要『谷歌』一下,仔細閱讀說明,當可判定它是否為『 nfc 論壇 』相容『標籤型態』。就像 NTAG203 晶片是『NFC Forum Type 2 Tag compliant IC』一樣。下面的讀寫範例,所使用的就是這一類的晶片︰

 

# 讀取測試
pi@raspberrypi ~/0.10.0 sudo python examples/tagtool.py --device usb:072f:2200 [nfc.clf] searching for reader on path usb:072f:2200 [nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:010 ** waiting for a tag ** Type2Tag 'NXP NTAG203' ID=04F7CB1AFE3280 NDEF Capabilities:   readable  = yes   writeable = yes   capacity  = 137 byte   message   = 0 byte pi@raspberrypi ~/0.10.0 

# 寫入測試
pi@raspberrypi ~/0.10.0 sudo python examples/tagtool.py --device usb:072f:2200 load /home/pi/nfc-test/sp_nfcpy_docs.ndef  [nfc.clf] searching for reader on path usb:072f:2200 [nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:010 ** waiting for a tag ** Old message: record 1   type   = ''   name   = ''   data   = '' New message: record 1   type   = 'urn:nfc:wkt:Sp'   name   = ''   data   = '\xd1\x01\x0fU\x03nfcpy.org/docs'  # 格式化測試 pi@raspberrypi ~/0.10.0 sudo python examples/tagtool.py --device usb:072f:2200 format tt2
[nfc.clf] searching for reader on path usb:072f:2200
[nfc.clf] using ACS ACR122U PN532v1.6 at usb:001:010
** waiting for a tag **
Type2Tag 'NXP NTAG203' ID=04F7CB1AFE3280
NDEF Capabilities:
  readable  = yes
  writeable = yes
  capacity  = 137 byte
  message   = 0 byte
pi@raspberrypi ~/0.10.0 # libnfc 相關讀取 pi@raspberrypi ~/nfc-test sudo mifare-ultralight-info 
Tag with UID 04f7cb1afe3280 is a Mifare UltraLight

 

若講到 NFC 的可能應用,純粹想像力之所為。如果說有人寫作一套『Calibre』程式來管理『電子書』,

Calibre

About calibre

calibre started life on 31 October, 2006, soon after the release of the SONY PRS-500, the first e-ink based reader to be sold commercially in the US. At the time, I was a graduate student, with a lot of time on my hands. The PRS-500 did not work at all with Linux, my operating system of choice, so I decided to reverse engineer the USB protocol that it used, to get it working on Linux. This was accomplished with the help of the fine folks over at mobileread.com and calibre was born, albeit named libprs500.

At the time there were no satisfactory tools to convert content into the LRF format, used by the SONY reader, so I decided to implement a converter to convert the most popular e-book formats to LRF. This converter proved to be wildly popular and far better than the (mostly non-existent) offerings from SONY. It was picked up and used by various publishing houses and content digitizers to produce the first generation of books in the LRF format.

As my e-book collection grew, I realized that managing it was quickly becoming unwieldy, so I decided to write a graphical interface to libprs500 to make it easier. This became calibre, in its present form, as a comprehensive e-book management tool. libprs500 was renamed to calibre in mid-2008. The name calibre was chosen by my wife, Krittika. The libre in calibre stands for freedom, indicating that calibre is a free and open source product, modifiable by all. Nonetheless, calibre should be pronounced as cali-ber, not ca-libre.

Today calibre is a vibrant open-source community with half a dozen developers and many, many testers and bug reporters. It is used in over 200 countries and has been translated into a dozen different languages by volunteers. calibre has become a comprehensive tool for the management of digital texts, allowing you to do whatever you could possibly imagine with your e-book library. Reading is very important to me and one of my goals has always been to prevent either the fragmentation or the monopolization of the e-book market by entities that care solely for short-term goals. As the calibre community continues to grow, driven by book lovers, for book lovers, hopefully it will always present an alternative for people that love to read e-books and want to be in control of their own digital libraries.

Kovid Goyal
November 2009

 

那麼有人會如何管理『實體物』的呢?或許『天馬行空』並非壞事 ,不能落實才成了『空中閣樓』的哩!