RFID Sistemleri

RFID Sistemleri

RFID sistemlerini etiket, okuyucu, anten, RF kuplajı, LF/HF/UHF, UID, RS232, anti-collision, middleware, veri tabanı ve güvenlik ekseninde; 2014 AKÜ BİDB kartlı geçiş staj deneyimimle birleştiren kapsamlı ders notu.

2014 yazında Afyon Kocatepe Üniversitesi Bilgi İşlem Daire Başkanlığı Yazılım Şubesi'ndeki stajım sırasında RFID okuyucular, seri haberleşme ve kartlı geçiş sistemleri üzerinde çalıştım. Kartın RF alanında okunmasından UID'nin uygulamaya ulaşmasına, veri tabanındaki yetki kontrolünden fiziksel geçiş kararına kadar bütün zinciri aynı sistem üzerinde izlemek, yazılım ile donanım arasındaki sınırı doğrudan görmemi sağladı.

RFID bu stajda benim için yalnız “radyo frekansıyla kart okuma” değildi. Bir kart okuyucudan çıkan ham verinin elektriksel arayüzden başlayıp uygulama ekranına, veri tabanına, yetkilendirme kararına ve sonunda fiziksel bir kapının açılıp kapanmasına kadar nasıl taşındığını doğrudan görüyordum. Bilgisayar Mühendisliği eğitimim sırasında yaptığım bu staj, yazılım ile fiziksel sistem arasındaki sınırı ilk kez bu kadar görünür hale getiren çalışmalarım arasındadır.

Stajda Promag MF7-20, PCR310 ve Verifone QX1000 gibi farklı okuyucularla çalıştım; RS232 bağlantısını, MAX232 tabanlı seviye dönüşümünü, seri port parametrelerini, STX/ETX sınırlarını, UID'nin byte düzenini, cihazın istek-cevap davranışını ve veri tabanı entegrasyonunu ayrı ayrı incelemek zorunda kaldım. Bir okuyucuda uzun süre yazılım ve bağlantı tarafını sorguladıktan sonra sorunun donanım arızası olduğunun ortaya çıkması, daha sonra kritik sistemlerde de kullanacağım bir alışkanlığı erken dönemde kazandırdı: hata hangi katmanda kanıtlanmadıysa o katman doğru varsayılmamalıdır.

Bu not RFID'yi yalnız kart ve okuyucudan oluşan bir çevre birimi olarak değil; RF fiziksel katmanı, protokol, cihaz sürücüsü/haberleşme, olay işleme, veri modeli, güvenlik ve fiziksel eylem zinciri olarak ele alır.


Ünite 1: RFID'ye sistem mühendisliği açısından giriş

RFID nedir?

RFID, radyo frekansı üzerinden bir nesnenin, kartın veya etiketin otomatik ve temassız biçimde tanımlanmasını sağlayan teknoloji ailesidir. En yalın akışta okuyucu bir RF alanı oluşturur veya sorgu gönderir; etiket kendi kimliğini ya da belleğindeki veriyi uygun protokolle geri iletir.

RFID'nin barkoda göre temel farkı yalnız “kablosuz olması” değildir. Uygulamaya göre:

  • doğrudan görüş hattı gerektirmeyebilir,
  • aynı alanda birden fazla etiketle çalışabilir,
  • etiket belleğine veri yazılabilir,
  • tanımlama olayı otomatikleştirilebilir,
  • fiziksel varlık ile yazılım kaydı sürekli ilişkilendirilebilir.

Bunun karşılığında RF ortamı, çakışma, istenmeyen okuma, mahremiyet, kimlik kopyalama ve okuyucu yerleşimi gibi yeni problemler ortaya çıkar.

RFID bir kimlik sistemi midir?

RFID çoğu zaman kimlik sisteminin algılama girişidir; kimlik ve yetkilendirme sisteminin tamamı değildir.

Örneğin bir kartın UID'si okunabilir, fakat şu iki ifade aynı değildir:

kart UID'si = 04A1B2C3

ve

bu kart, bu kullanıcıya aittir ve şu anda bu kapıdan geçmeye yetkilidir

İkinci ifade için kart kaydı, kullanıcı ilişkisi, durum, yetki, zaman ve gerekirse ek doğrulama gerekir.

Otomatik tanımlama zinciri

Bir RFID uygulamasını şu veri yolu üzerinden düşünmek yararlıdır:

fiziksel etiket
→ RF bağlantısı
→ okuyucu
→ cihaz protokolü
→ host haberleşmesi
→ ayrıştırma / normalizasyon
→ uygulama mantığı
→ veri tabanı
→ karar
→ kayıt / uyarı / fiziksel eylem

Stajdaki çalışmalarımın önemli kısmı tam olarak bu zincirin orta bölümündeydi: okuyucudan gelen veriyi güvenilir biçimde almak, UID'yi doğru temsile dönüştürmek, veri tabanındaki kayıtla ilişkilendirmek ve sonucu uygulama ya da fiziksel kontrol kararına dönüştürmek.


Ünite 2: RFID sisteminin temel bileşenleri

Etiket

RFID etiketi en azından bir anten/kuplaj elemanı ve kimlik ya da veri tutan elektronik yapı içerir. Etiketin kapasitesi ve davranışı kullanılan teknolojiye göre büyük ölçüde değişir.

Bir etikette bulunabilecek bilgiler:

  • üretici veya çip kimliği,
  • UID/TID benzeri tanımlayıcı,
  • uygulama verisi,
  • EPC gibi nesne tanımlayıcıları,
  • erişim/koruma alanları,
  • sensör verisi

