LoginSignup
1

More than 5 years have passed since last update.

nfc raspberrypi read tag on-release, on-connect

Last updated at Posted at 2017-04-18

on-release

read_tag_release.py
import nfc
import time

def released (tag):
    print(tag)
    print('released!!')
    time.sleep(1)

clf = nfc.ContactlessFrontend('usb')

while True:
    print('waiting...')
    result = clf.connect(rdwr={'on-release':released})
    print('----------------------')
    print(result)
    print('scaned')

をやると,
felicaを離した時に,

waiting...
Type3Tag ID=01010501b00ac30b PMM=03014b024f4993ff SYS=1234
released!!

とでる.

"scaned"が出ないけど, felicaをつけて離してつけて離して...を繰り返すと

waiting...
Type3Tag ID=01010501b00ac30b PMM=03014b024f4993ff SYS=1234
released!!
waiting...
Type3Tag ID=01010501b00ac30b PMM=03014b024f4993ff SYS=1234
released!!
waiting...
Type3Tag ID=01010501b00ac30b PMM=03014b024f4993ff SYS=1234
released!!
waiting...
Type3Tag ID=01010501b00ac30b PMM=03014b024f4993ff SYS=1234
released!!

となるので, while trueは効いてる模様.
ふむ...

on-connect, on-release

connect_release.py
import nfc
import time

def connected (tag):
    print('connected!!')
    time.sleep(1)

def released (tag):
    print('released!!')
    time.sleep(1)

clf = nfc.ContactlessFrontend('usb')

rdwr_options={
    'on-connect':connected,
    'on-release':released,
}

while True:
    print('waiting...')
    #clf.connect(rdwr={'on-connect':connected, 'on-release':released})
    clf.connect(rdwr=rdwr_options)
    print('scaned')

のようにon-connectとon-releaseを両方使用してみたが,
つけて離してつけて離して...を繰り返しても

waiting...
connected!!
scaned
waiting...
connected!!
scaned
waiting...
connected!!

となるだけで, on-releaseが効かず....

rdwr_optionsを使用せずに,

connect_release.py
import nfc
import time

def connected (tag):
    print('connected!!')
    time.sleep(1)

def released (tag):
    print('released!!')
    time.sleep(1)

clf = nfc.ContactlessFrontend('usb')

while True:
    print('waiting...')
    clf.connect(rdwr={'on-connect':connected, 'on-release':released})
    print('scaned')

とやっても結果は同じ.
ふむ....

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
1