Seri Port İzleme ve Kontrol Yazılımları
RFID çalışmalarında ham seri veriyi, port yapılandırmasını ve günlük kayıtlarını izlemek için geliştirdiğim C# masaüstü ve web tabanlı seri haberleşme araçları.
2014 RFID çalışmalarında hazır terminal yazılımlarının karşılamadığı tanılama ve izleme ihtiyaçları için seri port yapılandırma, kayıt ve gözlem araçları geliştirdim. Bu yazılımlar fiziksel kart okuyucu ile uygulama arasındaki haberleşme katmanında kullanıldı.
Ham Veriyi Görmek
Seri haberleşmede uygulamanın yorumladığı değerden önce ham byte akışını görmek önemliydi. Baud rate, parity, data bits ve stop bits gibi parametreler yanlış olduğunda üst seviyede görülen hata çoğu zaman anlamlı bir uygulama hatası üretmiyordu; yalnız bozuk veya eksik veri görünüyordu.
Bu nedenle geliştirdiğim masaüstü araçta port parametrelerini yönetme, alınan veriyi ham biçimde izleme ve gerektiğinde hexadecimal gösterimle karşılaştırma işlevleri yer aldı.
Günlük Kaydı
İletişim problemleri her zaman aynı anda tekrar üretilemiyordu. Port yapılandırması, işlem zamanı ve oluşan hata birlikte kaydedildiğinde daha önceki bir davranışı geriye dönük incelemek mümkün hale geldi.
Bu yaklaşım küçük bir masaüstü uygulamasında basit görünse de uzun süre çalışan sistemlerde kullandığım gözlemlenebilirlik yaklaşımının erken örneklerinden biridir: yalnız hata mesajını değil, hatayı açıklayacak bağlamı da saklamak.
Web Üzerinden İzleme
Sonraki aşamada masaüstü terminalinin ürettiği veri ve günlük dosyalarını web üzerinden izleyen ayrı bir uygulama geliştirdim. Dosyanın tamamını her yenilemede baştan okumak yerine son okunan konum tutuluyor ve yalnız yeni eklenen bölüm alınıyordu.
Bu sayede veri büyüdükçe gereksiz I/O artışı sınırlandırıldı. Ham seri veri ile günlük metni farklı biçimde ele alındı ve web arayüzü periyodik olarak güncellendi.
Arıza Teşhisi
Bu araçlar kart okuyucu problemlerini yalnız uygulama katmanından değerlendirmemeyi kolaylaştırdı. Fiziksel bağlantı, seri parametre, cihazın gönderdiği veri ve uygulamanın yorumladığı değer ayrı ayrı gözlemlenebiliyordu.
İlgili çalışmalar: