控制NFC阅读器的声音

时间:2018-11-19 17:33:56

标签: python nfc

我正在使用pynfc读取NFC标签。我有一个ACR 122U USB NFC读写器。当它读取标签时,该装置能够发出声音,但是我无法在pynfc文档中找到任何有关对其进行控制的信息。 pynfc,某些其他python或linux OS是否可以调用NFC阅读器的声音?

2 个答案:

答案 0 :(得分:1)

以下是蜂鸣器蜂鸣的示例: 在第75行的pynfc/__init__.py处添加以下代码。(在def poll之上,以相同的缩进量显示)

def buzz(self):
    ba = (c_ubyte * 9)(*[0xFF,0x00,0x40,0x00,0x4C,0x10,0x00,0x01,0x01])
    result = nfc.nfc_initiator_transceive_bytes.argtypes[3]._type_()
    nfc.nfc_initiator_transceive_bytes(self.pdevice, ctypes.byref(ba), len(ba), ctypre.byref(result),2,1000)

从脚本中调用nfc.buzz()。

我没有用于测试代码的设备。另外请注意,您不能同时轮询和嗡嗡声。

答案 1 :(得分:0)

对于nfcpy,我发现如果on-connect函数返回True,则蜂鸣器将响起,并且如果阅读器有能力,指示灯将熄灭。

#!/usr/bin/python
import nfc
import time
import datetime

def on_connect(tag):
    print('Last read: {}'.format(datetime.datetime.now()))
    return True

while True:
    with nfc.ContactlessFrontend('usb') as clf:
        clf.connect(rdwr={'on-connect': on_connect, 'beep-on-connect': True})
    time.sleep(1)