olabilir.

Bu alanların varlığı ve güvenlik özellikleri bütün RFID türlerinde aynı değildir.

Okuyucu

Okuyucu yalnız “kart numarası veren kutu” değildir. RF tarafında etiketle haberleşir, uygulama tarafında ise bilgisayar veya kontrol sistemine veri aktarır.

Okuyucunun görevi uygulamaya göre şunları içerebilir:

  • RF alanını üretmek,
  • etiketleri sorgulamak,
  • anti-collision sürecini yürütmek,
  • belirli bellek alanlarını okumak/yazmak,
  • hata kontrolü yapmak,
  • okuma zamanını ve anten bilgisini aktarmak,
  • seri port, USB, Ethernet veya başka bir arayüz üzerinden üst sisteme bağlanmak.

2014 stajında benim doğrudan uğraştığım sınır, çoğunlukla okuyucu ile bilgisayar arasındaki arayüzdü. RF işlemi cihazın içinde gerçekleşiyordu; uygulama tarafında ise doğru veri çerçevesini ve cihaz davranışını çözmek gerekiyordu.

Anten

Anten RF enerjisinin uzaya aktarılması ve geri gelen işaretin alınması için kritik bileşendir. Antenin kazancı, yönlülüğü, polarizasyonu ve fiziksel yerleşimi okuma alanını değiştirir.

Bu nedenle “okuyucu destekliyor, o halde kart okunur” yaklaşımı yeterli değildir. Aynı okuyucu farklı anten ve montaj geometrilerinde tamamen farklı kapsama davranışı gösterebilir.

Arka uç ve middleware

Kurumsal RFID sistemlerinde okuyucu verisi genellikle doğrudan iş tablosuna yazılmaz. Okuyucu ile iş uygulaması arasında:

  • cihaz adaptörü,
  • olay toplama,
  • duplicate filtreleme,
  • doğrulama,
  • yetkilendirme,
  • loglama,
  • veritabanı erişimi

katmanları bulunabilir.

Bu ara katman önemlidir; çünkü fiziksel dünyada bir kart okuyucunun alanında birkaç yüz milisaniye dururken aynı UID'nin birden fazla kez görülmesi normal olabilir. İş uygulamasının her RF gözlemini ayrı “geçiş” kabul etmesi veri bozulmasına neden olur.


Ünite 3: Aktif, pasif ve yarı pasif etiketler

Pasif etiket

Pasif etiket kendi sürekli enerji kaynağına sahip değildir. Gerekli enerjiyi okuyucunun oluşturduğu alandan toplar ve iletişimi bu sınırlı enerji bütçesiyle yürütür.

Başlıca sonuçlar:

  • maliyet ve boyut düşebilir,
  • bakım/batarya ihtiyacı azalabilir,
  • hesaplama ve bellek kaynakları sınırlı olabilir,
  • menzil ve protokol davranışı RF ortamına daha bağımlı hale gelebilir.

Aktif etiket

Aktif etiket kendi enerji kaynağına sahiptir. Bu, daha uzun menzil, daha sık yayın, daha güçlü işlem yeteneği veya sensör entegrasyonu sağlayabilir. Buna karşılık batarya ömrü, bakım ve maliyet devreye girer.

Yarı pasif etiket

Yarı pasif etiketlerde batarya belirli devreleri besleyebilir ancak haberleşme yine okuyucudan alınan RF enerjisinden yararlanabilir. Terminoloji üretici ve standarda göre farklılaşabildiği için sistem tasarımında yalnız pazarlama adını değil, enerji ve iletişim modelini incelemek gerekir.

Etiket seçimi bir sistem kararıdır

Etiket türü şu gereksinimlere göre seçilmelidir:

  • okuma mesafesi,
  • veri kapasitesi,
  • hareket hızı,
  • metal/sıvı yakınlığı,
  • sıcaklık ve nem,
  • pil ömrü,
  • maliyet,
  • güvenlik,
  • gereken yazma sıklığı.

En yüksek menzilli etiket her zaman en iyi seçenek değildir.


Ünite 4: Frekans bantları ve elektromanyetik kuplaj

LF, HF ve UHF

RFID sistemleri farklı frekans bölgelerinde çalışabilir. Yaygın aileler:

  • LF: yaklaşık 125/134 kHz,
  • HF: 13.56 MHz,
  • UHF: bölgesel düzenlemelere bağlı olarak yaklaşık 860-960 MHz ailesi,
  • bazı özel uygulamalarda mikrodalga bantları

olarak düşünülebilir.

Frekans yalnız taşıyıcının sayısal değeri değildir. Anten boyutu, kuplaj biçimi, menzil, veri hızı, çevresel etkiler ve mevzuatla birlikte değerlendirilir.

Endüktif kuplaj

LF ve HF yakın alan uygulamalarında okuyucu ve etiket bobinleri arasındaki manyetik kuplaj baskın olabilir. Pasif etiket okuyucu alanından enerji toplar; veri geri dönüşünde yük modülasyonu gibi yöntemler kullanılabilir.

Bu model transformatör benzetmesiyle açıklanabilir, ancak pratikte:

  • bobin geometrisi,
  • rezonans,
  • kalite faktörü,
  • etiket yönelimi,
  • metal yakınlığı

okuma davranışını etkiler.

Geri saçılım

