ساخت یک محدوده امن (Safe Zone) برای دستگاه های اندروید، IOS و ویندوز

فهرست مطالب

مقدمه

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

آنچه در این آموزش یاد می‌گیرید

قفل کردن و باز کردن دستگاه ها

امروزه استفاده از دستگاه های هوشمند بسیار رایج شده و ما اطلاعات زیادی مانند چت ها، مخاطبین، عکس و … روی این دستگاه های هوشمند داریم و نیاز است تا این اطلاعات بصورت خصوصی نگهداری شوند که این موضوع مسئله بسیار مهمی است و شاید اصلی ترین دلیل برای قفل کردن دستگاه هایمان باشد. ابزارهای هوشمند روش های متفاوتی برای فقل شدن و باز شدن دارند اما بعضی اوقات این روش ها با ایجاد محدودیت هایی، گذر از بخش امنیتی برای باز شدن دستگاه را دشوار و خسته کننده می کنند، برای مثال وقتی در اتاقی تنها هستید دیگر نیازی به فعال بودن بخش امنیتی ندارید. ایده ما ساخت یک گجت کوچک برای اتصال به همه دستگاه هاست، هنگامی که می خواهید بدون نیاز به بخش امنیت به راحتی کار کنید، کافیست با اثر انگشت خود این کار را انجام دهید. وقتی گجت فعال است به دستگاه ها با بلوتوث متصل می شود و تا زمانی که در نزدیکی دستگاه بماند، قفل آنرا باز نگاه می دارد.

ماژول تشخیص اثر انگشت R301T

در این پروژه ما از سنسور R301T استفاده کردیم که برای تبادل اطلاعات با میکروکنترلرها نظیر آردوینو از ارتباط سریال استفاده می کند. ابتدا از سنسور اثر انگشت R301T بعنوان کاربر استفاده میکنیم و آنرا به پایه Tx و Rx آردینو متصل می کنیم. برای اتصال گجت به دستگاه ها از ماژول بلوتوث HC05 استفاده کردیم. حالا برای آردینو برنامه ای می نویسیم که وقتی کاربر با اثر انگشت خود، گجت را فعال کرد، بلوتوث روشن شود.

لوازمی که به آن احتیاج دارید

سخت افزارهای مورد نیاز

ماژول بلوتوث HC05 × 1
آردوینو Nano × 1
سنسور اثر انگشت R301T × 1
ال ای دی 4 پین RGB × 1

نرم افزارهای مورد نیاز

Arduino IDE

سیم بندی

کد

می بایست کتابخانه سنسور اثر انگشت را نصب کرده و سپس کد را روی برد خود آپلود کنید. اگر برای بار اول است که روی آردینو برنامه می ریزید، نگران نباشید و مراحل زیر را دنبال کنید:

  1. به آدرس www.arduino.cc/en/Main/Software رفته و نرم افزار IDE را متناسب با سیستم عامل خود دانلود و نصب کنید.
  2. نرم افزار Arduino IDE را اجرا کنید. تمام کد های پیش فرض را پاک کرده و کد زیر را به جای آن کپی کنید.
  3. برای نصب کتابخانه ها، از پنجره ی Sketch و بخش Include Library، گزینه ی Add .ZIP Library را انتخاب کنید و فایل های کتابخانه ای که دانلود کردید را انتخاب کنید.
  4. نوع آردوینو خود را از پنجره ی Tools و قسمت Board انتخاب کنید.
  5. پورتی که (COM) آردوینو به آن متصل است را در پنجره ی Tools انتخاب کنید.
  6. دکمه ی Upload (شکلی که شبیه فلش است) را بزنید تا کد شما روی آردوینو آپلود شود.
  7. شما با موفقیت کد خود را روی آردوینو ریختید.

کتابخانه سنسور اثر انگشت:

#include "Adafruit_Fingerprint.h"
#include "SoftwareSerial.h"
SoftwareSerial mySerial(2, 3);

Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);

int cc=0;
void setup()  
{
  Serial.begin(9600);
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
  delay(100);
  Serial.println("\n\nAdafruit finger detect test");

  // set the data rate for the sensor serial port
  finger.begin(57600);
  
  if (finger.verifyPassword()) {
    Serial.println("Found fingerprint sensor!");
  } else {
    Serial.println("Did not find fingerprint sensor :(");
    while (1) { delay(1); }

    pinMode(13,OUTPUT);
    digitalWrite(13,LOW);
    pinMode(9,OUTPUT);
    digitalWrite(9,HIGH);
  }

  finger.getTemplateCount();
  Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates");
  Serial.println("Waiting for valid finger...");
}

