جدول المحتويات:

المحفظة الإلكترونية: 3 خطوات
المحفظة الإلكترونية: 3 خطوات

فيديو: المحفظة الإلكترونية: 3 خطوات

فيديو: المحفظة الإلكترونية: 3 خطوات
فيديو: المحفظة الإلكترونية ..اعمل محفظة الكترونية لو معندكش حساب في البنك، اعرف مميزاتها وعيوبها 2024, شهر نوفمبر
Anonim
المحفظة الإلكترونية
المحفظة الإلكترونية

ملاحظة: لدي الآن Instructables التي تقدم كود Arduino لـ RC522 و PN532.

في رسالتي السابقة ، قمت بتفصيل أساسيات الاتصال بوحدتي MFRC522 و PN532 RFID لقراءة / كتابة البيانات من علامات Mifare Classic 1k. في هذا المنشور ، أخطو خطوة أخرى إلى الأمام وأظهر كيفية استخدام هذه الوحدات لإنشاء محفظة إلكترونية من العلامات. كما هو الحال مع الوظيفة السابقة ، يتم تقديم هذا كتطبيق أساسي ولكن يجب أن يوفر أساسًا لمجموعة متنوعة من التطبيقات التي تتطلب وظائف زيادة / إنقاص أو فرز.

الخطوة 1: سلامة البيانات

بالنسبة للمحفظة الإلكترونية ، هناك دائمًا قلق من أن شخصًا ما قد يضيف أرصدة دون دفع ثمنها. هناك أيضًا قلق من أن الاعتمادات الموجودة على العلامة قد تتلف دون قصد أثناء كتابة البيانات. تتطلب عمليات الوصول إلى البيانات استخدام مفتاح العلامة ، لذا من الضروري تغيير المفتاح الافتراضي عند تهيئة العلامة لأول مرة. هناك مقالات على الإنترنت تتحدث عن كيفية اختراق علامة حتى إذا كنت لا تعرف المفتاح ولكن التقنية ليست تافهة. لا أوصي باستخدام هذه العلامات لحسابك المصرفي ولكنها جيدة بما يكفي للعديد من التطبيقات الأقل خطورة.

يعد احتمال تلف البيانات ضئيلًا نسبيًا ولكن يجب أن يكون البرنامج قادرًا على التعامل مع الحالة الأساسية على الأقل. تتضمن هذه العملية خطوتين مع الخطوة الأولى لاكتشاف التلف ببساطة. في هذا المشروع الذي يتم التعامل معه عن طريق تخزين كل من قيمة الائتمان بالإضافة إلى تكملة 1 لقيمة الائتمان. يسمح ذلك بمقارنة بسيطة للقيم. الخطوة الثانية هي تخزين نسخة احتياطية لكل من قيمة الائتمان ومكملتها. يسمح ذلك بعملية الاسترداد في حالة تلف المجموعة الأولى من الائتمانات. في حالة تلف كلتا المجموعتين ، يحاول البرنامج إعادة تهيئة العلامة مما يؤدي إلى فقدان جميع الائتمانات.

الخطوة 2: الأجهزة

المعدات
المعدات

يتم عرض توصيلات الأجهزة في الرسم التخطيطي أعلاه. هذا هو نفس إعداد الوظيفة السابقة مع إضافة مفتاحين ومقاوم سحب. لا يتطلب أحد المفاتيح مقاومًا للسحب لأنه موجود على إدخال PIC الذي يحتوي على قدرة سحب ضعيفة مضمنة. وعمليًا ، سيكون كلا المفتاحين مخفيين لأنهما يُستخدمان لإضافة أرصدة وتهيئة علامة. يعد مفتاح التهيئة اختياريًا (لإجراء التصفير اليدوي للائتمان) لأن البرنامج يمكنه اكتشاف علامة جديدة وتهيئتها من تلقاء نفسه. يمكن استخدام دبابيس العبور بدلاً من المفاتيح.

الخطوة الثالثة: البرمجيات

تم إجراء إضافات إلى الحلقة الرئيسية في البرنامج للسماح بقراءة مفتاحي التبديل واكتشاف حالة تتطلب تهيئة العلامة. كما هو مذكور في قسم الأجهزة ، يمكن الأمر يدويًا بتهيئة العلامة باستخدام مفتاح. يمكن للبرنامج أيضًا الأمر بتهيئة العلامة في حالتين أخريين. أولاً ، إذا اكتشف علامة جديدة أو قطاع بيانات وثانيًا ، في حالة تلف مجموعتي بيانات الائتمان.