UHF RFID'de etiket, okuyucunun gönderdiği sürekli RF enerjisinden yararlanıp anteninin yansıma karakteristiğini değiştirerek bilgi taşır. Bu mekanizma backscatter olarak adlandırılır.

Bu yaklaşım pasif etiketlerin uzak mesafeden okunabilmesine olanak verebilir; ancak link budget, yönelim, çok yollu yayılım, gölgelenme ve regülasyonlar daha kritik hale gelir.

Okuma menzili sabit sayı değildir

Katalogda belirtilen menzil ideal koşullara göre verilebilir. Gerçek sistemde menzil:

  • okuyucu çıkış gücü,
  • anten kazancı,
  • kablo kaybı,
  • etiket anteni,
  • yönelim,
  • yakın metal/sıvı,
  • çevresel gürültü,
  • bölgesel güç sınırları

ile değişir.

Bu nedenle saha doğrulaması, tasarımın ayrılmaz parçasıdır.


Ünite 5: Standartlar ve birlikte çalışabilirlik

ISO/IEC 14443 ve yakınlık kartları

13.56 MHz yakınlık kartları ve temasız akıllı kart uygulamalarında ISO/IEC 14443 ailesi önemli bir referanstır. Fiziksel özellikler, RF arayüzü ve iletişim protokolünün farklı bölümleri standart ailesinde ele alınır.

Kartlı geçiş sistemlerinde bu aileyle karşılaşmak yaygındır; ancak okuyucunun uygulamaya verdiği çıktı her zaman ISO/IEC 14443 çerçevesi değildir. Üretici cihazı RF protokolünü kendi içinde sonlandırıp seri porttan yalnız UID veya işlenmiş alanları verebilir.

ISO/IEC 15693

ISO/IEC 15693 ailesi “vicinity” tipi temasız nesneler/kartlar için kullanılır. Proximity ve vicinity ayrımı, yalnız pazarlama terimi değil fiziksel arayüz ve kullanım modeli farkıdır.

ISO/IEC 18000 ve UHF RFID

ISO/IEC 18000 ailesi item management RFID hava arayüzlerini tanımlar. UHF Type C sistemleri ISO/IEC 18000-63 kapsamında ele alınır.

Güncel sürümde özellikle bir tarih ayrımı yapıyorum: 2014'te geçerli olan standart sürümleri ile bugünkü sürümler aynı değildir. 2026 itibarıyla ISO/IEC 18000-63:2021 yayımlanmış standarttır ve yeni baskı yayın sürecindedir.

GS1 EPC Gen2

UHF tedarik zinciri ve nesne tanımlama dünyasında GS1 EPC Gen2 önemli bir protokol ailesidir. 2014'te kullanılan Gen2 sürümleri ile bugünkü belge aynı değildir. 2026'da güncel GS1 Gen2 sürümü 3.0.1'dir.

Bu nedenle eski bir projeyi değerlendirirken dönemin standardını, yeni sistem geliştirirken ise güncel standardı esas almak gerekir.

Standart uyumluluğu ne sağlamaz?

Bir cihazın aynı standardı desteklemesi:

  • aynı UID gösterimini,
  • aynı host protokolünü,
  • aynı güvenlik politikasını,
  • aynı sürücü/API davranışını

garanti etmez.

Stajda farklı okuyucular arasındaki entegrasyon farkları bunun pratik örneğiydi.


Ünite 6: UID, byte düzeni ve veri temsili

UID bir bayt dizisidir

RFID sistemlerinde kimlik değerleri kullanıcı arayüzünde genellikle onaltılık sayı gibi gösterilir. Fakat protokol tarafında bu değer bir bayt dizisidir.

Örneğin dört bayt:

F2 3A CB D2

metin olarak:

F23ACBD2

şeklinde gösterilebilir.

Staj sırasında karşılaştığım sistemlerden birinde okuyucudan gelen F23ACBD2 değeri veri tabanında D2CB3AF2 biçiminde tutuluyordu. Sorun “yanlış kart numarası” değil, aynı dört baytın farklı byte sırasıyla temsil edilmesiydi.

Endianness ile protokol sırasını ayırmak

Her ters byte dizisini doğrudan CPU endianness problemi olarak adlandırmak doğru değildir. Şunlar ayrı kavramlardır:

  • tel/protokol üzerindeki byte sırası,
  • cihazın metin gösterimi,
  • uygulama içi integer dönüşümü,
  • veri tabanındaki kanonik gösterim.

Dönüşüm hangi sınırda yapılıyorsa açıkça belgelenmelidir.

UID uzunluğu genellenmemelidir

2014 çalışmalarımın bazı okuyucularında dört bayt UID ve sekiz hexadecimal karakterlik çıktı vardı. Bu cihaz sözleşmesidir; RFID UID'lerinin tamamı dört bayttır şeklinde genellenemez.

Bu ayrımı daha sonra RFID keyboard-wedge/HID okuyucu notunda özellikle korudum.

Kanonik gösterim

Uygulama mimarisinde UID için tek bir kanonik biçim seçmek işleri kolaylaştırır. Örneğin:

ham bytes -> doğrulama -> kanonik uppercase hex -> veri tabanı karşılaştırması

Arayüzde boşluk veya tire eklenebilir; fakat veri tabanındaki kimlik biçimi sunum formatından etkilenmemelidir.


Ünite 7: RS232 ve okuyucu-host haberleşmesi

RF tarafı ile host tarafını ayırmak

Bir RFID okuyucuda iki ayrı iletişim sınırı vardır:

kart <-> okuyucu : RF protokolü
okuyucu <-> bilgisayar : host protokolü

İkinci sınır RS232, RS485, USB, Ethernet, HID/keyboard-wedge veya üretici SDK'sı olabilir.

2014 stajındaki çalışmaların çoğu ikinci sınırdaydı.

RS232 parametreleri

Seri haberleşmede yalnız COM port adını bilmek yeterli değildir. Tarafların şu parametrelerde anlaşması gerekir:

  • baud rate,
  • data bits,
  • parity,
  • stop bits,
  • flow control.

Yanlış yapılandırma hiç veri alınmamasına ya da anlamsız byte dizilerine neden olabilir.

MAX232 ve elektriksel seviye

Mikrodenetleyici/UART mantık seviyeleri ile klasik RS232 elektriksel seviyeleri aynı değildir. MAX232 benzeri bir seviye dönüştürücü, UART mantık seviyeleriyle RS232 hattı arasında fiziksel uyum sağlar.

Bu ayrım yazılım geliştirici açısından önemlidir: işletim sisteminde port açılabilmesi, fiziksel elektrik seviyelerinin doğru olduğu anlamına gelmez.

Çerçeveleme

Bazı cihazlar veri akışında STX/ETX gibi kontrol karakterleri kullanabilir:

STX | payload | ETX

Uygulama gelen her DataReceived çağrısını tam paket sanmamalıdır. Seri port bayt akışıdır; bir protokol çerçevesi:

  • tek callback'te tamamlanabilir,
  • birkaç callback'e bölünebilir,
  • aynı callback'te birden fazla çerçeve içerebilir.

Doğru çözüm birikimli parser/state machine kullanmaktır.

Terminal önce gelir

Stajda uygulama yazmadan önce ham seri veriyi terminalde görmek özellikle yararlıydı. Terminal şu soruyu cevaplar:

Cihaz gerçekte ne gönderiyor?

Bu gözlem yapılmadan doğrudan veri tabanı ve GUI yazmak, hatanın hangi katmanda olduğunu belirsizleştirir.

Seri Port İzleme ve Kontrol Yazılımları bu ihtiyaçtan doğdu.


Ünite 8: Farklı RFID okuyucularla gerçek entegrasyon

Promag MF7-20

İlk çalışmalardan biri Promag MF7-20 okuyucunun RS232 çıkışını güvenilir biçimde almak ve UID alanını ayırmaktı. Güç, TX/RX hatları, seri port yapılandırması ve ham byte akışı birlikte incelendi.

Bir noktada beklenen UID elde edilemedi. Yazılım, port ayarları, devre ve farklı bilgisayarlar üzerinde çok sayıda hipotez denendikten sonra okuyucunun değiştirilmesiyle veri doğru gelmeye başladı.

Buradan çıkardığım kalıcı ders şuydu:

Entegrasyon hatasında, her katman ayrı ayrı doğrulanmadan sürekli üst katman kodunu değiştirmek teşhisi zorlaştırır.

PCR310

PCR310 tarafında mevcut örnek uygulamanın cihazla nasıl haberleştiğini inceledim. Port açma, request gönderme, anticollision sonucunu alma ve UID'yi uygulama biçimine dönüştürme akışını Visual Basic örneğinden anlayıp C# tarafında yeniden kurdum.

Buradaki değer bir örnek kodu başka dile çevirmek değildi. Cihazın komut-cevap protokolünü anlamaktı.

Verifone QX1000

Verifone QX1000 çalışmasında beklenen bağlantıyla iletişim kurulamadığında fiziksel kabloyu multimetreyle kontrol etmek gerekti. Pin diziliminin varsayılandan farklı olduğu görüldü. Daha sonra cihaz aracından alınan çıktıyı C# uygulamasında ayrıştırdım.

Bu çalışma yazılım-donanım entegrasyonunda “dokümanda öyle yazıyor” varsayımının saha ölçümüyle doğrulanması gerektiğini gösterdi.

Cihaz bağımlı ve cihaz bağımsız katman

Üç okuyucunun davranışları farklıydı; iş ihtiyacı ise aynıydı: kartı tanımak.

Bu nedenle mimari ayrım şu şekilde kurulabilir:

DeviceAdapter
   ↓
NormalizedTagRead
   ↓
AccessControl / Business Logic

İş mantığı SerialPort, cihaz komutu veya üreticiye özgü byte sırasını bilmemelidir.


Ünite 9: Çoklu etiket, anti-collision ve olay modeli

Aynı anda birden fazla etiket

Bir okuyucu alanında birden fazla etiket bulunduğunda tüm etiketlerin aynı anda cevap vermesi işaret çakışmasına neden olabilir. RFID protokolleri bu nedenle anti-collision/arbitration mekanizmaları kullanır.

Uygulama geliştirici açısından önemli nokta şudur: RF katmanında anti-collision olması, iş uygulamasında duplicate olay problemini çözmez.

Aynı UID neden tekrar tekrar gelir?

Kart okuyucu alanında tutulduğunda:

04A1B2C3
04A1B2C3
04A1B2C3
...

şeklinde tekrar gözlenebilir. Bu kayıtların tamamını “üç ayrı geçiş” saymak yanlış olabilir.

Uygulama katmanında kullanım amacına göre:

  • debounce,
  • minimum tekrar aralığı,
  • card-present/card-removed durumu,
  • reader-zone bazlı deduplication

gibi kurallar gerekebilir.

Olay kimliği ve zaman

