من معتقدم همه از کارتخوان مغناطیسی استفاده کرده اند. منظورم این است که این روزها چه کسی پول نقد حمل می کند؟ به دست آوردن آنها نیز دشوار نیست، و در طول سفر به فروشگاه لوازم الکترونیکی محلی مورد علاقهام، سطلی پر از این افراد پیدا کردم. بنابراین….البته، یکی را برداشتم و به خانه آوردم تا ببینم چه کارهایی می توانم با آن و یک AVR انجام دهم. این دستورالعمل به شما نشان می دهد که چگونه یک کارت خوان مغناطیسی Magtek را به یک AVR یا Arduino/clone وصل کنید و خواندن داده ها از اولین آهنگ کارت. صندلی های خود را ببندید؛ کارت خوان های مغناطیسی نرخ بیت بالایی دارند!
مرحله 1: لیست تجهیزات
در اینجا چند چیز وجود دارد که برای شروع به آن نیاز دارید.
- کارت خوان مغناطیسی (من یک خواننده Magetk 90 میلی متری دو سر است. 5.00 دلار)
- AVR، آردوینو یا کلون (ATmega328p ~ 4.30 دلار از Mouser.com
- تخته نان بدون لحیم کاری
- مقداری سیم
- شاید یک هدر باشد اگر از این چیزها خوشتان می آید.
- چیزی برای خواندن پورت سریال شما من از ترمینال AVR از BattleDroids.net استفاده می کنم
این تمام چیزی است که برای شروع به آن نیاز دارید. بسته به magcard reader که در نهایت دریافت می کنید، ممکن است مجبور شوید این دستورالعمل ها و مطمئناً کد را تغییر دهید تا با خواننده خاص خود کار کنید. با این حال، من امیدوارم که کدی که من نوشتم، شما را تا حد زیادی به شما برساند.
مرحله 2: کارت خوان های مغناطیسی خود ساعت
کارتخوانهای مغناطیسی «خود زمانشونده» هستند، به این معنی که ساعتی به نام strobe ارائه میکنند که میکروکنترلر متصل میتواند با آن همگام شود. این یک موهبت است. این بدان معنی است که شما لازم نیست نگران جستجوی یک سیگنال ساعت و زمان بندی سیگنال باشید تا مستقیماً روی پالس ساعت متمرکز شود، و هیچ نوسان آزاردهنده ای در نقطه شیرین سیگنال ساعت وجود ندارد. وقتی به کشیدن کارت فکر میکنید، این موضوع منطقی است: همه با سرعت متفاوتی سوایپ میکنند، برخی آهستهتر، برخی سریعتر از دیگران. ساعت خود به خود حتی به مادربزرگ نازنین من این امکان را می دهد که از کارت خود بدون شکستن مچ استفاده کند. به من یادآوری میکند که باید تنظیماتی را برای او تغییر دهم که تعیین میکند بین کلیکها چقدر زمان برای ثبت یک کلیک دوبار معتبر است…. دادههای این کارتخوان قبل از قرار گرفتن بارق روی خط، 1.0 ما معتبر است، بنابراین هیچ نگرانی در مورد تأخیر وجود ندارد. تا خود را وارد «زمان بیت» کنید. برای یک خواننده هد دوگانه مانند آنچه که من استفاده می کنم، دو مسیر داده برای خواندن در دسترس است. در این «بله»، میخواهم خواندن از اولین آهنگ اولیه را نشان دهم تا شما را شروع کنم.
پنج اتصال وجود دارد که باید ایجاد کنید (چهار مورد اگر برایتان مهم نیست که کنترل دقیقتر تنظیمشده را برای استفاده از پورتهای ورودی/خروجی کمتر کنار بگذارید). تصویر زیر را بررسی کنید. سیم قرمز به +5V می رود در حالی که سیم سیاه به زمین می رود. سیم سبز /CARD_PRESENT است. سیم زرد /STROBE و سیم سفید /DATA1 است. اسلش رو به جلو ( / ) به این معنی است که داده ها معکوس شده اند. سیگنال کم (یعنی 0) به عنوان یک یا زیاد خوانده می شود. کانکتورهای دیگر برای STROBE2 / قهوه ای و برای /DATA2 نارنجی هستند. ما از اینها استفاده نخواهیم کرد
اگر می خواهید، می توانید /CARD_PRESENT را فراموش کنید. این خط داده پس از حدود 17 چرخش شار هد پایین میآید تا نشان دهد که یک کارت وجود دارد (بهعنوان مثال، نویز تصادفی که باعث میشود خواننده شما دادههای جعلی ارسال کند) و برای تأیید اینکه دادههایی که دریافت میکنید، دادههای کارت هستند و استفاده میشود. آشغال نیست. اگر نگهبان شروع را در جریان داده بررسی کنید، می توانید از این اتصال رد شوید. بیشتر در مورد آن بعدا.
همانطور که در زیر می بینید، من از یک هدر نر زاویه راست که به یک تخته نان متصل است استفاده کردم و خواننده خود را به آن متصل کردم. /STROBE را به PIND2 (پین دیجیتال 2 در آردوینو)، /CARD_PRESENT را به PIND3 (برای مصارف تصویری)، و /DATA1 را به PIND4 وصل کردم. مطمئن شوید که pullup ها را روی این پین ها فعال کرده اید تا پین های شما شناور نشوند. من همچنین آردوینو خود را با Bare Bones AVR عوض کردم زیرا نحوه قرار گرفتن آن در تخته نان را دوست دارم.
مرحله 3: مبانی کارت مغناطیسی
عملکردهای اولیه ای که برای خواندن کارت مغناطیسی باید انجام دهید عبارتند از:
1. تشخیص زمانی که کارت کشیده شده است
2. خواندن جریان داده ها
3. تشخیص زمانی که کارت رفته است
4. پردازش داده ها
5. نمایش داده اول، من شما را با برخی از اصول اولیه کارت مغناطیسی آشنا می کنم که هنگام شروع نوشتن کد خود باید بدانید.
استانداردهای کارت مغناطیسی
کارت های مغناطیسی توسط ISO در اسناد زیر استاندارد شده اند:
7810 مشخصات فیزیکی سند اندازه کارت اعتباری
7811-1 برجسته کردن
7811-2 نوار مغناطیسی – اجبار کم
7811-3 مکان نویسه های برجسته
7811-4 مکان آهنگ های 1 & 2
7811-5 موقعیت مسیر 3
7811-6 Magnetic اجبار
7813 کارت های تراکنش مالی