我正在尝试在 Chromebook 上构建一个 webapp,我需要它使用 ACR122U NFC 读取 RFID 卡序列号。我正在使用chrome-nfc。
我正在愉快地阅读卡片,但是当卡片出现时我不知道如何触发事件。
chrome-nfc 中是否有任何事件可以用来了解卡片何时呈现给读卡器?
编辑:我一直在尝试使用 chrome.nfc.wait_for_tag,但它的行为不像我预期的那样。
// With a card on the reader
chrome.nfc.wait_for_tag(device, 10000, function(tag_type, tag_id){
var CSN = new Uint32Array(tag_id)[0];
console.log ( "CSN: " + CSN );
});
[DEBUG] acr122_set_timeout(round up to 1275 secs)
DEBUG: InListPassiveTarget SENS_REQ(ATQA)=0x4, SEL_RES(SAK)=0x8
DEBUG: tag_id: B6CA9B6B
DEBUG: found Mifare Classic 1K (106k type A)
[DEBUG] nfc.wait_for_passive_target: mifare_classic with ID: B6CA9B6B
CSN: 1805372086
// with no card on the reader
chrome.nfc.wait_for_tag(device, 10000, function(tag_type, tag_id){
var CSN = new Uint32Array(tag_id)[0];
console.log ( "CSN: " + CSN );
});
[DEBUG] acr122_set_timeout(round up to 1275 secs)
DEBUG: found 0 target, tg=144
两者都立即返回上面的结果,我用什么数字来超时似乎并不重要......
如果我在读卡器上没有卡的情况下调用函数,然后在函数调用后立即将卡放在读卡器上,我在控制台中没有输出。