Kurumsal sistemde yalnız UID tutulması yetersizdir. Bir gözlem olayı en azından şu bağlamı taşıyabilir:

readerId
antennaId
uid
timestamp
rawFrame
quality/rssi (varsa)
protocol/device status

Böylece “kim okundu?” kadar “nerede, ne zaman, hangi cihazla ve hangi ham veriden?” soruları da cevaplanabilir.

Sıralama ve geç gelen olaylar

Ağ üzerinden çalışan çok okuyuculu sistemlerde uygulama alma zamanı ile cihaz gözlem zamanı farklı olabilir. İş kuralları kritikse zaman damgasının hangi katmanda üretildiği açık olmalıdır.


Ünite 10: Middleware, veri tabanı ve yetkilendirme

UID doğrudan kullanıcı değildir

Sağlıklı veri modeli şu ayrımı korur:

Tag(uid, status, type, ...)
    ↓
TagAssignment(tagId, subjectId, validFrom, validTo, ...)
    ↓
Person / Asset
    ↓
Permission

Bir kart kaybolduğunda kişiyi silmek yerine kart ataması pasifleştirilebilir ve yeni kart bağlanabilir.

Veri tabanı yöneticisi çalışması

Stajdaki Kartlı Geçiş Sistemi Veri Tabanı Yöneticisi çalışması, RFID verisini yalnız ekranda göstermekten çıkarıp kalıcı kimlik ve yetki verisiyle ilişkilendirdi.

Bu tür sistemlerde temel varlıklar şunlar olabilir:

  • kart/etiket,
  • kullanıcı veya varlık,
  • okuyucu,
  • kapı/bölge,
  • yetki,
  • geçiş olayı,
  • cihaz durumu.

Yetki kararı

Basit erişim kontrolü bile yalnız UID eşleşmesi değildir:

kart tanınıyor mu?
→ kart aktif mi?
→ kullanıcı aktif mi?
→ bu kapıya yetkisi var mı?
→ zaman kuralı uygun mu?
→ sistem güvenli durumda mı?
→ geçişe izin ver / reddet

Bu kararın sonucu ve nedeni loglanmalıdır.

Veri bütünlüğü

Fiziksel erişim sisteminde duplicate UID kaydı, yanlış kullanıcı-kart eşlemesi veya geçmiş olayın değiştirilebilmesi ciddi sorun yaratabilir. Bu nedenle:

  • benzersizlik kuralları,
  • referans bütünlüğü,
  • audit log,
  • yetkili değişiklik,
  • zaman bilgisi

tasarımın parçasıdır.


Ünite 11: RFID kartlı geçiş sisteminin uçtan uca gerçeklenmesi

2014 uygulaması

Stajdaki RFID Kartlı Geçiş Sistemi fiziksel okuyucudan aktüatöre kadar uçtan uca bir prototipti:

RFID kart
→ RFID okuyucu
→ seri veri
→ UID ayrıştırma
→ yetki kontrolü
→ Arduino UNO
→ servo motor
→ fiziksel geçiş

Bu küçük sistem, masaüstü yazılımdaki bir kararın doğrudan fiziksel karşılığı olduğunu gösteriyordu.

Komut göndermek ile durumun değişmesi farklıdır

Uygulamanın “AÇ” komutunu göndermesi, kapının gerçekten açık olduğunu kanıtlamaz. Güvenilir sistemde mümkün olduğunda:

  • komut,
  • kabul/ACK,
  • fiziksel durum geri bildirimi

ayrılır.

Bu yaklaşımı daha sonra robotik kontrol ve aviyonik telemetri gibi daha karmaşık sistemlerde de tekrar gördüm; ancak 2014 notunda bu sonraki deneyimleri geçmişe taşımıyorum. Bugünkü sürümde yalnız mühendislik çizgisinin sürekliliğini göstermek için ilişkilendiriyorum.

Arduino ve servo

Arduino UNO prototipte bilgisayardan gelen kontrol kararını servo hareketine dönüştüren denetleyiciydi. Bu mimari, uygulama bilgisayarının RF okuyucuyu ve aktüatörü doğrudan aynı kod içinde kontrol etmesi yerine fiziksel eylemi ayrı bir denetleyiciye bırakmanın basit bir örneğiydi.

Fail-safe düşüncesi

Fiziksel erişim sisteminde “hata olduğunda ne olur?” gereksinimi baştan tanımlanmalıdır:

  • iletişim kesilirse kapı hangi durumda kalır?
  • kart doğrulanamazsa ne olur?
  • veri tabanına erişilemiyorsa politika nedir?
  • servo komutu uygulanmazsa kullanıcı ne görür?

Fail-open ve fail-closed tercihleri kullanım alanının emniyet/güvenlik gereksinimine göre değişir.


Ünite 12: Keyboard-wedge/HID RFID okuyucular

Okuyucu her zaman seri port değildir

Bazı RFID okuyucular Windows'a özel RFID protokolü veya seri paket göndermek yerine klavye gibi davranır. Kart okutulduğunda okuyucu örneğin sekiz hexadecimal karakteri çok hızlı biçimde “yazar”.

Bu durumda uygulama sınırı şudur:

RFID kart
→ okuyucu içindeki RF işlemi
→ keyboard-wedge/HID-benzeri giriş
→ Windows input
→ karakter dizisi
→ UID parser

RFID protokolü uygulamaya gelmez; RF işlemi okuyucuda bitmiştir.

Odak problemi

Normal KeyDown yaklaşımı yalnız odak doğru penceredeyken yeterli olabilir. Daha geniş uygulamalarda:

  • IMessageFilter,
  • WndProc,
  • Raw Input,
  • son çare olarak düşük seviyeli hook

gibi giriş sınırları değerlendirilebilir.

Hangi yöntemin kullanılacağı “klavye verisini yakalayabiliyor mu?” sorusundan çok fiziksel aygıt kimliğini ayırmak gerekiyor mu, odak garantili mi, süreç sınırı ne? sorularına bağlıdır.

Türkçe Q/F klavye düzeni

2014'te kullandığım okuyuculardan birinin dört bayt UID'yi sekiz hexadecimal tuş vuruşu olarak göndermesi, Türkçe Q/F düzeni arasında A-F karakterlerinin farklı sanal tuş davranışı göstermesi nedeniyle ek eşleme ihtiyacı doğurdu.

Bu ayrıntı küçük görünse de önemli bir sistem ilkesini gösterir: donanımın “verisi” bazen uygulamaya ulaşana kadar işletim sistemi giriş katmanlarının yorumundan geçer.

Bu konunun güncel ve daha ayrıntılı gerçeklenimini RFID Kart Okuyucudan Klavye/HID Üzerinden 4 Bayt UID Okuma notunda ele alıyorum.


Ünite 13: RFID güvenliği ve mahremiyet

UID gizli anahtar değildir

En kritik ilke şudur:

Okunabilen bir UID, tek başına güçlü kimlik doğrulama kanıtı değildir.

Basit kartlı geçiş sistemlerinde UID whitelist kullanılabilir; ancak tehdit modeli yükseldikçe kart kopyalama, emülasyon veya yetkisiz okuma riskleri değerlendirilmelidir.

Tehdit yüzeyi

RFID sisteminde saldırı yalnız RF katmanında değildir:

etiket
↕
RF kanal
↕
okuyucu
↕
host protokolü
↕
middleware
↕
uygulama
↕
veri tabanı

Her sınır farklı tehdit taşır.

Örnekler:

  • yetkisiz okuma ve izleme,
  • klonlama/emülasyon,
  • replay,
  • relay,
  • reader spoofing,
  • tag spoofing,
  • servis dışı bırakma/jamming,
  • host protokolüne sahte veri gönderme,
  • veri tabanında yetki manipülasyonu.

Reader security ve tag security

Okuyucunun kötü niyetli bir etikete güvenmesi ile etiketin yetkisiz bir okuyucuya bilgi vermesi farklı problemlerdir. Güvenlik tasarımı iki yönü de ele almalıdır.

Kaynak kısıtlı kriptografi

Pasif etiketlerin enerji, kapı sayısı, bellek ve işlem süresi kısıtları klasik bilgisayardaki her kriptografik yapının doğrudan uygulanmasını zorlaştırabilir. Bu nedenle RFID araştırmalarında hafif kriptografi önemli bir konudur.

Bununla birlikte “hafif” sözcüğü “zayıf” anlamına gelmemelidir. Protokol tasarımı, anahtar yönetimi, random sayı üretimi ve yan kanal dayanıklılığı birlikte değerlendirilmelidir.

Yan kanal saldırıları

Kriptografik algoritma matematiksel olarak güvenli olsa bile uygulaması:

  • zamanlama,
  • güç tüketimi,
  • elektromanyetik sızıntı

gibi yan kanallardan bilgi sızdırabilir.

RFID gibi fiziksel cihazlarda bu konu, yazılım ve donanım güvenliğinin neden birlikte ele alınması gerektiğini gösterir.

Backend güvenliği

Kart güvenli olsa bile backend zayıfsa sistem güvenli değildir. Özellikle:

  • en az ayrıcalık,
  • güçlü kimlik doğrulama,
  • SQL injection önleme,
  • audit log,
  • şifreli ağ bağlantısı,
  • secrets/key management,
  • yetki değişikliğinin izlenmesi

gerekir.

Bu alanın daha geniş yazılım güvenliği boyutunu Güvenli Yazılım Mühendisliği notunda ele alıyorum.


Ünite 14: Güvenilirlik, performans ve hata ayıklama

Ham veriyi korumak

Bir kart “yanlış okunmuş” görünüyorsa yalnız normalize edilmiş UID'yi loglamak teşhisi zorlaştırabilir. Gerekirse şu bilgiler birlikte tutulmalıdır:

  • ham byte dizisi,
  • parse sonucu,
  • port/reader kimliği,
  • zaman damgası,
  • protokol durumu,
  • hata kodu.

Bu sayede parser hatası ile donanım hatası ayrılabilir.

Timeout

Seri veya ağ protokolünde sonsuz bekleme kritik bir kusurdur. Her istek için:

  • deadline,
  • timeout,
  • retry politikası,
  • iptal davranışı

tanımlanmalıdır.

Retry'nin güvenli olup olmadığı komutun idempotent olup olmamasına bağlıdır. “UID oku” ile “kapıyı aç” aynı yeniden deneme semantiğine sahip değildir.

Gecikme ve throughput

Kartlı geçiş sisteminde hedef yüksek throughput olabilir; ancak kullanıcı deneyimi için tek olayın gecikmesi de önemlidir.

Kabaca:

toplam gecikme = RF okuma + cihaz işleme + host transferi + doğrulama + DB + kontrol çıkışı

Bu değerlerin hangisinin baskın olduğu ölçülmeden optimizasyon yapmak doğru değildir.

