آموزش آردوینوآموزش الکترونیکپروژه الکترونیکپروژه های آردوینو

کلید امنیتی USB با ATtiny85 و آردوینو (ورود به ویندوز،ایمیل و…)

آیا از ورود دستی به ویندوز یا حساب های شبکه های اجتماعی خود خسته شده اید؟ در این شرایط داشتن دستگاهی به کوچکی یک فلش USB که با اتصال به رایانه به صورت خودکار وارد تمام حساب های شما میشود بسیار جالب و مفید خواهد بود.

خوب احتمالاً ، شما قبلاً در مورد کلیدهای امنیتی سخت افزاری موجود در بازار اطلاعات دارید ، اما آنها ارزان نیستند. در آموزش امروز ، ما می خواهیم یک سیستم ورود خودکار با استفاده از ATtiny85 و چند دکمه ایجاد کنیم. با استفاده از این ، فقط با فشار دادن یک دکمه می توانید مستقیماً وارد حساب کاربری ویندوز یا شبکه اجتماعی یا هر سایت دیگری شوید. همچنین می توانید با جایگزینی دکمه های فشار با سنسور اثر انگشت یا کارت های RFID ، این پروژه را ارتقا دهید تا امنیت بیشتری به دستگاه اضافه کنید. اگر به دنبال چیزی مشابه این پروژه آردوینو هستید ، می توانید پروژه ورود خودکار ویندوز با آردوینو و RFID را نیز بررسی کنید.

کافیست USB را به کامپیوتر خود متصل کنید و در هر صفحه ای نام کاربری خود را وارد کنید، سپس روی دکمه مورد نظر در برد بزنید تا خودش رمز را بنویسد.

مدار سیستم ورود خودکار با آردوینو

شماتیک مربوط به سیستم ورود خودکار با ATtiny85 در زیر آورده شده است:

برای یادگیری آردوینو (برنامه نویسی، ساخت ربات، ارتباط با اندروید) روی دوره آموزش آردوینو کلیک کنید.
برای یادگیری کامل الکترونیک روی دوره آموزش الکترونیک کلیک کنید.

مدار سیستم ورود خودکار با آردوینو

مدار فوق را می توان به دو قسمت تقسیم کرد. قسمت اول USB است و قسمت دوم دکمه های فشاری. پین های داده USB از طریق مقاومت های 47 اهم به PB3 و PB4 آی سی ATtiny85 متصل می شوند. R1 یک مقاومت پول آپ است که بین پایه های Vcc و PB3 این IC متصل است. سه دکمه فشاری به پین ​​های PB0 ، PB1 ، PB2  آی سی ATtiny85 متصل می شوند. هر سه دکمه فشاری با استفاده از مقاومت پول آپ 10K به بالا کشیده می شوند.

قطعات مورد نیاز

  • آی سی ATtiny85
  • فیش نری USB نوع A
  • 2 مقاومت 47 اهم
  • مقاومت 1 کیلو اهم
  • 4 مقاومت 10 کیلو اهم
  • دیود IN5819
  • 4 دکمه فشاری
قطعات مورد نیاز را از فروشگاه قطعات آیرنکس تهیه کنید.

توجه: برای برنامه نویسی با استفاده از USB ، لازم است یک بوت لودر را در ATtiny85 بارگذاری کنید. بنابراین آموزش قبلی ما را در مورد نحوه برنامه نویسی ATtiny85 IC از طریق USB دنبال کنید.

بعد از لحیم کاری تمام اجزای سازنده، برد ما چیزی شبیه به زیر خواهد بود:

مدار ورود اتوماتیک به ویندوز با Attine85

نصب درایور Digispark

برای برنامه نویسی ATtiny85 با استفاده از USB باید درایورهای Digispark را روی لپ تاپ خود نصب کنید ، در صورت نداشتن آنها می توانید آنها را با استفاده از این لینک دانلود کنید. سپس ، فایل zip را اکسترکت کرده و بر روی برنامه “DPinst64.exe” دوبار کلیک کنید تا درایورها نصب شود.

پس از نصب موفقیت آمیز درایورها ، برد ATtiny85 خود را به لپ تاپ متصل کنید. اکنون از Windows Manager به Device Manager بروید و دستگاه شما در لیست “libusb-win32 devices” به عنوان “Digispark Boot-loader” لیست می شود. اگر نمی توانید “libusb-win32 devices” را در Device Manager پیدا کنید ، به View بروید و روی “Show hidden Devices” کلیک کنید.

نصب درایور Digispark

پیکربندی Arduino IDE برای Attiny85

برای برنامه نویسی برد ATtiny85 با Arduino IDE ، ابتدا باید برد Digispark را به Arduino IDE اضافه کنیم. برای این کار به File > Preferences بروید و پیوند زیر را در Additional Boards Manager URLs اضافه کنید و روی “OK” کلیک کنید.

