Teknolojinin büyük bir kısmı cihazların bir kontrol noktasından yönetilmesi esasına dayanıyor
Cihazların kontrol ve monitör edilmesi gerekli ve bunu için öncelikle cihazların komut kümesinin anlaşılması, test edilmesi gerekli.
Cihaza haberleşebilmek ve komut gönderebilmek için program gerekli
Bunu yapan programlar var, ancak bunların cihazın komutları üzerinde çalışma sürecinde çok ihtiyaç duyulan aşağıdaki özellikler bu programlarda mevcut olmadığından farklı programlar ve yöntemlerle bu açıklar kapatılmak zorunda kalınıyor.
Her bir cihaz için komut kümesinin kaydedilmesi
Komutlar üzerinde byte seviyesinde çalışma yapılması, checkum hesabı, komuta açıklama yazma, komutu çoğaltma.
Gelen byte dizisinin analiz edilmesi, her bir byte için bitlerin direk görüntülenmesi,
Loglama
Bu eksiklerin bir laboratuvar ortamında cihazlarla haberleşmek zorunda olan farklı öğrencilerin, aynı komutlar üzerinde bilimsel kazanım sağlamayan faydasız zorluklar yaşamasına neden olması, bir projede çalışan birinin elde ettiği birikimin, ekibin diğer üyelerine bu birikimi yansıtamaması gibi geriletici olaylara sebep olduğu görülmüştür.
Daha kısa zamanda halledilecek işlerin, bazı araçların eksikliğinden daha uzun zaman aldığı görülmüştür
DeviceTester ismini verdiğimiz programı geliştirmeye neden ihtiyaç duyduğumuzu açıklayabilmek için öncelikle böyle bir programın olmadığı durumda aynı sürecin nasıl işlediğine bakalım.
Şekilde bir cihazla haberleşmenin genel yapısını bloklar halinde görüyoruz.
Şimdi bu blokları teker teker uyguladığımız bir örnek yapalım.
Aşağıdaki videoda ise bir cihazla haberleşme sürecinin DeviceTester kullanılarak nasıl gerçeklendiği açıklanıyor.
Bu uygulamada, DeviceTester ComPort bağlantı özelliği kullanılıyor. Aynı zamanda Timer kullanımı ile ilgili bir örnek. Yani istenen komutlar bir listeye ekleniyor ve tanımlı zaman aralıklarında bu komutlar cihaza gönderiliyor.
DeviceTester programının en önemli özelliklerinden biri, komut paketini oluşturma konusunda Python kullanarak cihazlarla çalışan yazılımcılara esneklik sağlaması.
Ne oluyor? DeviceDester komutu Python'a gönderiyor. Python komutu istenen protokole göre, ki bu tamamen kullanıcının kendi yazdığı kodla ayarlanabiliyor, paket haline getirip geri gönderiyor.
Bir test programı olan DeviceTester haberleşmede meydana gelecek problemlere bir açıklık getirebilmek için, Python'un socketini kullanıyor. Socketin kullanıldığı kod üzerine istenilen değişiklik yapılabilir. Haberleşme tamamen şeffaftır. Yani bu kullanımda, cihazla haberleşme tamamen Python tarafından gerçekleşir. DeviceTester arayüz konumundadır.
Aşağıdaki videoda VISA kullanarak Siglent marka spectrum analizör ve osiloskopun DeviceTester üzerinden kontrolü gösterilmektedir.