تتطلب مصادقة العلامات استخدام "المفتاح أ" لقطاع البيانات الهدف. المفتاح الافتراضي لعلامات Mifare Classic 1k هو "FF FF FF FF FF FF" ولكن يجب تغييره لتطبيقك. يوفر البرنامج تعريفات لكل من المفتاح الافتراضي والمفتاح الجديد ("My_Key"). فقط أدخل أي قيم تريدها في "My_Key". يحاول البرنامج دائمًا مصادقة العلامة أولاً باستخدام "My_Key". إذا فشل ذلك ، فسيتم استدعاء روتين تهيئة العلامة ويتم استخدام المفتاح الافتراضي للمصادقة. يغير روتين التهيئة المفتاح إلى "My_Key" ويضبط الائتمانات على صفر. إذا كانت لديك علامة بمفتاح غير افتراضي ولا تعرف ما هي ، فلا يمكن إذن مصادقة العلامة. إذا حدث هذا ، فقد ترغب في التحقق من قطاعات البيانات الأخرى باستخدام المفتاح الافتراضي لمعرفة ما إذا كان أحدها متاحًا. يتم تحديد كل من كتلة Trailer و Data block و Backup في بداية قائمة البرامج حتى تتمكن من تغييرها بسهولة.

يستخدم تنسيق البيانات المخزنة في العلامة الخاصة بهذا التطبيق أرقامًا موجبة فقط (لا يُسمح بالعجز) ويتم تخزين القيم كأربعة بايت من BCD المعبأ (Binary Coded Decimal). يسمح ذلك بنطاق ائتمان من 0 إلى 99 ، 999 ، 999 (رقمان لكل بايت). تستخدم قيمة الائتمان ومكمله 1 فقط 8 من 16 بايت في كتلة بيانات واحدة والباقي مبطن بالأصفار. توجد مساحة في نفس كتلة البيانات للنسخة الاحتياطية ، لكنني قررت أنه سيكون من الأكثر أمانًا وضع النسخة الاحتياطية في كتلة بيانات منفصلة. توجد كتلة النسخ الاحتياطي في نفس القطاع مثل كتلة البيانات ، لذا لا يلزم المصادقة المنفصلة. لكي تكون أكثر أمانًا ، قد تفكر في وضع النسخة الاحتياطية في قطاع بيانات مختلف ولكن بعد ذلك ستكون هناك حاجة إلى خطوة مصادقة منفصلة للوصول إلى تلك البيانات.

عندما تتم قراءة الاعتمادات ، تتم أيضًا قراءة القيمة التكميلية ثم تتم مقارنة الاثنين مع بعضهما البعض. إذا كان هناك عدم تطابق ، فستتم قراءة مجموعة النسخ الاحتياطية من القيمة / المكمل ومقارنتها. إذا كانت متطابقة ، فمن المفترض أن تكون النسخة الاحتياطية صحيحة وتستخدم لإصلاح البيانات التالفة. إذا كانت النسخ الاحتياطية غير متطابقة ، فسيتم اعتبار العلامة تالفة ويتم إجراء محاولة لإعادة تهيئتها.

يتم تحديد قيم الزيادة والنقصان بالقرب من مقدمة القائمة ومن المتوقع أن تكون في BCD معبأة. الإجراءات التي تقوم بالتزايد والتناقص بشكل فعال تقوم بذلك على رقم 32 بت. الرياضيات بسيطة للغاية ولكنها تتطلب استخدام إجراءات لضبط النتائج للحمل داخل كل بايت BCD معبأ ومن بايت إلى آخر. يتم تحقيق ذلك عن طريق استخدام وحدات الماكرو DAA (إضافة الضبط العشري) و DAS (طرح الضبط العشري). تتأكد وحدات الماكرو هذه من أن كل رقم من 4 بت BCD يبقى دائمًا في نطاق 0-9.

بالإضافة إلى رسائل العرض في المنشور السابق ، يحتوي هذا التطبيق على رسائل للعديد من الخطوات الإضافية - خاصةً إذا كانت هناك أخطاء في البيانات و / أو كانت العلامة بحاجة إلى الإصلاح أو التهيئة. يتم عرض الاعتمادات أيضًا قبل وبعد خطوة الزيادة / الإنقاص حتى تتمكن من رؤية القيم تتغير.

هذا كل ما يخص هذا المنشور. تحقق من مشاريعي الإلكترونية الأخرى على: www.boomerrules.wordpress.com

موصى به: