تطبيق احترافي بواجهة رسومية لإدارة قارئ ACR122U والبطاقات الذكية على نظام Linux (ويدعم Windows مع إعدادات إضافية). يدعم اللغتين العربية والإنجليزية، وتغيير اللغة يتم فورياً دون إعادة تشغيل.
- Python 3.10+
PyQt6pyscardpynputpytest(للاختبارات)- حزمة pcscd (على نظام Linux) أو خدمة Smart Card على Windows
للتثبيت على نظام Linux، قم بتنفيذ الأوامر التالية للحصول على المكتبات المساعدة:
sudo apt-get update
sudo apt-get install pcscd libpcsclite-dev pcsc-toolsثم قم بإنشاء بيئة افتراضية وتثبيت المتطلبات:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtعلى نظام Windows، فإن مكتبة pyscard تعتمد على خدمة Smart Card (PC/SC) المدمجة بالنظام. كل ما تحتاجه هو:
- تثبيت Python 3.10+ من موقع python.org
- فتح موجه الأوامر وتثبيت المتطلبات:
pip install -r requirements.txtبعد تثبيت المتطلبات المطلوبة وتوصيل القارئ بجهازك، نفذ الأمر التالي:
python acr122u_app/main.pyإذا لم يتم اكتشاف القارئ أو واجهتك مشاكل في الاتصال:
- القارئ غير مكتشف: انقر على زر "إعادة الفحص / Rescan" من تبويب الإعدادات.
- على نظام Linux: تأكد من أن خدمة البطاقات الذكية قيد التشغيل عبر تنفيذ الأمر:
sudo systemctl status pcscd. إذا لم تكن تعمل، قم بتشغيلها بواسطةsudo systemctl start pcscd. - على نظام Windows: تأكد من أن خدمة "Smart Card" قيد التشغيل التلقائي من خلال مدير الخدمات (
services.msc). - القارئ معلّق: قم بفصل كابل USB للقارئ وإعادة توصيله.
- تحقق من "سجل العمليات" (Log) أسفل الشاشة، فهو يعرض رسائل الأخطاء والاستثناءات بالتفصيل.
يحتوي المشروع على اختبارات وحدة مبنية باستخدام مكتبة pytest. لتشغيلها والتحقق من سلامة الأكواد:
cd acr122u_app
pytest tests/- اكتشاف القارئ والبطاقة بشكل تلقائي
- قراءة البيانات (الـ UID ومحتوى الذاكرة) مع عرض رسائل حالة ملوّنة.
- الكتابة على البطاقة مع التحذيرات اللازمة والتحقق من الإدخال (Hex بأطوال 4 أو 16 بايت).
- محاكاة لوحة المفاتيح لإدخال بيانات البطاقة تلقائيا.
- تبديل فوري بين العربية والإنجليزية (واجهات RTL/LTR).
- سجل كامل للعمليات.