فهرست مطالب:
تصویری: کیف پول الکترونیکی: 3 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
توجه: من در حال حاضر دارای دستورالعمل هایی هستم که کد Arduino را برای RC522 و PN532 ارائه می دهند.
در پست قبلی من اصول اولیه ارتباط با ماژول های RFID MFRC522 و PN532 برای خواندن/نوشتن داده ها از برچسب های Mifare Classic 1k را توضیح دادم. در این پست من یک قدم جلوتر می روم و نحوه استفاده از این ماژول ها را برای ایجاد کیف پول الکترونیکی از برچسب ها نشان می دهم. مانند پست قبلی ، این به عنوان یک پیاده سازی اساسی ارائه شده است ، اما باید زمینه ای برای انواع برنامه های کاربردی باشد که به توابع افزایش/کاهش یا شمارش نیاز دارند.
مرحله 1: یکپارچگی داده ها
برای کیف پول الکترونیکی همیشه این نگرانی وجود دارد که ممکن است شخصی بدون پرداخت هزینه به آنها اعتبار اضافه کند. همچنین این نگرانی وجود دارد که اعتبارات روی برچسب ممکن است در طول نوشتن داده ها به طور ناخواسته خراب شود. دسترسی به داده ها مستلزم استفاده از کلید برچسب است ، بنابراین لازم است که کلید پیش فرض را هنگام راه اندازی اولیه برچسب تغییر دهید. مقالاتی آنلاین وجود دارد که در مورد چگونگی هک کردن برچسب صحبت می کنند حتی اگر کلید را نمی دانید اما این تکنیک بی اهمیت نیست. من استفاده از این برچسب ها را برای حساب بانکی خود توصیه نمی کنم ، اما برای برنامه های کم ریسک به اندازه کافی خوب هستند.
احتمال خرابی داده ها نسبتاً کم است ، اما نرم افزار باید بتواند حداقل پرونده اصلی را اداره کند. این فرایند شامل دو مرحله است که در مرحله اول به سادگی فساد را تشخیص می دهیم. در این پروژه که با ذخیره ارزش اعتباری و همچنین مکمل 1 ارزش اعتباری اداره می شود. این امکان مقایسه ساده مقادیر را فراهم می کند. مرحله دوم ذخیره نسخه پشتیبان از ارزش اعتباری و مکمل آن است. در صورت خراب شدن اولین مجموعه اعتبارات ، عملیات بازیابی امکان پذیر است. اگر هر دو مجموعه خراب شده باشند ، نرم افزار سعی می کند برچسب را مجدداً راه اندازی کند که منجر به از دست دادن همه اعتبارات می شود.
مرحله 2: سخت افزار
اتصالات سخت افزاری در نمودار بالا نشان داده شده است. این همان تنظیمات پست قبلی با افزودن دو کلید و یک مقاومت کششی است. یک سوئیچ نیازی به مقاومت کششی ندارد زیرا روی ورودی PIC است که دارای قابلیت کشش ضعیفی است. در عمل هر دو سوئیچ پنهان می شوند زیرا برای افزودن اعتبار و برای راه اندازی اولیه یک برچسب استفاده می شوند. سوئیچ مقداردهی اختیاری است (برای انجام صفر کردن اعتبار دستی) زیرا نرم افزار می تواند یک برچسب جدید را به تنهایی شناسایی و راه اندازی کند. می توان از پین های بلوز به جای سوئیچ ها استفاده کرد.
مرحله 3: نرم افزار
افزودن حلقه اصلی در نرم افزار برای خواندن دو سوئیچ و تشخیص شرایطی که نیاز به راه اندازی برچسب دارد ، انجام شد. همانطور که در بخش سخت افزار ذکر شد ، راه اندازی اولیه برچسب را می توان به صورت دستی با یک سوئیچ فرمان داد. این نرم افزار همچنین می تواند دستور راه اندازی برچسب را در دو مورد دیگر انجام دهد. اول ، اگر یک برچسب یا بخش داده جدید را تشخیص دهد و دوم ، اگر هر دو مجموعه داده های اعتباری خراب شده باشند.
احراز هویت برچسب ها مستلزم استفاده از "کلید A" برای بخش داده هدف است. کلید پیش فرض برای برچسب های Mifare Classic 1k "FF FF FF FF FF FF" است اما باید برای برنامه شما تغییر کند. این نرم افزار برای هر دو کلید پیش فرض و کلید جدید ("My_Key") تعریف می کند. فقط مقادیر مورد نظر خود را در "My_Key" وصل کنید. نرم افزار همیشه سعی می کند ابتدا برچسب را با استفاده از "My_Key" احراز هویت کند. در صورت عدم موفقیت ، روال اولیه برای راه اندازی برچسب فراخوانی می شود و کلید پیش فرض برای احراز هویت استفاده می شود. روال راه اندازی اولیه کلید را به "My_Key" تغییر می دهد و اعتبارات را به صفر می رساند. اگر یک برچسب با کلید غیر پیش فرض دارید و نمی دانید چیست ، پس این برچسب نمی تواند احراز هویت شود. در این صورت ممکن است بخواهید سایر بخش های داده را با استفاده از کلید پیش فرض بررسی کنید تا ببینید آیا یکی از آنها در دسترس است یا خیر. بلوک های تریلر ، بلوک داده ها و بلوک های پشتیبان گیری همه در ابتدای لیست نرم افزار تعریف شده اند تا بتوانید آنها را به راحتی تغییر دهید.
قالب داده های ذخیره شده در برچسب برای این برنامه فقط از اعداد مثبت استفاده می کند (بدون نقص مجاز است) و مقادیر به عنوان چهار بایت بسته بندی شده BCD (اعشاری دودویی) ذخیره می شود. این اجازه می دهد تا محدوده اعتباری از 0 تا 99 ، 999 ، 999 (دو رقم در هر بایت). ارزش اعتباری و مکمل 1 آن فقط از 16 بایت 8 در یک بلوک داده استفاده می کند و مابقی با صفر پر می شود. در همان بلوک داده برای نسخه پشتیبان فضای کافی وجود دارد ، اما من تصمیم گرفتم که تهیه نسخه پشتیبان در یک بلوک داده جداگانه ایمن تر باشد. بلوک پشتیبان در همان بخش بلوک داده قرار دارد ، بنابراین احراز هویت جداگانه مورد نیاز نیست. برای ایمن تر شدن ، ممکن است پشتیبان گیری را در بخش داده های مختلف قرار دهید ، اما سپس برای دسترسی به آن داده ها یک مرحله احراز هویت جداگانه لازم است.
وقتی خواندن اعتبارات انجام می شود ، مقدار تکمیل شده نیز خوانده می شود و سپس این دو در مقابل یکدیگر مقایسه می شوند. در صورت عدم تطابق ، مجموعه پشتیبان ارزش/مکمل خوانده و مقایسه می شود. اگر آنها مطابقت داشته باشند ، فرض می شود که نسخه پشتیبان درست است و برای تعمیر داده های خراب استفاده می شود. اگر نسخه های پشتیبان مطابقت نداشته باشند ، برچسب بد تلقی می شود و سعی می شود دوباره راه اندازی شود.
مقادیر افزایش و کاهش در نزدیکی جلوی فهرست تعریف شده و انتظار می رود که در BCD بسته بندی شده باشد. روالهایی که افزایش و کاهش را به طور مثر انجام می دهند ، بر روی یک عدد 32 بیتی انجام می دهند. ریاضیات بسیار ساده است اما نیاز به استفاده از روالهای معمول برای تنظیم نتایج حامل ها در هر بایت BCD بسته بندی شده و از یک بایت به بعد دارد. این امر با استفاده از ماکروهای DAA (Decimal Adjust Add) و DAS (Decimal Adjust تفریق) انجام می شود. این ماکروها مطمئن می شوند که هر رقم 4 بیتی BCD همیشه در محدوده 0-9 باقی می ماند.
این برنامه علاوه بر پیام های نمایش داده شده در پست قبلی ، دارای پیام هایی برای بسیاری از مراحل اضافی است - به ویژه اگر خطاهای داده وجود داشته باشد و/یا برچسب باید ثابت یا راه اندازی شود. اعتبارات نیز قبل و بعد از یک مرحله افزایش/کاهش نمایش داده می شوند تا بتوانید تغییر مقادیر را مشاهده کنید.
همین برای این پست سایر پروژه های الکترونیکی من را در www.boomerrules.wordpress.com ببینید
توصیه شده:
RFID محافظت از کیف پول Tyvek: 7 مرحله
RFID Shielding a Tyvek Wallet: من حدود 6 سال است که از این نوع (مارک) کیف پول استفاده می کنم. وقتی این کیف پول خاص را پیدا کردم ، تصمیم گرفتم با استفاده از نوار آلومینیومی مقداری محافظ RFID به آن اضافه کنم. این نوار برای آب بندی مجاری گرمایش استفاده می شود ، زیرا دوام بیشتری نسبت به پارچه دارد
کیف پول اینترنت اشیا (کیف پول هوشمند با Firebeetle ESP32 ، Arduino IDE و Google Spreadsheet): 13 مرحله (همراه با تصاویر)
کیف پول اینترنت اشیا (کیف پول هوشمند با Firebeetle ESP32 ، Arduino IDE و Google Spreadsheet): جایزه اول در مسابقه Instructables Pocket-Sized!: اگر شما مقداری پول در ارزهای رمزنگاری شده سرمایه گذاری کرده اید ، احتمالاً می دانید که آنها بسیار فرار هستند. آنها یک شبه تغییر می کنند و شما هرگز نمی دانید که چقدر پول واقعی دارید
کیف تلفن Duck Tape با کیف پول: 3 مرحله (همراه با تصاویر)
کیف تلفن Duck Tape With Money Pouch: این دستورالعمل به شما نشان می دهد که چگونه یک قاب گوشی را کاملاً از نوار اردک با کیفی در پشت تهیه کنید که می تواند یک یا دو اسکناس را در خود جای دهد. سلب مسئولیت: اگر این گوشی را رها کنید ، این قاب محافظت کافی از گوشی شما نخواهد داشت. با این حال این مورد
ساخت کیف پول سخت افزاری Trezor Crypto خودم: 5 مرحله (همراه با تصاویر)
ساخت کیف پول سخت افزاری Trezor My Crysto: در این پروژه من در حال ساخت کیف پول سخت افزاری Trezor خودم ، با محوطه کامل هستم. این امکان وجود دارد زیرا Trezor منبع باز است ، بنابراین من از فایلهایی که آنها در github خود ارائه می دهند برای ساخت دستگاه خود با قیمت کمتر از 40 دلار استفاده کردم. چند نفر بودند
پایه کیف لمسی IPod به اندازه کیف پول: 5 مرحله
پایه IPod Touch به اندازه کیف پول: این بسیار عالی است … ممکن است فکر کنید که ناپایدار است ، اما بسیار پایدار است! این را می توانید در کیف پول خود داشته باشید تا بتوانید ببینید .. زنبورهای عسل؟ من نمی دانم lol برای تماشای فیلم ، نمایش تلویزیونی ، مرور اینترنت (در حالت افقی) …. اوه و Cover Flow! بنابراین