1.5.10. fejezet, NFC

Modul telepítése

pip install -U nfcpy

Jogosultság engedélyezése az eszközhöz:

sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"04cc\", ATTRS{idProduct}==\"2533\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
sudo udevadm control -R # then re-attach device

Itt az idVendor (04cc) és az idProduct (2533) eszköz függő.

Eszközök keresése:

python -m nfc --search-tty

Egy egyszerű példa program:

#!/usr/bin/python
# -*- coding:utf-8 -*-
from pprint import pprint
import nfc
import binascii
import RPi.GPIO as GPIO
import time
 
Relay_Ch2 = 20
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(Relay_Ch2,GPIO.OUT)
 
clf = nfc.ContactlessFrontend()
#clf.open('usb:001:004') #usb port
clf.open('usb:04cc:2533') #reader id
while True :
        tag = clf.connect(rdwr={'on-connect': lambda tag: False})
        print(binascii.hexlify(bytearray(tag.identifier)))
        print(tag)
        if tag.ndef != None:
            for record in tag.ndef.records:
                print(record)
        if binascii.hexlify(bytearray(tag.identifier)) == "12a0b543" :
                print("Belépés engedélyezve. Üdvözlöm...")
                GPIO.output(Relay_Ch2,GPIO.LOW)
                time.sleep(5)
                GPIO.output(Relay_Ch2,GPIO.HIGH)
        else :
                print("Belépés megtagadva!")
                time.sleep(3)
clf.close()

Az NDEF rekordok olvasása egyenlőre csak MiFare Ultralight tagokkal működik.

Naplózás RESTApi-ra

import urllib2
urllib2.urlopen("http://192.168.1.221:8080/nfc-admin/rest/createNFCLog?rfid=11A2C3B4F&readerid=11&serverid=1&type=MiFARE%20Classic%201K").read()

Kapcsolódó hivatkozások