Arduinonuzu Şifreleyin

2
4024

Merhaba arkadaşlar. Bu dersimizde arduino kullanarak yaptığımız bir projeyi bilgisayardan şifre girerek nasıl başlatabileceğinizi anlatacağım.

Bunu bilgisayarınız açılırken girilen şifre gibi düşünebilirsiniz. Arduinonuz size bir şifre soracak eğer, şifre doğru ise çalışmaya başlayacaktır.

Şifre gönderimi serial monitör tarafından olacaktır. Herkesin en başta analog deger okumak için kullandiği ekranla biz bu sefer arduinoya değer göndereceğiz. Eğer gönderdiğimiz değer önceden belirlediğimiz değerle eşleşirse kod bizim asıl projemizin döngüsüne girecektir.

void setup() {
   pinMode(13, OUTPUT);
   digitalWrite(13, LOW);
   Serial.begin(9600);
   Serial.println("Merhaba!");
   delay(1000);
   Serial.println("Lutfen sifreyi giriniz");
 }

 void loop()  {
   start:
   const char pas = 'makerrobotistan';

     if (Serial.read() == pas) {
         Serial.println("giris yapildi");          
         delay(1000);
         digitalWrite(13, HIGH);
         goto start;
     }
   }

Kod kısacası serial giriş daha önce belirlenmiş değişkene eşit olursa if’in içine girip led yakar. Siz bunu kendi projenize uyarlarsanız if’in içine While(1) gibi bir döngü yazarak şifre girildiğinde programınızı başlatabilirsiniz.

Bu koda alternetif olarak arduinonun kendi password kütüphanesi vardır.

#include <Password.h>
Password password = Password( "1234" );
void setup(){
Serial.begin(9600);
password.append('1');//Parola tahminine 1 ekle
password.append('2');//Parola tahminine 2 ekle
password.append('3');//Parola tahminine 3 ekle
password.append('4');//Parola tahminine 4 ekle

Serial.println( password.evaluate()?"true":"false" ); //1234 == 1234 oldugu için true yazdirmali

password.reset(); //parolayı sifirlar

Serial.println( password.evaluate()?"true":"false" );  // 1234 != NULL oldugu için false yazar
password.set("qwerty"); //sifreyi qwerty yapar
Serial.println( password.is("qwerty")?"true":"false" ); //qwerty == qwerty oldugu için true yazdirmali


Serial.println( password.is("qwirty")?"true":"false" ); // qwerty != qwirty oldugu için false yazar
}

void loop(){/*asil kod*/}

 

Not: Şifre girilirken serial haberleşme kullanıldığı için arduinonuzun üstündeki rx tx pinlerini kullanırken dikkatli olmanız gerekir.

Ödev: “Sikuli Nedir” yazısını okuyarak, şifrelediğiniz arduinonun şifresini kırmaya çalışın. Kırdıktan sonra sikuli yazısının yorum atarsanız herkes birbirinin yöntemini inceler. Birkaç katılımdan sonra ben de kendiminkini atacağım.

2 Yorumlar

CEVAP VER