Çoklu okuyucu

Birden fazla okuyucu olduğunda:

  • cihaz kimliği,
  • bağlantı yeniden kurma,
  • paralel olay işleme,
  • duplicate olayların ayrımı,
  • merkezî zamanlama,
  • backpressure

gibi problemler ortaya çıkar.

Donanım arızası örneğinin kalıcı etkisi

2014'te bir okuyucunun değiştirilmesiyle çözülen sorun, bana daha sonra da kullanacağım bir debug sırası bıraktı:

fiziksel bağlantı
→ elektriksel seviye
→ port/link
→ ham protokol
→ parser
→ normalizasyon
→ iş mantığı
→ veri tabanı/UI

Katman atlayarak hata aramak gereksiz değişiklik üretir.


Ünite 15: RFID, veri tabanı, ağ ve IoT ilişkisi

Edge ile backend arasında

Modern bir RFID sistemi, fiziksel algılama ile kurumsal veri sistemi arasında bir edge computing örneği olarak düşünülebilir.

Okuyucu veya gateway:

  • ham gözlemi toplar,
  • bazı filtreleri uygular,
  • yerel buffer tutabilir,
  • backend'e olay gönderir.

Backend ise:

  • kimlik ilişkilendirir,
  • yetki uygular,
  • geçmiş tutar,
  • analitik üretir,
  • diğer sistemlerle entegrasyon sağlar.

Ağ kesintisi

Okuyucu ağ bağlantılıysa kesinti halinde ne olacağı tasarlanmalıdır:

  • olaylar kaybolacak mı?
  • cihaz yerelde bufferlayacak mı?
  • yeniden bağlantıda duplicate gönderilecek mi?
  • erişim kararı offline verilebilecek mi?

Bu sorular RFID probleminden çıkarak dağıtık sistem problemine dönüşür.

Veri tabanı

RFID olayları zaman serisine benzese de ilişkisel kimlik ve yetki verisiyle birlikte çalışır. Bu nedenle veri modeli:

  • write throughput,
  • sorgu desenleri,
  • indeksler,
  • saklama süresi,
  • arşivleme

açısından tasarlanmalıdır.

İlişkisel modelleme tarafını Veri Tabanı Yönetim Sistemleri, ağ boyutunu Bilgisayar Ağları notlarında ayrıca ele alıyorum.

RFID ve IoT

RFID etiketi doğrudan IP konuşmak zorunda değildir. RFID'nin IoT içindeki rolü çoğu zaman fiziksel varlığın dijital kimliğini ve olaylarını üretmektir.

physical object
→ RFID identity/event
→ gateway/backend
→ digital state

Sensörlü etiketler bu sınırı genişletip kimliğin yanında sıcaklık, durum veya başka ölçümler de taşıyabilir.


Ünite 16: Yazılım tanımlı radyo ve RFID'yi gözlemlemek

SDR neden önemlidir?

Yazılım tanımlı radyo, RF işlevlerinin önemli bölümünü programlanabilir sayısal işleme taşıyarak fiziksel katmanın gözlemlenmesini ve deneysel protokol çalışmalarını kolaylaştırır.

RFID açısından SDR:

  • dalga biçimini incelemek,
  • modulation/demodulation deneyleri yapmak,
  • protokol davranışını gözlemlemek,
  • araştırma amaçlı okuyucu prototipi oluşturmak

için kullanılabilir.

GNU Radio ve USRP

GNU Radio benzeri araçlar sinyal işleme bloklarını yazılımla kurmaya, USRP benzeri donanımlar ise RF örneklerini host işlemciye taşımaya imkân verir.

2014 AKÜ BİDB stajımda RFID okuyucularını SDR ile geliştirmedim; kullandığım cihazların host arayüzü ve uygulama entegrasyonu üzerinde çalıştım. Bu ayrımı özellikle belirtiyorum. SDR bölümü, RFID'nin fiziksel katmanının nasıl incelenebileceğini açıklayan tamamlayıcı teknik çerçevedir; kişisel staj deneyimim olarak sunulmamalıdır.

Sinyal ve sistem bakışı

RFID fiziksel katmanını daha derin anlamak için:

  • spektrum,
  • bant genişliği,
  • modülasyon,
  • örnekleme,
  • gürültü,
  • filtreleme

kavramları önemlidir. Bunların matematiksel temelini Sinyaller ve Sistemler notunda ele alıyorum.


Ünite 17: RFID'nin uygulama alanları

Fiziksel erişim kontrolü

Kartlı geçiş sistemleri benim 2014'te en doğrudan çalıştığım uygulama alanıdır. Burada amaç bir kartı okumaktan çok, fiziksel bir geçiş kararını güvenli ve izlenebilir biçimde üretmektir.

Varlık ve envanter takibi

UHF RFID çok sayıda nesnenin hızlı biçimde tanımlanabildiği:

  • depo,
  • üretim,
  • tedarik zinciri,
  • lojistik

uygulamalarında kullanılabilir.

Kütüphane

RFID etiketleri kitap kimliği, raf süreçleri ve ödünç/iade işlemlerinde kullanılabilir. Etiket seçimi ve okuyucu yerleşimi, metal raflar ve yakın etiket yoğunluğu gibi fiziksel faktörlerden etkilenir.

Sağlık

İlaç, numune, cihaz ve hasta ilişkilendirmesinde RFID kullanılabilir. Buradaki en önemli fark, yanlış eşlemenin yalnız stok hatası değil hasta güvenliği problemi oluşturabilmesidir.

