libnfc-js

0.1.0 • Public • Published

libnfc-js

A simple libnfc API to interact with NFC tags.

Install

    npm i -S libnfc-js

System requirements

  • Linux or macOS system (Windows support is not yet implemented)
  • libnfc MUST be installed in the system:
    • macOS: brew install libnfc
    • linux(debian): apt-get install libnfc
    • this binding is looking for libnfc files in /usr/lib or /usr/local/lib
  • Your NFC device MUST be configured in nfc.conf file (location depends on your libnfc installation)

Please ensure that you're able to communicate with your NFC device with nfc-list or nfc-poll commands, before you start using this package.

Usage

See full example in test.js

List avaliable devices in the system

const {NFC, NFCReader} = require('libnfc-js')
 
// Core API:
let nfc = new NFC();
console.log(nfc.listDevices())
nfc.close();

Open reader

let nfcReader = new NFCReader();
nfcReader.open();

or (if you have more than 1 device in the system)

let nfcReader = new NFCReader();
nfcReader.open("pn532_uart:/dev/tty.usbserial");

Polling cards and sending data

nfcReader.poll(); // polls for the next card
nfcReader.on('card', card => {
    // Sending data:
    let result = await nfcReader.transceive(Buffer.from([0]));
    console.log(result);
 
    await nfcReader.release();
    console.log('card released');
 
    nfcReader.poll(); // polls for the next card
});
 
// triggered if polling has failed
nfcReader.on('error', err => {
    throw err;
})

Readme

Keywords

Package Sidebar

Install

npm i libnfc-js

Weekly Downloads

10

Version

0.1.0

License

ISC

Last publish

Collaborators

  • someone-noone