Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Sertifika Otomasyon Kurulumu

Sertifika testlerini otomatikleştirmek için ek kurulum gerekir.

Aşağıdaki tüm kurulum ve yapılandırma adımları, GRL Test Demeti yazılımını çalıştıran Windows makinesinde gerçekleşir. Devam etmeden önce en son GRL Thread Test Kablo Demetini indirin ve kurun.

Kurulduktan sonra, test edilen cihaz için iki otomasyon yöntemi vardır (DUT):

  1. OpenThread Kablo Demeti Otomasyon Aracı
  2. Kablo Demeti Otomatik DUT modunu test edin

OpenThread Kablo Demeti Otomasyon Aracı

Yüklemek

  1. Aşağıdaki yazılımı yükleyin:
    • Python 2.7
    • Windows için Git (Bash desteği şiddetle önerilir)
  2. Otomasyon komut dosyalarını almak için OpenThread deposunu kopyalayın:
    git clone https://github.com/openthread/openthread
    
  3. Python gereksinimlerini yükleyin:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Hem Google Chrome'u hem de ChromeDriver'ı yükleyin.

Yapılandır

  1. Otomasyon aracı için bir yapılandırma dosyası oluşturun:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Bu yeni yapılandırma dosyasını, dosyadaki talimatlara göre güncelleyin.
  3. C:\GRL\Thread1.1\Config\Configuration.ini bulunan Test Demeti yapılandırma dosyasına aşağıdaki parametreyi ekleyin:
    BrowserAutoNavigate = False

Karma test yatağı desteği

Kablo Demeti Otomasyon Aracı ayrıca, her test durumunda kullanılan referans cihazların aynı cihazdan ziyade karışık bir cihaz seti olduğu karışık test yataklarını da destekler. Örneğin, tüm test senaryoları için OpenThread çalıştıran 32 TI CC2538 panosu kullanmak yerine, her test senaryosu için dört Thread referans cihazının hepsini istediğiniz gibi karıştırabilir ve eşleştirebilirsiniz.

Karışık test yataklarını kullanmak için ek yapılandırma gereklidir:

  1. C:\GRL\Thread1.1\Config\Configuration.ini bulunan Test Demeti yapılandırma dosyasına aşağıdaki ek parametreyi ekleyin:
    EnableDeviceSelection = True
  2. Konu grubundan topoloji yapılandırma dosyasını indirin . Bu dosyayı C:\GRL\Thread1.1\Thread_Harness\TestScripts TopologyConfig.txt olarak C:\GRL\Thread1.1\Thread_Harness\TestScripts . Bu dosya, her test durumunda her rol için hangi aygıtın kullanılacağını açıklar.

İş Parçacığı Grubu tarafından sağlanan topoloji yapılandırma dosyası diğer karışık yatak yapılandırmaları için değiştirilebilir, ancak resmi sertifika için orijinal yapılandırma kullanılmalıdır.

Topoloji yapılandırma dosyasındaki referans cihazlar için kullanılacak geçerli değerler şunlardır:

Topoloji yapılandırma dosyasındaki değer Test Demeti referans cihazı
ARM ARM: NXP FRDM-K64F, Firefly 6LoWPAN Shield ile
NXP NXP (Serbest Ölçekli): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silablar: EM358x USB Bellek

Topoloji yapılandırma dosyasındaki her test durumu girişi ayrı bir satırda olmalı ve role:device biçimlendirilmelidir role:device aşağıdaki gibi eşleşir:

5.3.10-Leader:NXP,Router_1:OpenThread,BorderRouter:OpenThread,MED_1:ARM

Kablo Demeti Otomatik DUT modunu test edin

GRL Test Demeti yazılımı, Thread referans yığını satıcıları için doğrulama işlemini hızlandıran gelişmiş bir otomatik keşif özelliği (Otomatik DUT) sağlar.

OpenThread, Test Kablo Demeti'nin bileşeninizi veya ürününüzü referans platformlarından biriymiş gibi kontrol etmesini sağlayan örnek bir Ana Makine Denetleyici Arabirimi (THCI) sağlar. Platformunuzun seri bağlantı noktası özelliklerine göre, DUT ürününüz aşağıdakilerden birini yapabilir:

Mevcut OpenThread referans platformu olarak hareket etme

DUT'un seri bağlantı noktası 115200 8-N-1 ayarları altında çalışıyorsa ve aygıt her fiziksel aygıt sıfırlandıktan sonra doğru yanıt veriyorsa (örneğin, aygıtın Windows makinesine geçerli bağlantısını onaylamak için), platform OpenThread THCI aracı. Bu araç, cihazın test sırasında OpenThread referans platformu olarak işlev görmesini sağlar.

  1. Açıksa GRL Test Kablo Demeti'ni kapatın.
  2. Aygıtı Windows makinesine takın.
  3. Python pySerial modülünü kullanarak aygıt seri bağlantı noktası donanım tanımlayıcısını bulun:
    1. Windows makinesine pySerial'ı yükleyin .
    2. Makineye bağlı aygıtlar için tüm donanım tanımlayıcılarını (VID ve PID) numaralandırmak için Windows komut satırında Python kullanın. Bu çıkışta, bir cihaz VID = 1366 ve PID = 1015 tanımlayıcısına bağlanır:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. COM bağlantı noktasını zaten biliyorsanız, farklı bir komut kullanabilirsiniz. Örneğin, COM bağlantı noktası COM10 :
       python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
      ['USB\ VID_1366+PID_1015 +MI_00']
  4. Altın Cihaz listesini güncelleyin:
    1. C:\GRL\Thread1.1\Config\Configuration.ini açın.
    2. GoldenDeviceHardwareIds dizisindeki OpenThread grubunu GoldenDeviceHardwareIds VID ve PID'si ile güncelleyin:
      GoldenDeviceHardwareIds = {
      'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
      'SiLabs': 'VID:PID=10C4:8A5E',
      'ARM': 'VID:PID=0D28:0204',
      'OpenThread':['VID:PID=10C4:EA60', 'VID:PID=1366:1015' ]}
  5. Otomatik DUT modunu etkinleştirin .

Yeni bir referans platformu olarak hareket etmek

DUT'un seri bağlantı noktası uygun seri bağlantı noktası ayarları altında çalışmazsa veya fiziksel bir aygıt sıfırlandıktan sonra aygıt doğru yanıt vermezse (sıfırlanmadan 3-6 saniye içinde okunamayan kod verir), o zaman OpenThread THCI tedavi için özelleştirilebilir cihazı Test Kablo Demeti'nde yeni bir platform olarak kullanabilirsiniz.

