Skip to content

Instantly share code, notes, and snippets.

@SuThaw
Created November 10, 2016 04:50
Show Gist options
  • Save SuThaw/688b0e9570c5d72a0074da05d63fe437 to your computer and use it in GitHub Desktop.
Save SuThaw/688b0e9570c5d72a0074da05d63fe437 to your computer and use it in GitHub Desktop.
NFC read
const NFC = require('nfc-pcsc');
const pretty = require('./pretty');
const nfc = new NFC.default(); // optionally you can pass logger
let readers = [];
nfc.on('reader', reader => {
// disable auto processing
pretty.info(`device attached`, { reader: reader.name });
readers.push(reader);
// needed for reading tags emulated with Android HCE AID
// see https://developer.android.com/guide/topics/connectivity/nfc/hce.html
reader.aid = 'FFFFFFFFFFFF';
reader.on('card', card => {
pretty.info(`card detected`, { reader: reader.name, card });
});
reader.on('error', err => {
pretty.error(`an error occurred`, { reader: reader.name, err });
});
reader.on('end', () => {
pretty.info(`device removed`, { reader: reader.name });
delete readers[readers.indexOf(reader)];
console.log(readers);
});
});
nfc.on('error', err => {
pretty.error(`an error occurred`, err);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment