Libnfc
(→Usage) |
|||
Line 152: | Line 152: | ||
For a list of projects using this library, see [[Related links]]. | For a list of projects using this library, see [[Related links]]. | ||
− | A few of them have their page on this wiki, check [[Category:Software]] | + | A few of them have their page on this wiki, check [[:Category:Software|Software category]] |
=Troubleshooting= | =Troubleshooting= |
Revision as of 17:49, 18 February 2013
Public platform independent Near Field Communication (NFC) library
libnfc is the first libre low level NFC SDK and Programmers API released under the GNU Lesser General Public License.
It provides complete transparency and royalty-free use for everyone.
This list shows the current supported features.
All major operating systems are supported, including GNU/Linux, Mac OS X and Windows. Compilation should work out of the box on POSIX-systems.
This library supports various NFC hardware devices: dongles, flat and OEM devices.
The library currently supports modulations for ISO/IEC 14443 A and B, FeliCa, Jewel/Topaz tags and Data Exchange Protocol (P2P) as target and as initiator.
Contents |
Download
Stable release
Stable releases can be found at libnfc download section.
Development version
You can fetch development version using libnfc git repository, more information at libnfc development site.
git clone https://code.google.com/p/libnfc/
Third party packages
- Thomas Hood maintains a PPA for Ubuntu.
- Debian RFP discussion.
Installation
The following sections describe per platform how to install and use libnfc.
Because some dependencies (e.g. libusb,PCSC-Lite) are used, the requirements per platform can differ.
POSIX systems
Manual installation
First make sure you have required compilation dependencies, ie. you will need headers from:
- libusb
- pcsc-lite
Download and extract libnfc archive
$ wget http://libnfc.googlecode.com/files/libnfc-x.x.x.tar.gz $ tar -xvzf libnfc-x.x.x.tar.gz
Configure and compile
$ cd libnfc-x.x.x $ ./configure $ make
Make sure you have required run-time dependencies.
- libusb
- pcsc-lite (with pcscd), libccid
Plug in NFC device, place a tag on it and test your compilation
$ src/nfc-list
Install libnfc into your system
$ make install
Note: ./configure have an installation path prefix set as /usr/local as default. Use --prefix option, if you want another setup (see ./configure --help).
Debian / Ubuntu
First make sure you have required compilation dependencies.
$ sudo apt-get install libusb-dev libpcsclite-dev
Download and extract libnfc archive
$ wget http://libnfc.googlecode.com/files/libnfc-x.x.x.tar.gz $ tar -xvzf libnfc-x.x.x.tar.gz
Build Debian package
$ cd libnfc-x.x.x $ svn checkout http://libnfc.googlecode.com/svn/tags/libnfc-x.x.x/debian $ dpkg-buildpackage -b -us -uc
Make sure you have required run-time dependencies.
$ sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
Install libnfc into your system
$ sudo dpkg -i ../libnfc*.deb
Plug in NFC device, place a tag on it and test your installation
$ nfc-list
FreeBSD
Romain Tartière contributed a FreeBSD port of libnfc, thanks to him.
- To install the port:
cd /usr/ports/devel/libnfc/ && make install clean
- To add the package:
pkg_add -r libnfc
Gentoo
Thanks to Mike Auty, libnfc have a ebuild to be easily installed on Gentoo using usual way:
$ emerge libnfc
Fedora 12+
Thanks to François Kooman, libnfc library is now included in Fedora 12+ distribution.
Using command line interface
# yum install libnfc libnfc-devel libnfc-examples
- libnfc-devel contains development headers and libraries, its only necessary if you want to
compile your own applications requiring libnfc
- libnfc-examples contains the example tools like nfc-list.
Using graphical tools
- System -> Administration -> Add/Remove Software
- Search for libnfc and select the appropriate packages for installation.
Mac OS X
For installing dependencies, MacPorts download manager is used (available at: http://distfiles.macports.org/MacPorts/)
Install MacPorts following instructions from http://www.macports.org/install.php
Install pkg-config:
$ sudo port install pkgconfig
Install glib:
$ sudo port install glib
Install glib:
$ sudo port install libusb
Make sure it's the x86_64 version (when on the latest OS X):
$ lipo -info /usr/local/lib/libusb.dylib
As the libnfc's MacPort is not up-to-date, now follow Manual installation instructions to compile libnfc using usual autotools way.
Warning: We have previously posted a link to darwinports .com, according to MacPorts project: they are an impostor / phishing site designed to get donations from unsuspecting users. Donations made to that site do not benefit MacPorts project and the instructions shown there for installing software are incorrect. To know more about this issue: http://trac.macports.org/wiki/DarwinPorts
Official MacPorts' site: http://www.macports.org/ If you are looking for how to use and install MacPorts, please visit: http://guide.macports.org/
Windows
See http://libnfc.googlecode.com/svn/trunk/README-Windows.txt
Usage
See Libnfc:quick start example how to create code using libnfc.
For a list of projects using this library, see Related links.
A few of them have their page on this wiki, check Software category
Troubleshooting
Having trouble? Check the FAQs and consult the Troubleshooting page.
ChangeLog
ChangeLog is directly available from libnfc's repository: https://code.google.com/p/libnfc/source/browse/ChangeLog
If you want more detailed change log, you can use the repository log: https://code.google.com/p/libnfc/source/list
Contribute
There are many ways to contribute to libnfc, including but not limited to:
- reporting issues on libnfc issues tracker
- providing patches on libnfc issues tracker or using nfc-tools developers discussion group