دليل مستخدم قارئ/كاتب البطاقات MSR605
مرحبًا بكم في دليل مستخدم قارئ/كاتب البطاقات MSR605! سيساعدك هذا المستند على البدء في استخدام التطبيق لقراءة وكتابة البطاقات الممغنطة.
جدول المحتويات
- التثبيت
- البدء
- قراءة البطاقات
- كتابة البطاقات
- التكوين
- استكشاف الأخطاء وإصلاحها
التثبيت
ويندوز
- حمل أحدث إصدار من المثبت من صفحة الإصدارات
- شغل المثبت واتبع التعليمات الظاهرة على الشاشة
- صل جهاز MSR605 بأحد منافذ USB المتاحة
- شغل التطبيق من قائمة ابدأ أو اختصار سطح المكتب
لينكس/ماك
- تأكد من تثبيت Python 3.8 أو أحدث
- قم بتثبيت المتطلبات:
pip install -r requirements.txt
- شغل التطبيق:
البدء
توصيل الجهاز
- صل جهاز MSR605 بجهاز الكمبيوتر باستخدام كابل USB
- يجب على التطبيق اكتشاف الجهاز تلقائيًا
- سيظهر شريط الحالة “تم الاتصال بالجهاز” عند نجاح الاتصال
الواجهة الرئيسية
- عرض بيانات البطاقة: يعرض البيانات المقروءة من البطاقة
- تحديد المسار: اختر المسارات للقراءة/الكتابة (1، 2، و/أو 3)
- أزرار الإجراءات: قراءة، كتابة، ومسح
- شريط الحالة: يعرض حالة الاتصال ونتائج العمليات
قراءة البطاقات
- أدخل البطاقة الممغنطة في القارئ
- اضغط على زر “قراءة”
- ستظهر بيانات البطاقة في النافذة الرئيسية
- لحفظ البيانات، اضغط على “ملف” > “حفظ باسم…”
كتابة البطاقات
- أدخل بطاقة قابلة للكتابة في الجهاز
- أدخل أو الصق البيانات التي تريد كتابتها في حقول المسارات المناسبة
- حدد المسارات التي تريد الكتابة عليها
- اضغط على زر “كتابة”
- سيظهر شريط الحالة نتيجة العملية
تنسيقات البطاقات المدعومة
يدعم التطبيق معيارين رئيسيين للبطاقات الممغنطة: ISO 7811 و ISO 7813.
ISO 7811
المعيار الدولي لبطاقات الهوية ذات الشريط المغناطيسي:
- المسار 1: بيانات أبجدية رقمية (حتى 79 حرفًا)
- التنسيق:
%[كود التنسيق][رقم الحساب الرئيسي]^[الاسم]^[تاريخ الانتهاء][كود الخدمة][بيانات اختيارية]؟
- مثال:
%B1234567890123456^CARDHOLDER/NAME^24011234567890123456789?
- المسار 2: بيانات رقمية (حتى 40 حرفًا)
- التنسيق:
؛[رقم الحساب الرئيسي]=[تاريخ الانتهاء][كود الخدمة][بيانات اختيارية]؟
- مثال:
؛1234567890123456=24011234567890123456?
ISO 7813
مجموعة فرعية من ISO 7811 للبطاقات المالية:
- المسار 1: تنسيق صارم
- يجب أن يكون كود التنسيق ‘B’ (بنكي)
- أطوال حقول ثابتة
- مثال:
%B1234567890123456^CARDHOLDER/NAME^24011234567890123456789?
اختيار التنسيق
- انتقل إلى الإعدادات > تنسيق البطاقة
- اختر:
- اكتشاف تلقائي (افتراضي)
- ISO 7811: للبطاقات العامة
- ISO 7813: للبطاقات المالية
- اضغط تطبيق
التكوين
إعدادات الجهاز
- سرعة البت: ضبط سرعة الاتصال (افتراضي: 9600)
- التكافؤ: تعيين التكافؤ (لا شيء، زوجي، فردي، علامة، مسافة)
- بتات البيانات: عدد بتات البيانات (افتراضي: 8)
- بتات التوقف: عدد بتات التوقف (افتراضي: 1)
إعدادات التطبيق
- الكشف التلقائي عن الجهاز: تمكين/تعطيل الكشف التلقائي
- بدء التطبيق مصغرًا: بدء التطبيق مصغرًا في شريط المهام
- حفظ السجلات: تمكين تسجيل العمليات في ملف
استكشاف الأخطاء وإصلاحها
مشاكل شائعة
لم يتم العثور على الجهاز
- تأكد من توصيل الجهاز بشكل صحيح بمنفذ USB
- جرب منفذ USB آخر
- تحقق من ظهور الجهاز في مدير الأجهزة
- أعد تشغيل التطبيق
فشل القراءة/الكتابة
- تأكد من إدخال البطاقة بشكل صحيح
- نظف الشريط المغناطيسي للبطاقة
- تحقق من عدم حماية البطاقة من الكتابة
- تأكد من تطابق تنسيق البطاقة
تعطل التطبيق
- تأكد من تثبيت أحدث إصدار
- تحقق من ملف السجل للعثور على الأخطاء
- جرب إعادة تثبيت التطبيق
وثائق واجهة برمجة التطبيقات MSR605
الوحدات الأساسية
msr605
الوحدة الرئيسية التي تحتوي على الوظائف الأساسية.
صنف MSR605
class MSR605:
def __init__(self, port=None, baudrate=9600, timeout=1):
"""تهيئة الاتصال بجهاز MSR605.
المعاملات:
port (str, اختياري): اسم المنفذ التسلسلي. إذا كان None،
سيتم محاولة الكشف التلقائي.
baudrate (int, اختياري): سرعة البت. الافتراضي 9600.
timeout (int, اختياري): وقت انتهاء القراءة بالثواني. الافتراضي 1.
"""
pass
def connect(self):
"""إنشاء اتصال بالجهاز."""
pass
def disconnect(self):
"""إغلاق الاتصال بالجهاز."""
pass
def is_connected(self):
"""التحقق من اتصال الجهاز.
الإرجاع:
bool: True إذا كان متصلاً، وإلا False.
"""
pass
أمثلة الاستخدام
قراءة بطاقة
from msr605 import MSR605
try:
# التهيئة مع الكشف التلقائي عن المنفذ
device = MSR605()
device.connect()
if device.is_connected():
# قراءة جميع المسارات
tracks = device.read_tracks()
# عرض البيانات
for i, track in enumerate(tracks, 1):
if track['data']:
print(f"المسار {i}: {track['data']}")
else:
print(f"المسار {i}: لا توجد بيانات")
device.disconnect()
except Exception as e:
print(f"خطأ: {str(e)}")
if 'device' in locals():
device.disconnect()
استكشاف أخطاء واجهة برمجة التطبيقات
خطأ: “الجهاز غير موجود”
- تحقق من اتصال الجهاز
- تأكد من تثبيت التعريفات بشكل صحيح
- تحقق من أذونات الوصول إلى المنفذ التسلسلي
- اتصل بدعم العملاء مع تفاصيل الخطأ