1.1.26.3. fejezet, nfcpy

Minta kód a nfcpy használatára. Az alábbiak tesztelése MiFare Ultralight, MiFare Classic és MiFare DESFire tag-ekkel történt.

Listázzuk az USB eszközöket:

> lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0aa7 Intel Corp. 
Bus 001 Device 002: ID 04f2:b56d Chicony Electronics Co., Ltd 
Bus 001 Device 005: ID 04cc:2533 ST-Ericsson NFC device (PN533)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Ez a kód a kártya tipusát, azonosítóját és a rajta tárolt ndef tagokat olvassa ki.

import nfc
clf = nfc.ContactlessFrontend()
#clf.open('usb:001:004') #usb port
clf.open('usb:04cc:2533') #reader id
tag = clf.connect(rdwr={'on-connect': lambda tag: False})
print(tag)
if tag.ndef != None:
    for record in tag.ndef.records:
        print(record)
clf.close()

Ez a kód pedig feltölti egy ndef rekorddal.

#!/usr/bin/python
import nfc
import ndef
clf = nfc.ContactlessFrontend()
#clf.open('usb:001:005')
clf.open('usb:04cc:2533')
print(clf)
tag = clf.connect(rdwr={'on-connect': lambda tag: False})
print(tag)
uri, title = 'http://nfcpy.org', 'nfcpy project'
tag.ndef.records = [ndef.SmartposterRecord(uri, title)]
clf.close()