RFID(MFRC522) İncelemesi Hakkında Kısa Kısa

Başlatan MrDarK, 01 Mayıs 2014, 18:17:30

MrDarK

01 Mayıs 2014, 18:17:30 Son düzenlenme: 02 Mayıs 2014, 12:51:50 MrDarK
Merhaba arkadaşlar ;

Bugün kısa kısa çok detaylara girmeden sizlere RFID ile ilgili bilinmeyen bazı şeylerden bahsetmek istiyorum.

Öncelikle konunun seviye olarak orta kısımlara hitap ettiğini söylemeliyim. Mifare kartlar ve onlara ait donanımlarla çalışma fırsatı buldum. Şimdilik bilgilerim RFID konusunda bu alana yakın.

Bu donanımlarla çalışmak isteyenlere Allah şimdiden sabır versin. Çünkü güvenlik gerekçesiyle birçok döküman parça parça farklı farklı kişiler tarafından ele alınmış ve genel anlamda gizli tutulmaya çalışılmış. Protokol fazla dallandırmamış ki kimse kırmaya çalışmasın güvenlik sağlam kalsın. Oda ne ? 2008 yılında bir üniversite tarafından Mifare standardının kırıldığını görebiliyoruz.

Buna rağmen birçok firma hala mifare gibi donanımların yeterli güvenlik sunduğunu biliyor ve projelerinde kullanabiliyorlar.

Gelelim kullanımına ;



Mifare bence en güzel en hızlı SPI ile kumanda edilir. MFRC522 takılı modülleri yurt dışında 5$'a türkiye içinde ise 20 TL gibi bir fiyata bulabilirsiniz.

Yurt içinden modülü temin ettik gelelim kodlamaya ; İnternette Arduino ile yazılmış çok güzel kodlar var. Veya ARM serisi chipler için geliştirilmiş Ansi kodlar mevcut. Arduino ile yazılmış bir kütüphaneyi kendi kullandığım işlemciye göre düzenleyip çalıştırdım. Gelelim internette pekte bilgi bulunmayan bazı konulara.





Öncelikle RF alana REQA denilen bir bilgi yolluyoruz. Eğer RF alan içinde bir mifare kart var ise bize cevap yolluyor. Ardından RF alana kartın seri numarasını öğrenmek için bir kod yolluyoruz. Kart seri numarasını gönderiyor. Ardından Anticollision (çarpışmama) RF alanda birden başka bir kart olmadığını teyit ettikten sonra Select denilen işlemi yapıyoruz.

Mifare Kart ile donanım şu noktada neredeyse hazır gibiler. Buradan sonra Sector Trailer denen alandan izin almamız gerekiyor.

RF alana bağlanmak istediğimiz sector trailerın key kodunu vs bilgileri yükleyip gönderiyoruz. Eğer gönderdiğimiz key bilgisi doğru ise RF kart onay veriyor ve kartın iznini aldığımı sectorunun istediğimiz bloğunu yaz sil azalt ve çoğalt işlemleri gerçekleştirebiliyoruz.

Şimdilik bu çetrefilli konudaki bilgileri burada sonlandırıyorum.

Kısa kısa soru cevap şeklinde ilerleyelim istiyorum. Ülkemizde bu çok yaygın kullanılan donanımın türkçe herhangi bir dökümanı olmayışı , kafalarda çok fazla soru işareti olması ve Picproje gibi bir sitede böyle bir dökümanın yıllarca kalmasını arzu ederek cümlelerime son veriyorum.

Arduino Kütüphane Linki : https://github.com/miguelbalboa/rfid

Fazlasıyla açıklamalı çok daha önerdiğim kütüphane linki : https://github.com/miguelbalboa/rfid/blob/master/MFRC522.cpp

Saygılarımla Efendim.
MrDarK
Picproje Eğitim Gönüllüleri ~ MrDarK

kantirici