http://digistump.com/package_digistump_index.json

پیکربندی Arduino IDE برای Attiny85

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

پس از آن ، به Tools> Board> Board Manager بروید و ‘Digistump AVR’ را جستجو کنید و آخرین نسخه را نصب کنید.

نصب Digistump AVR

پس از نصب آن اکنون می توانید ورودی جدیدی را در لیست Board با عنوان ‘Digispark’ مشاهده کنید.

برنامه نویسی Attine85 با Arduino IDE

برنامه نویسی ATtiny85 برای سیستم ورود خودکار

پس از نصب درایورها و راه اندازی Arduino IDE ، اکنون قصد داریم برنامه ATtiny85 را برای ورود به Facebook ، Twitter و Gmail با استفاده از دکمه های فشاری برنامه نویسی کنیم. کد کامل در انتهای مطلب آورده شده است. در اینجا ما برخی از دستورات مهم کد را توضیح می دهیم.

کد را با فراخوانی کتابخانه ‘DigiKeyboard.h’ شروع میکنیم. کتابخانه DigiKeyboard آی سی ATtiny85 را قادر می سازد تا اطلاعات را با فشردن دکمه ها به کامپیوتر ارسال کند.

#include "DigiKeyboard.h"

سپس پایه های IC ATtiny85 را در جایی که دکمه های فشاری متصل هستند تعریف کنید. در اینجا نام این دکمه ها را فیس بوک ، ویندوز و جیمیل گذاشته ایم زیرا از این دکمه های فشاری برای ورود به فیس بوک ، ویندوز و جیمیل استفاده خواهد شد.

const int facebook = 2;
const int twitter = 1;
const int gmail = 0;

در داخل void setup، هر سه پایه دکمه فشاری را به عنوان ورودی تعریف میکنیم. در اینجا ما از سریال مانیتور استفاده نمیکنیم زیرا ATtiny85 از سریال مانیتور پشتیبانی نمیکند. بنابراین به جای استفاده از Serial.print() برای اشکال زدایی از DigiKeyboard.print() استفاده خواهیم کرد.

void setup() {
  pinMode (facebook, INPUT);
  pinMode (twitter, INPUT);
  pinMode (gmail, INPUT);
}

سپس در void loop ابتدا وضعیت دکمه ها را با استفاده از digitalRead() می خوانیم و سپس تابع  buttons() را فراخوانی میکنیم تا وضعیت دکمه ها را بررسی کنیم.

void loop() {
  fac_state  = digitalRead(facebook);
  twit_state  = digitalRead(twitter);
  gmail_state = digitalRead(gmail);
  buttons();
}

پس از خواندن حالت دکمه ، از تابع buttons() استفاده خواهیم کرد. این تابعی است که در آن ما دستورات ورود به سیستم عامل های مختلف را صادر می کنیم. در اینجا سه ​​شرط متفاوت برای سه دکمه فشاری وجود دارد. مثلا اگر دکمه فشاری متصل به PB2 از ATtiny85 در حالت LOW باشد، دستورات برای ورود به فیسبوک ارسال میشود.

if (fac_state == LOW){
  DigiKeyboard.delay(2000);
  DigiKeyboard.sendKeyStroke(0);
  DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
  DigiKeyboard.delay(600);
  DigiKeyboard.print("https://www.facebook.com/login/device-based/regular/login/?login_attempt=1");
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(5000);
  DigiKeyboard.print("Your Password");
  DigiKeyboard.sendKeyStroke(KEY_ENTER);
  DigiKeyboard.delay(5000);
  }

همین روند مشابه برای Gmail و Windows دنبال می شود.

تست سیستم ورود خودکار به ویندوز، فیسبوک و … با ATtiny85

هنگامی که اتصالات سخت افزار و بارگذاری کد را انجام دادید، وقت آن است که USB به کامپیوتر خود متصل کنید و با فشردن دکمه ها، وارد وبسایت مورد نظر خود شوید.

توجه: بارگذاری کد در ATtiny85 مشابه Arduino یا ESP نیست. برای بارگذاری کد ابتدا دکمه Upload را فشار دهید و منتظر بمانید تا Arduino IDE پیامی را با عنوان “Plugin device now” نمایش دهد و سپس ATtiny85 را وصل کنید.

تست سیستم ورود خودکار به ویندوز، فیسبوک و ... با ATtiny85

به این ترتیب می توانید از ATtiny85 به عنوان کلید امنیتی سخت افزار استفاده کنید. در زیر یک فیلم و کد کامل آورده شده است.

موارد موجود در فایل : سورس کامل

دانلود فایل های پروژه

برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید.

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام آیرنکس را دنبال کنید.

تصویر از محمد رحیمی

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید) سعی میکنم تمام نظرات را پاسخ دهم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *