*-
* Free/Libre Near Field Communication (NFC) library
*
* Libnfc historical contributors:
* Copyright (C) 2009 Roel Verdult
* Copyright (C) 2009-2015 Romuald Conty
* Copyright (C) 2010-2012 Romain Tartière
* Copyright (C) 2010-2013 Philippe Teuwen
* Copyright (C) 2012-2013 Ludovic Rousseau
* Additional contributors:
* See AUTHORS file
-*
libnfc هي مكتبة تسمح لتطبيقات مساحة المستخدمين بالوصول إلى أجهزة NFC.
الموقع الرسمي هو: http://www.nfc-tools.org/
الموقع الرسمي للمنتدى هو: http://www.libnfc.org/community/
موقع التطوير الرسمي هو: https://github.com/nfc-tools/libnfc
ملاحظة هامة: يغطي هذا الملف أنظمة POSIX، بالنسبة لنظام التشغيل Windows، يرجى قراءة README-Windows.md
تعتمد بعض برامج تشغيل NFC على برامج الطرف الثالث:
pn53x_usb وacr122_usb:
acr122_pcsc:
قطع:
تعتمد مجموعة اختبار الانحدار على إطار عمل القاطع: http://cutter.sf.net
ملاحظة: إذا كنت تعمل مباشرة من نسخة git للمستودع، فيجب إنشاء بعض الملفات أولاً. للقيام بذلك، قم بتشغيل autoreconf -vis
بدلاً من ذلك، استخدم إصدار .tar.bz2 من الإصدار المعبأ (الذي يحتوي بالفعل على ./configure): https://github.com/nfc-tools/libnfc/releases/
يجب أن يكون البناء بسيطًا مثل تشغيل هذه الأوامر:
./configure
make
للإنشاء باستخدام برامج تشغيل محددة، راجع الخيار --with-drivers=...
المفصل في ./configure --help
.
make install
قد تحتاج إلى منح أذونات للمستخدم لقيادة جهازك. ضمن أنظمة GNU/Linux، إذا كنت تستخدم udev، فيمكنك استخدام قواعد udev المتوفرة. على سبيل المثال تحت Debian وUbuntu وما إلى ذلك.
sudo cp contrib/udev/93-pn53x.rules /lib/udev/rules.d/
ضمن FreeBSD، إذا كنت تستخدم devd، يوجد أيضًا ملف قواعد: contrib/devd/pn53x.conf.
من أجل تغيير السلوك الافتراضي للمكتبة، يستخدم libnfc ملف تكوين موجود في sysconfdir (كما هو منصوص عليه في ./configure).
يتوفر نموذج للملف المعلق في المصادر: libnfc.conf.sample
إذا قمت بالتجميع باستخدام:
./configure --prefix=/usr --sysconfdir=/etc
يمكنك إنشاء دليل التكوين ونسخ الملف النموذجي:
sudo mkdir /etc/nfc
sudo cp libnfc.conf.sample /etc/nfc/libnfc.conf
لتكوين أجهزة متعددة، يمكنك إما تعديل libnfc.conf أو إنشاء ملف لكل جهاز في دليل nfc/devices.d:
sudo mkdir -p /etc/nfc/devices.d
printf 'name = "My first device"nconnstring = "pn532_uart:/dev/ttyACM0"n' | sudo tee /etc/nfc/devices.d/first.conf
printf 'name = "My second device"nconnstring = "pn532_uart:/dev/ttyACM1"n' | sudo tee /etc/nfc/devices.d/second.conf
يمكنك تجاوز بعض خيارات التكوين في وقت التشغيل باستخدام متغيرات البيئة التالية:
LIBNFC_DEFAULT_DEVICE=
: LIBNFC_DEFAULT_DEVICE=pn532_uart:/dev/ttyACM0
سيستخدم pn532 على /dev/ttyACM0 كجهاز افتراضيLIBNFC_DEVICE=
سوف يتجاهل جميع الأجهزة في ملفات التكوين ويستخدم فقط الجهاز المحدد في المتغيرLIBNFC_AUTO_SCAN=
يتجاوز خيار allow_autoscan
في ملف التكوينLIBNFC_INTRUSIVE_SCAN=
يتجاوز خيار allow_intrusive_scan
في ملف التكوينLIBNFC_LOG_LEVEL=<0|1|2|3>
يتجاوز خيار log_level
في ملف التكوين للحصول على سلسلة اتصال جهاز تم التعرف عليه، يمكنك استخدام nfc-scan-device
: LIBNFC_AUTO_SCAN=true nfc-scan-device
سيعرض أسماء وسلاسل جميع الأجهزة التي تم العثور عليها.
للإبلاغ عن خطأ، تفضل بزيارة https://github.com/nfc-tools/libnfc/issues واملأ نموذج الإبلاغ عن خطأ.
إذا كانت لديك أسئلة أو تعليقات، فنحن نشجعك على نشرها في مجتمع المطورين: http://www.libnfc.org/community
يرجى التأكد من تضمين:
نسخة libnfc
معلومات حول النظام الخاص بك. على سبيل المثال:
وأي شيء آخر تعتقد أنه ذو صلة.
تم تنشيط التتبع مع تصحيح الأخطاء.
قم بإعادة إنتاج الخطأ باستخدام التصحيح، على سبيل المثال إذا كان:
$ nfc-list -v
تشغيله على النحو التالي:
$ LIBNFC_LOG_LEVEL=3 nfc-list -v
كيفية إعادة إنتاج الخلل.
يرجى تضمين برنامج اختبار قصير يوضح السلوك.
وكحل أخير، يمكنك أيضًا توفير مؤشر لقطعة أكبر
من البرامج التي يمكن تنزيلها.
إذا كان الخطأ عبارة عن عطل، فسيتم طباعة النص الدقيق
عندما وقع الحادث.
قد تكون المعلومات الإضافية مثل تتبعات المكدس مفيدة، ولكن
ليس من الضروري.
يمكن نشر التصحيحات على https://github.com/nfc-tools/libnfc/issues
إذا أدى التصحيح إلى إصلاح خطأ ما، فمن الجيد عادةً تضمين كافة المعلومات الموضحة في "كيفية الإبلاغ عن الأخطاء".
إذا فشل libnfc في اكتشاف جهاز Touchatag أو ACR122 الخاص بك، فتأكد من تثبيت برنامج PCSC-lite daemon ( pcscd
) وتشغيله.
إذا فشل برنامج PCSC-lite في اكتشاف جهاز Touchatag أو ACR122 الخاص بك (لا يرى pcsc_scan
أي شيء)، فحاول إزالة اكتشاف البرامج الثابتة الزائف لـ libccid: قم بتحرير ملف التكوين libccid_Info.plist (عادةً /etc/libccid_Info.plist
) وحدد موقع
، قم بتحويل قيمة
إلى 0x0004
للسماح للأجهزة الزائفة وإعادة تشغيل البرنامج الخفي pcscd.
يحتاج استخدام جهاز ACR122 مع libnfc وبدون علامة (على سبيل المثال لاستخدام أوضاع NFCIP أو محاكاة البطاقة) إلى تعديل PCSC-lite آخر: تحتاج إلى السماح باستخدام أمر CCID Exchange. للقيام بذلك، قم بتحرير ملف التكوين libccid_Info.plist
(عادةً /etc/libccid_Info.plist
) وحدد موقع
، ثم حول قيمة
إلى 0x0001
للسماح بتبادل CCID أو 0x0005
للسماح تبادل CCID والأجهزة الزائفة (راجع الملاحظة السابقة) وأعد تشغيل البرنامج الخفي pcscd.
تحذير: إذا كنت تستخدم برامج تشغيل ACS CCID (accccid)، فإن ملف التكوين موجود في شيء مثل: /usr/lib/pcsc/drivers/ifd-acsccid.bundle/Contents/Info.plist
لا يمكن استخدام Libnfc بشكل متزامن مع برنامج التشغيل الخاص بـ PCSC لـ SCL3711. حلان ممكنان:
منذ الإصدار 3.1 من Linux kernel، يجب عدم تحميل عدد قليل من وحدات kernel لاستخدام libnfc: "nfc" و"pn533" و"pn533_usb". لمنع kernel من تحميل هذه الوحدات تلقائيًا، يمكنك إدراجها في القائمة السوداء في ملف modprobe conf. يتم توفير هذا الملف في أرشيف libnfc:
sudo cp contrib/linux/blacklist-libnfc.conf /etc/modprobe.d/blacklist-libnfc.conf
يمكن لـ Libnfc العمل مع برنامج التشغيل الخاص بـ PCSC لـ bR500 وR502، والذي يتوفر بالفعل في معظم إعدادات Linux. لتنشيط دعم PCSC: ./configure --with-drivers=pcsc
. القراء المعروفون بالعمل:
يتم دعم هذه القراء بواسطة CCID منذ الإصدار 1.4.25، تأكد من أن إصدار برنامج تشغيل CCID الخاص بك أعلى أو يساوي 1.4.25.
على نظام MacOS، يمكنك التحقق من إصدار CCID الخاص بك باستخدام الأمر التالي، وإذا لزم الأمر، يمكنك تثبيت أحدث برنامج تشغيل CCID من https://github.com/martinpaljak/osx-ccid-installer/releases
grep -A 1 CFBundleShortVersionString /usr/local/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/Info.plist
على Linux، يمكنك التحقق من إصدار CCID الخاص بك باستخدام الأمر التالي، وإذا لزم الأمر، يمكنك تثبيت أحدث برنامج تشغيل CCID من https://ccid.apdu.fr/
grep -A 1 CFBundleShortVersionString /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
FeliCa هي علامة تجارية مسجلة لشركة Sony Corporation. MIFARE هي علامة تجارية لشركة NXP Semiconductors. جوهرة توباز هي علامة تجارية لشركة Innovision Research & Technology. جميع العلامات التجارية الأخرى هي ملك لأصحابها.