ÜÇ TEMEL GEREKLİLİK

  • Komut kütüphanesi oluşturma
  • Komut paketi oluşturmak için gerekli hesaplamaları otomatize etme
  • Gelen cevabın analizi

ÜÇ EĞİTİMSEL FAYDA

  • Bit, byte, decimal, hex, ascii vb. kavramların anlaşılması
  • Komut protokolü ve checksum kavramlarının anlaşılması
  • Temel haberleşmenin anlaşılması (TCP,UDP,SNMP,Serial Port vb.)
Download DeviceTester

İHTİYACI DOĞURAN SEBEPLER

  • 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

 

Gİ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.

Device Tester Olmaksızın Sürecin İşleyişi

Şimdi bu blokları teker teker uyguladığımız bir örnek yapalım.

Device Tester Kullanarak Sürecin İşleyişi

Aşağıdaki videoda ise bir cihazla haberleşme sürecinin DeviceTester kullanılarak nasıl gerçeklendiği açıklanıyor.

Farklı Uygulamalar

ComPort ve Timer Kullanımı

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.

Python Uygulamaları

Paketin Python Tarafından Oluşturulması

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.

Komut Gönderilirken Python Kullanılması

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.

Python VISA Testi

Aşağıdaki videoda VISA kullanarak Siglent marka spectrum analizör ve osiloskopun DeviceTester üzerinden kontrolü gösterilmektedir.