PC/SC lite HTTP wrapper for reading from a card reader (RFID & NFC).
- ACS ACR122 (ACR122U-A9)
For running the installation step, due to its dependency from node-pcsclite, this project requires node-gyp, so please read carefully and satisfy their installation requirements, otherwise it may fails compiling the node module.
You may have to install the proper driver for your card reader.
- 
Download the ACS ACR122U Drivers for Mac OS X 10.x via the download page or via direct link for PC/SC Driver Installer 1.1.0 (Mac 10.5, Mac 10.6, Mac 10.7, Mac 10.8, Mac 10.9, Mac 10.10) (2014-09-17 306KB). You have to install it even if the installer is not properly signed. It will install the useful driver in: /usr/libexec/SmartCardServices/drivers/ifd-acsccid.bundle
NOTE: At this time, Raspberry Pi 1 models have issue running NodeJS, due to wrong architecture identification (ARMv7 instead of ARMv6). This guide works properly on Raspberry Pi 2 (refence 1 2).
- 
Install the latest version of NodeJS and npm, as stated in the official guide: curl --silent --location https://deb.nodesource.com/setup_0.12 | sudo bash - sudo apt-get install --yes nodejs
- 
Install PC/SC and libnfc (references: nfc-tools, libnfc): sudo apt-get install pcscd libusb-dev libpcsclite1 libpcsclite-dev dh-autoreconf cd /opt/ sudo wget https://github.com/nfc-tools/libnfc/archive/libnfc-1.7.1.zip sudo unzip libnfc-1.7.1.zip cd libnfc-libnfc-1.7.1/ sudo autoreconf -vis sudo ./configure --with-drivers=all sudo make sudo make installAdditionaly, you may need to grant permissions to your user to drive the device. Under GNU/Linux systems, if you use udev, you could use the providedudevrules. e.g. under Debian:sudo cp /opt/libnfc-libnfc-1.7.1/contrib/udev/42-pn53x.rules /lib/udev/rules.d/
- 
Make sure the NFC reader is properly recognized: sudo nfc-list- 
To fix: error while loading shared libraries: libnfc.so.4: cannot open shared object file: No such file or directory(reference)echo '/usr/local/lib' | sudo tee -a /etc/ld.so.conf.d/usr-local-lib.conf && sudo ldconfig
- 
If you have kernel version > 3.5, probably pcscdand alsonfc-listwill report this error:Unable to claim USB interface (Device or resource busy)due to the automatic load ofpn533driver.To read the pcscddameon output you can run it using:pcscd -f -d- 
Check which kernel version is installed: uname -a
- 
Blacklist pn533andnfcdrivers (references: Arch Linux wiki Touchatag RFID Reader, nfc-tools forum):sudo nano /etc/modprobe.d/blacklist-libnfc.confAdd the following lines: blacklist pn533 blacklist nfc
- 
Disable kernel modules: modprobe -r pn533 nfc
- 
Restart the pcscddaemon:sudo service pcscd restart
 
- 
 
- 
- git clone https://github.com/goodotcom/rfid-reader-http.git
- cd rfid-reader-http
- npm install
- Run as process: node index.js
- Run in background (detached output): nohup node index.js &