Go NFC library example code
This is an example code for reading a NFC/RFID tag with a reader
using NFC library for Go. The NFC library requires to have libnfc 1.8.0+ installed
on your device.
I was using a Raspberry Pi with PN532 and followed the instructions from
Adafruit: Building libnfc on Raspberry Pi
.
Building libnfc for PN532
-
Get and extract the libnfc:
cd ~
mkdir libnfc && cd libnfc/
wget https://github.com/nfc-tools/libnfc/releases/download/libnfc-1.8.0/libnfc-1.8.0.tar.bz2
tar -xvjf libnfc-1.8.0.tar.bz2
Next two steps depend on your reader and it's configuration of libnfc
-
Create PN532 configuration:
cd libnfc-1.8.0
sudo mkdir /etc/nfc
sudo mkdir /etc/nfc/devices.d
sudo cp contrib/libnfc/pn532_uart_on_rpi.conf.sample /etc/nfc/devices.d/pn532_uart_on_rpi.conf
sudo nano /etc/nfc/devices.d/pn532_uart_on_rpi.conf
-
Update the pn532_uart_on_rpi.conf:
allow_intrusive_scan = true
-
Install dependencies for building:
sudo apt-get install autoconf
sudo apt-get install libtool
sudo apt-get install libpcsclite-dev libusb-dev
autoreconf -vis
./configure --with-drivers=pn532_uart --sysconfdir=/etc --prefix=/usr
-
Build the library:
sudo make clean
sudo make install all
Running the code:
Clone the repo:
git clone https://github.com/xBlaz3kx/nfc-reader-go-example/
Install the libnfc, then run:
go run nfc-reader-example.go
or
go build nfc-reader-example.go && ./nfc-reader-example