Üretim

Parça, palet, iş emri veya taşıyıcı üzerine bağlı etiketler üretim hattında otomatik tanımlama sağlayabilir. RFID verisi MES/ERP gibi üst sistemlerle entegre edildiğinde fiziksel süreç ile dijital kayıt arasındaki senkronizasyon güçlenir.

Taşımacılık

Konteyner, araç ve geçiş noktalarının RFID ile izlenmesi; okuyucu yerleşimi, hareket hızı, dış ortam dayanımı ve çoklu okuyucu koordinasyonu gibi ek gereksinimler doğurur.


Ünite 18: AKÜ BİDB stajının mühendislik açısından bıraktığı çerçeve

Bilgisayar mühendisliği ile fiziksel sistemin birleşmesi

2014 yazında Bilgisayar Mühendisliği öğrencisiydim. Algoritma, programlama, işletim sistemi ve veri tabanı derslerinde öğrendiğim kavramların fiziksel cihaz davranışıyla doğrudan karşılaştığı yerlerden biri AKÜ BİDB stajı oldu.

RFID okuyucu ile çalışırken aynı problem içinde:

  • elektriksel bağlantı,
  • seri protokol,
  • byte düzeyi veri,
  • C#/Java uygulaması,
  • SQL Server/veri tabanı,
  • GUI,
  • Arduino,
  • servo motor

bulunuyordu.

Bu yüzden stajın benim için asıl değeri tek bir teknoloji öğrenmek değil, uçtan uca sistem düşünme alışkanlığı kazandırmasıydı.

Özellikle yoğunlaştığım çalışmalar

Dönemin kayıtlarında öne çıkan çalışmalarım:

  • Promag MF7-20 ile RS232/UID analizi,
  • MAX232 tabanlı bağlantı ve ham seri veri gözlemi,
  • farklı okuyucularda port/protokol çözümleme,
  • PCR310 istek-cevap akışının C# tarafında gerçeklenmesi,
  • Verifone QX1000 bağlantı ve çıktı ayrıştırması,
  • UID byte sırası dönüşümü,
  • seri port terminal/izleme araçları,
  • kartlı geçiş veri tabanı yönetimi,
  • keyboard-wedge/HID UID yakalama,
  • Arduino ve servo motorla fiziksel erişim kontrolü

olarak özetlenebilir.

Bunların ayrıntılı proje kayıtları:

sayfalarında yer alır.

Sonraki çalışmalarla ilişki

Bu ders notunun ilk tarihi 2014'tür. Baykar stajı 2015'te, AKINSOFT & AKINROBOTICS dönemi ise daha sonra başladı. Bu nedenle sonraki deneyimleri 2014 içeriğinin parçası gibi sunmak doğru değildir.

Bununla birlikte bugünden geriye baktığımda aynı mühendislik çizgisi görülebilir:

2014 AKÜ BİDB
RFID / RS232 / UID / DB / GUI / fiziksel geçiş
        ↓
2015 Baykar
embedded ağ / aviyonik / telemetri / hata ayıklama
        ↓
2016-2019 AKINSOFT & AKINROBOTICS
robot kontrol / sensör / eyleyici / telemetri / otonomi / GUI

Teknolojiler değişti; fakat temel soru değişmedi:

Fiziksel dünyadan gelen veri, yazılımın içinde hangi sınırlar boyunca güvenilir biçimde taşınıyor ve sonunda hangi fiziksel/operasyonel karara dönüşüyor?


Sonuç

RFID sistemi yalnız etiketten UID okuyup ekranda göstermek değildir.

Etiketin RF davranışı fiziksel katmandır.

Okuyucu bu davranışı cihaz protokolüne dönüştürür.

Seri port, USB veya ağ bağlantısı veriyi bilgisayara taşır.

Parser ham akışı anlamlı olaya dönüştürür.

Normalizasyon aynı kimliği tek biçimde temsil eder.

Veri tabanı kartı kişi veya varlıkla ilişkilendirir.

Yetkilendirme motoru kullanım kararını verir.

Loglama bu kararın sonradan açıklanabilmesini sağlar.

Aktüatör varsa karar yeniden fiziksel dünyaya döner.

2014 AKÜ Bilgi İşlem Daire Başkanlığı stajında RFID ile çalışmanın benim için kalıcı katkısı bu uçtan uca zinciri gerçek donanım üzerinde görmüş olmamdı. Daha sonra gömülü sistem, aviyonik, robotik, adli bilişim ve kritik üretim sistemlerinde karşılaştığım birçok problem daha karmaşık ölçekte aynı ilkeye geri döndü: veriyi kaynağından son etkisine kadar izleyemediğiniz sistemi güvenilir biçimde açıklayamazsınız.


Kaynaklar

Xinxin Fan (Ed.), Radio-Frequency Identification (RFID): Emerging Technologies, Applications and Improvement Strategies, Nova Science Publishers, 2014.

ISO/IEC 14443 serisi, temasız yakınlık kartları ve cihazları.

ISO/IEC 15693 serisi, temasız vicinity nesneleri/kartları.

ISO/IEC 18000 serisi, item management için RFID hava arayüzleri.

GS1, EPC Radio-Frequency Identity Generation-2 UHF RFID Standard.

Afyon Kocatepe Üniversitesi BİDB staj deneyimim

RFID Kartlı Geçiş Sistemi

RFID Kart Okuyucudan Klavye/HID Üzerinden UID Okuma

Bu sayfanın QR kodu