void loop()                     // run over and over again
{
  getFingerprintIDez();
  delay(50);            //don't ned to run this at full speed.
}

uint8_t getFingerprintID() {
  uint8_t p = finger.getImage();
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image taken");
      break;
    case FINGERPRINT_NOFINGER:
      Serial.println("No finger detected");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_IMAGEFAIL:
      Serial.println("Imaging error");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }

  // OK success!

  p = finger.image2Tz();
  switch (p) {
    case FINGERPRINT_OK:
      Serial.println("Image converted");
      break;
    case FINGERPRINT_IMAGEMESS:
      Serial.println("Image too messy");
      return p;
    case FINGERPRINT_PACKETRECIEVEERR:
      Serial.println("Communication error");
      return p;
    case FINGERPRINT_FEATUREFAIL:
      Serial.println("Could not find fingerprint features");
      return p;
    case FINGERPRINT_INVALIDIMAGE:
      Serial.println("Could not find fingerprint features");
      return p;
    default:
      Serial.println("Unknown error");
      return p;
  }
  
  // OK converted!
  p = finger.fingerFastSearch();
  if (p == FINGERPRINT_OK) {
    Serial.println("Found a print match!");
  } else if (p == FINGERPRINT_PACKETRECIEVEERR) {
    Serial.println("Communication error");
    return p;
  } else if (p == FINGERPRINT_NOTFOUND) {
    Serial.println("Did not find a match");
    return p;
  } else {
    Serial.println("Unknown error");
    return p;
  }   
  

  // found a match!
  Serial.print("Found ID #"); 
  Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); 
  Serial.println(finger.confidence); 
  for (int i=255;i>1;i--)
{analogWrite(9,i); delay(10);}
  if (cc%2==0)digitalWrite(13,HIGH);
  else digitalWrite(13,LOW);
  cc++;
  return finger.fingerID;
}

// returns -1 if failed, otherwise returns ID #
int getFingerprintIDez() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.image2Tz();
  if (p != FINGERPRINT_OK)  return -1;

  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK)  return -1;
  
  // found a match!
  Serial.print("Found ID #"); Serial.print(finger.fingerID); 
  Serial.print(" with confidence of "); Serial.println(finger.confidence);
  return finger.fingerID; 
}

سرهم بندی

ابتدا، می بایست اتصال ماژول بلوتوث را به دستگاه خود برقرار کنید. برای اتصال به ویندوز 10 به بخش تنظیمات رفته و کلمه sign-in options را جتسجو کرده و dynamic lock را فعال کنید و ماژول بلوتوث خود را از آنجا متصل کنید. برای تلفن های همراه اندرویدی به منوی تنظیمات و بخش Display و سپس به Lock screen رفته سپس قفل هوشمند را در آنجا فعال کنید. برای سیستم عامل IOS به بخش تنظیمات رفته و Touch ID و Passcode را وارد کرده و اتصال را برقرار کنید.

اگر دستگاه شما به صورت خودکار متصل نشد، هنگام تلاش برای اتصال اولیه یک کاراکتر به دستگاه ارسال کنید.

یک گام جلوتر

  • سعی کنید گجت خود را حساس به موقعیت مکانی کنید.
  • سعی کنید همان دسترسی محدود را برای کاربری دیگر نیز فراهم کنید.

از این مطلب خوشتان آمد؟

آخرین مطالت و آموزش ها را در ایمیلتان دریافت کنید:

مطالب بیشتر

Comments (2)

  • مصطفی Reply

    سلام.آیا میتوان از همین شیوه برای باز شدن در خانه استفاده کرد؟اگر نه مقاله ای در این باره دارید لینکش را بگذارین…ممنونم از سایتتونح

    آگوست 3, 2023 at 5:45 ق.ظ
    • محمد دمیرچی Reply

      با سلام
      از این روش یا روش های دیگر نیز می توانید استفاده کنید ولی امنیت منزل خود را کاهش میدهید.
      چون در صورتی که سیستم دچار مشکل شود درب شما باز می شود.

      آگوست 5, 2023 at 12:12 ب.ظ

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

نشانی ایمیل شما منتشر نخواهد شد.