1. 程式人生 > >NFC學習筆記二——Libnfc簡介與安裝

NFC學習筆記二——Libnfc簡介與安裝

一直想把自己對過的英文文章做一下翻譯記錄下來,趁著學習NFC,現將libnfc首頁的對libnfc介紹和在不同作業系統上對libnfc安裝的文章做一下翻譯,一方面提高一下自己的英語,另一方面學習一下libnfc。

公共平臺獨立的近場通訊(NFC)庫

libnfc是GNU公共許可正下發布的第一個免費的底層的NFC開發包和程式設計API。它對任何人事完全免費和公開的。這個列表顯示了libnfc支援的功能。libnfc支援所有的主流作業系統,包括GNU/Linux、Mac OS X和windows。編譯環境應該基於POSIX系統核心。libnfc庫支援各種NFC硬體庫,如dongles、flat 和 OEM裝置等。libnfc當前支援ISO/IEC 14443協議A、B,Felica、Jewel/Topaz標籤和發起者和接收者的點對點資料交換。

下載

穩定版本

穩定版本可以從此下載

開發版本

注:如果你想支援所有的libnfc硬體啟動,則你還需要libusb庫和標頭檔案同時還需要*BSD和GNU/Linux作業系統以及libpcsclite庫和標頭檔案

在MaxOS、GNU/Linux、*BSD和部分POSIX系統下面,你可以用下面的命令編譯libnfc庫:

autoreconf -vis
./configure --enable-doc
make
sudo make install

生成文件則用下面的命令:

make doc

第三方包

Thomas Hood ——Ubuntu

Nobuhiro Iwamatsu、 Ludovic Rousseau——Debian

安裝

這個章節將描述每個平臺是如何安裝和使用libnfc庫的。由於一些依賴庫(libusb、PSCS-Lite)的使用,每個平臺的情況是不一樣的。

POSIX 系統

獲取編譯所需的所有依賴包以及標頭檔案:libsub、pcsc-lite,下載libnfc:

$ wget http://libnfc.googlecode.com/files/libnfc-x.x.x.tar.gz
$ tar -xvzf libnfc-x.x.x.tar.gz

配置和編譯:

$ cd libnfc-x.x.x
$ ./configure --prefix=/usr --sysconfdir=/etc
$ make

注:./configure的安裝目錄字首也可設定為/usr/local,sysconfidir可設定為$PREFIX/etc作為預設值。如果你想要其他的啟動配置,可以使用 --prefix和sysconfdir選項。

你必須要有執行時依賴庫:libusb、pcsc-lit(with pscsd)、libccid

插入NFC裝置,通過下面命令使用libnfc探測這個裝置:

$ libnfc/utils/nfc-scan-device -v
放置一個標籤,然後通過下面的命令顯示:
$ libnfc/utils/nfc-list
安裝libnfc:
$ sudo make install

Debian/Ubuntu

獲取所需的所有的依賴庫

 $ sudo apt-get install libusb-dev libpcsclite-dev
下載libnfc:
git clone https://code.google.com/p/libnfc/
cd libnfc
git checkout libnfc-1.7.1
git clean -d -f -x
#rm ../libnfc*.deb
git remote|grep -q anonscm||git remote add anonscm git://anonscm.debian.org/collab-maint/libnfc.git
git fetch anonscm
git checkout remotes/anonscm/master debian
git reset
dpkg-buildpackage -uc -us -b
獲取所需的執行時依賴庫
$ sudo apt-get install libusb-0.1-4 libpcsclite1 libccid pcscd
安裝libnfc
$ sudo dpkg -i ../libnfc*.deb
插入NFC裝置,放置一個標籤,測試安裝
$ nfc-list

FreeBSD

由Romain Tartiere提供的libnfc源,在此先對他進行感謝。

安裝源

 cd /usr/ports/devel/libnfc/ && make install clean
新增libnfc包
 pkg_add -r libnfc

Gentoo

感謝Mike Auty,libnfc在Gentoo上面有了一個簡易安裝的方法:

 $ emerge libnfc

Fedora 12+

感謝 Francois kooman,libnfc目前被包括在了Fedora 12+的分發包中。

使用命令號介面

 # yum install libnfc libnfc-devel libnfc-examples
libnfc-devel包含了開發的標頭檔案和庫,這些僅僅是編譯自己的程式所需的libnfc庫。

libnfc-examples包含了一些例子工具比如nfc-list。

使用畫圖工具

系統->管理員->新增刪除程式

搜尋libnfc然後選擇合適的安裝包

Mac OS X

安裝依賴包,需要湧動啊 MacPort下載管理 器,下載地址為:http://distfiles.macports.org/MacPorts/

安裝MacPorts可以通過這邊文章進行安裝:http://www.macports.org/install.php

安裝pkg-config:

 $ sudo port install pkgconfig
安裝glib:
 $ sudo port install glib
安裝libusb:
 $ sudo port install libusb
使用最近版本的OS X時,需要確定其是 x86_64的版本
 $ lipo -info /usr/local/lib/libusb.dylib
由於libnfc的MacPort不是實時更新的,所以需要根據手動安裝嚮導使用自動工具的方式進行編譯libnfc的編譯

Windows

Windows的安裝複雜一些,將在下篇文章中做翻譯。