teşekkürler hocam. Bende bu modülü almıştım ama iç uğraşmadım. Yazıdan sonra bi et atayım artık. Ayrıca arduino da aldı başını gitti. Ne arıyorsan bi kütüphanesi var.

MrDarK

Güzel bir alet fakat epey saç baş yoldurdu fakat artık iyi anlaşabiliyoruz. Forumda da epey bu konuda sıkıntı yaşayan olduğunu okumuştum. O yüzden kısa bir giriş manasında bu yazıyı yazdım bakalım hayırlısı :)
Picproje Eğitim Gönüllüleri ~ MrDarK

xoom

keşke CCS C veya C dili ile başlasaydınız :)

MrDarK

Arduino ile yazılmış olan bir kütüphaneyi zaten kendi kullandığımız işlemciye göre C diline uyarladım. CCS'e aynı kütüphaneyi uyarlamak oldukça basit olmalı.

Kendinizde yapabilirsiniz zaten Arduino yarım C sayılır bu kütüphanede hazır olan bir fonksiyon yok ki ? Kodları inceleyip korkmanızı gerektirecek birşey yok. C'ye oldukça uyumlu arduino
Picproje Eğitim Gönüllüleri ~ MrDarK

justice_for_all

ben arduino ile linkini verdiğiniz örneği yükledim ama kartın seri numarasını bi türlü öğrenemedim bu neden olur?artık kartın bozuk olduğunu düşünmeye başladım.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

MrDarK

Alıntı yapılan: justice_for_all - 13 Ekim 2014, 12:28:58
ben arduino ile linkini verdiğiniz örneği yükledim ama kartın seri numarasını bi türlü öğrenemedim bu neden olur?artık kartın bozuk olduğunu düşünmeye başladım.


Kullandığınız kart kitle beraber gelen kart beyaz şeffaf kart mı yoksa başka bir mifare plus veya diğer türlerinden olabilir mi ? Ben direk takıp çalıştırabilmiştim.
Picproje Eğitim Gönüllüleri ~ MrDarK

justice_for_all

kitle beraber gelen kart ayrıca anahtarlık şeklinde gelen vardı onuda denedim hocam onuda okuyamadım.
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

MrDarK

Alıntı yapılan: justice_for_all - 13 Ekim 2014, 13:20:34
kitle beraber gelen kart ayrıca anahtarlık şeklinde gelen vardı onuda denedim hocam onuda okuyamadım.


Bağlantılarınızda bir problem olmalı veya donanımda hata olabilir (düşükte olsa), en mantıklı ve doğru çözüm logic analyser ile akışa bakmak olacaktır. Yoksa birşey demek zor. Modulu yurt dışından mı almıştınız ?
Picproje Eğitim Gönüllüleri ~ MrDarK

justice_for_all

Bağlantılarım doğru bikaç kez kontrol ettim.Aliexpressten getirtmiştim.Modul 3.3 v ile çalışyor ben ardunio kartı 5 v ile besliyorum acaba SPI pinlerinide mi 3.3 volt ile vermem gerekti?
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

muhittin_kaplan

aynı durumu stm32 için bende yaşıyorum.
bende yurtdışından RC522 aldım.

justice_for_all

if (TM_MFRC522_Check(CardID) == MI_OK)

burdan geçemiyor benimki hocam.Ya sizinki
Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay

X-Fi

Bekleme süreleri önemli authenticate olma sırasındaki beklemeleri kontrol ediniz.
http://www.coskunergan.com/    (Yürümekle varılmaz, lakin varanlar yürüyenlerdir.)

muhittin_kaplan

Alıntı yapılan: justice_for_all - 13 Ekim 2014, 14:19:00
if (TM_MFRC522_Check(CardID) == MI_OK)

burdan geçemiyor benimki hocam.Ya sizinki

aynen, bugün lojik ile kontrol edeceğim artık.

justice_for_all

Deneyip de başaramayanları değil, yalnızca denemeye bile kalkışmayanları yargıla.   Gökhan Arslanbay