Kart Okuma Hatalarını Yazılımda Kaydetme ve Raporlama
Kart Okuma Hatalarını Yazılımda Kaydetme ve Raporlama
Geçiş kontrol sistemini kurarken en çok göz ardı edilen şeylerden biri, hata kayıtlarının nasıl tutulacağıdır. Oysa bir kartın okunamaması, yanlış okunması veya sistemin kartı tanımaması gibi durumlar her gün yaşanabilir. Ben de başta bu konuyu çok önemsememiştim, ama zamanla anladım ki kart okuma hata loglama, güvenliğin ve sistem yönetiminin omurgasıdır.
Eğer hata kayıtlarını tutmayan bir sistem kullanıyorsanız, birisinin kapıya erişemediğini öğrenebileceğiniz tek yol, o kişinin şikayet etmesidir. Bu, reaktif bir yönetim demektir. Proaktif olmak için ise her başarısız okuma denemesinin tarih, saat, hata kodu ve kart bilgileriyle veri tabanına yazılması gerekir. İşte bunu nasıl yapacağımı, adım adım sizlerle paylaşacağım.
Adım 1: Hata Türlerini Tanımla
Yazılımınızda kaydetmek istediğiniz hataları önce net olarak tanımanız lazım. Benim sistemimde şu hata türleriyle karşılaştım:
- Kart bulunamadı: Okuyucu kartı algılamıyor, sinyali yok.
- Kart veri tabanında yok: Kart okundu ama sistemde kayıtlı değil.
- Okuyucu bağlantı hatası: Kart okuyucunun kendisi çalışmıyor veya panelle iletişime geçemiyor.
- Yetki hatası: Kart tanındı ama kullanıcı bu kapıya geçiş yapamaz.
- Zaman aralığı hatası: Kullanıcının erişim izni var ama bu saatte değil.
- Çoğunlama/Sahte okuma: Çok kısa sürede aynı kartla birden fazla deneme.
Adım 2: Veri Tabanı Tablosunu Oluştur
Hata kayıtlarını tutmak için bir tablo yapısı oluşturdum. Bu tablo şu alanları içeriyor:
| Alan Adı | Açıklama |
|---|---|
| log_id | Otomatik artan numara, her kaydın benzersiz kimliği |
| okuyucu_id | Hatanın meydana geldiği okuyucunun kimliği |
| kart_numarasi | Okunan kartın numarası (hata durumunda da) |
| tarih_saat | Hatanın tam zamanı (yıl-ay-gün saat:dakika:saniye) |
| hata_kodu | Tanımladığınız hata türü kodları (E001, E002 vb.) |
| aciklama | Hatanın detaylı açıklaması |
| kullanici_id | Eğer kart veri tabanında varsa, o kullanıcının kimliği |
| kapı_adi | Hangi kapıda hata oluştu |
Adım 3: Yazılımda Hata Yakalamayı Ayarla
Kart okuyucu kontrol paneli, kartı okuduğu anda yazılıma bir sinyal gönderir. O anda yapmanız gereken, okuyucunun geri dönüş kodunu kontrol etmektir. Eğer başarılı (örneğin kod 00), işlem normal devam eder. Ama başarısız (örneğin kod 01, 02, 03), hemen hata tablosuna yazmanız gerek.
Yazılımınızda şöyle bir mantık kurun:
- Okuyucu kartı okudu mı? Sinyal aldı mı?
- Kartın numarası okundu mu?
- Veri tabanında bu kart var mı?
- Bu kartın sahibi hangi kullanıcı?
- Bu kullanıcı şu saatte bu kapıya geçebilir mi?
- Tüm kontroller geçti mi? Evet ise kapıyı aç, Hayır ise hata kodunu ve detayları kaydet.
Adım 4: Raporlama Arayüzünü Oluştur
Hataları kaydetmek bir şey, onları okunabilir formatta raporlamak başka şey. Yazılımda bir raporlama bölümü hazırladım:
- Gerçek zamanlı izleme: Son 24 saatte meydana gelen hataları canlı olarak görmek.
- Tarih aralığı filtrelemesi: Belirli bir zaman dilimindeki hataları sorgulamak.
- Okuyucu bazlı filtre: Hangi okuyucunun en fazla hata verdiğini görmek.
- Kart bazlı arama: Belirli bir kartın geçmiş hatalarını kontrol etmek.
- İstatistik özeti: Hata türlerine göre dağılım grafiği.
Adım 5: Uyarı Sistemini Devreye Sok
Bazı hataları anında bilmek gerekir. Örneğin, bir okuyucu tamamen çalışmıyorsa, bunu saatler sonra öğrenmek istemezsiniz. Yazılımda kritik hataları tanımlayın ve bu durumda e-posta veya SMS uyarısı gönderilmesini sağlayın.
Sık Yapılan Hatalar
Aşırı kaydetme: Her ne kadar hata kaydı tutmak önemliyse, gereksiz veriler de saklamaktan kaçının. Örneğin başarılı her okumayı kaydetmek, veri tabanını şişirebilir.
Eski kayıtları silmemek: Ay ayı, yıl yıl veriler birikirse sistem yavaşlar. Otomatik arşivleme veya silme mekanizması koyun (örneğin 90 günden eski hataları sil).
Zaman senkronizasyonunu göz ardı etmek: Panelin saati yanlış ise, tüm kayıtlar yanlış saate sahip olur. Panelin saatini NTP sunucusuyla senkronize edin.
Detay eksikliği: Sadece "Hata" yazıp başa çıkmayın. Hata kodunun ne anlama geldiğini, hangi okuyucuda olduğunu, kimin kartı olduğunu kaydedin.
Özet
Kart okuma hatalarını yazılımda sistematik olarak kaydetmek, geçiş kontrol sisteminizi profesyonel seviyeye çıkarır. Böylece sadece başarısız okumalar değil, sistemdeki zayıflıkları da görebilirsiniz. Hangi okuyucular sıkça sorun veriyor, hangi kartlarda tekrarlayan hatalar yaşanıyor, hangi saatlerde erişim denemeleri başarısız oluyor... Tüm bunları öğrendikçe sisteminizi iyileştirme fırsatı doğar. Başlangıçta biraz zaman alsa da, uzun vadede size büyük avantaj sağlar.