Örneğin, Nordic Semiconductor nRF52840 platformunu kullanarak THCI'yi özelleştirmek için:

  1. Açıksa GRL Test Kablo Demeti'ni kapatın.
  2. /tools/harness-thci/OpenThread.py hedef aygıtın UART özelliklerine göre değiştirin. Değişiklikler hedef cihazlar arasında farklılık gösterebilir. Nordic nRF52840 platformu söz konusu olduğunda:

    1. Rename OpenThread.py dosyayı nRF52840.py .
    2. "OpenThread" in ilk üç örneğini "nRF52840" olarak değiştirin:

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Seri bağlantı noktası parametrelerini değiştirin:

      def _connect(self):
          print 'My port is %s' % self.port
          if self.port.startswith('COM'):
              self.handle = serial.Serial(self.port, 115200, timeout=0)
              time.sleep(1)
              self.handle.write('\r\n')
              time.sleep(0.1)
              self._is_net = False
          elif ':' in self.port:
              host, port = self.port.split(':')
              self.handle = socket.create_connection((host, port))
              self.handle.setblocking(0)
              self._is_net = True
          else:
              raise Exception('Unknown port schema')
          self.UIStatusMsg = self.getVersionNumber()
      
    4. Cihaz sıfırlandıktan sonra okunamayan kod çıkışının etkisini ortadan kaldırmak için uyku süresini değiştirin:

      def powerDown(self):
          """power down the Thread device"""
          print '%s call powerDown' % self.port
          self._sendline('reset')
          self.isPowerDown = True
          time.sleep(8)  # New addition
      
      def reboot(self):
          """reset and rejoin to Thread Network without any timeout
      
          Returns:
              True: successful to reset and rejoin the Thread Network
              False: fail to reset and rejoin the Thread Network
          """
          print '%s call reboot' % self.port
          try:
              self._sendline('reset')
              self.isPowerDown = True
              time.sleep(8)  # Updated from 3 to 8
      
      def reset(self):
          """factory reset"""
          print '%s call reset' % self.port
          try:
              self._sendline('factoryreset')
              time.sleep(8)  # Updated from 3 to 8
              self._read()
      
      def resetAndRejoin(self, timeout):
          """reset and join back Thread Network with a given timeout delay
      
          Args:
              timeout: a timeout interval before rejoin Thread Network
      
          Returns:
              True: successful to reset and rejoin Thread Network
              False: fail to reset and rejoin the Thread Network
          """
          print '%s call resetAndRejoin' % self.port
          print timeout
          try:
              self._sendline('reset')
              self.isPowerDown = True
              time.sleep(timeout)
              if timeout < 8:      # Sleep a bit longer if the timeout is short
                  time.sleep(8 - timeout)
      
  3. Değiştirilmiş nRF52840.py dosyasını C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Yeni platform bilgilerini Test Donanımı'na ekleyin:

    1. Platformunuzu farklılaştırmayı kolaylaştırmak ve C:\GRL\Thread1.1\Web\images kopyalamak için bir simge (png veya jpg biçiminde) oluşturun.
    2. Küçük thumbnail parametresinin simge dosyası olduğu C:\GRL\Thread1.1\Web\data\deviceInputFields.xml yeni bir DEVICE bölümü ile güncelleyin:

       <DEVICE name="nRF52840" thumbnail="nRF52840.jpg" description ="nRF52840: Nordic" THCI="nRF52840">
          <ITEM label="Serial Line"
                type="text"
                forParam="SerialPort"
                validation="COM"
                hint="eg: COM1">COM
          </ITEM>
          <ITEM label="Speed"
                type="text"
                forParam="SerialBaudRate"
                validation="baud-rate"
                hint="eg: 115200">115200
          </ITEM>
      </DEVICE>
       
  5. Aygıtı Windows makinesine takın.

  6. Python pySerial modülünü kullanarak aygıt seri bağlantı noktası donanım tanımlayıcısını bulun:

    1. Windows makinesine pySerial'ı yükleyin .
    2. Makineye bağlı aygıtlar için tüm donanım tanımlayıcılarını (VID ve PID) numaralandırmak için Windows komut satırında Python kullanın. Bu çıkışta, bir cihaz VID = 1366 ve PID = 1015 tanımlayıcısına bağlanır:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. COM bağlantı noktasını zaten biliyorsanız, farklı bir komut kullanabilirsiniz. Örneğin, COM bağlantı noktası COM10 :
       python -c "import serial.tools.list_ports;print [ports[2] for ports in serial.tools.list_ports.comports() if ports[0] == 'COM10']"
      ['USB\ VID_1366+PID_1015 +MI_00']
  7. Altın Cihaz listesini güncelleyin:

    1. C:\GRL\Thread1.1\Config\Configuration.ini açın.
    2. GoldenDeviceHardwareIds dizisine cihazın VID ve PID'si ile yeni bir platform grubu ekleyin:
      GoldenDeviceHardwareIds = {
      'NXP': ['VID:PID=1FC9:0300','VID:PID=15A2:0300','VID:PID=1366:1015'],
      'SiLabs': 'VID:PID=10C4:8A5E',
      'ARM': 'VID:PID=0D28:0204',
      'OpenThread':'VID:PID=10C4:EA60',
      'nRF52840': 'VID:PID=1366:1015' }
  8. Otomatik DUT modunu etkinleştirin .

Otomatik DUT modunu etkinleştir

Yukarıdaki iki yapılandırma seçeneğinden biri tamamlandıktan sonra:

  1. GRL Test Kablo Demeti'ni açın, cihaz / bağlantı noktası artık yeni bir referans cihazı olarak görünür.
  2. Desteklenen Donanım listesinin altındaki Otomatik DUT Aygıtı Seçimini Etkinleştir onay kutusunu seçin.
  3. Cihazı DUT olarak ayarlamak için hedef cihazın / portun altındaki DUT olarak ayarla radyo düğmesini seçin.
OT Sertifikası Otomatik Görev