Google jest zaangażowana w pogłębianie równości rasowej dla czarnych społecznościach. Zobacz jak.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Certyfikacja Automatyzacja Ustawienia

Aby zautomatyzować testy certyfikacyjne, wymagana jest dodatkowa konfiguracja.

Wszystkie poniższe kroki instalacji i konfiguracji wystąpić na komputerze z systemem Windows z zainstalowanym oprogramowaniem GRL test uprzęży. Pobierz i zainstaluj najnowszą GRL wątek testowy Uprząż przed kontynuowaniem.

Po zainstalowaniu, istnieją dwa sposoby automatyki dla testowanego urządzenia (DUT)

  1. OpenThread Uprząż Automation Narzędzie
  2. Tryb testowy Uprząż Auto DUT

OpenThread Uprząż Automation Narzędzie

zainstalować

  1. Zainstalować następujące oprogramowanie:
    • Python 2.7
    • Git dla Windows (wsparcie atakujących jest wysoce zalecane)
  2. Klon repozytorium OpenThread uzyskać skryptów automatyzacji:
    git clone https://github.com/openthread/openthread
    
  3. Zainstalować wymagania Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Zainstalować zarówno Google Chrome i ChromeDriver .

Konfiguracja

  1. Utworzyć plik konfiguracyjny dla narzędzia automatyzacji:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Aktualizować ten nowy plik konfiguracyjny zgodnie z instrukcjami zawartymi w pliku.
  3. Dodaj następujący parametr do pliku konfiguracyjnego test uprząż, znalezionego w C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Mieszane wsparcie testowa

Uprząż Automation Narzędzie obsługuje również mieszane stoiska do testów, w których urządzenia referencyjne stosowane w każdym przypadku badań są mieszane zestaw urządzeń, a nie wszyscy to samo urządzenie. Na przykład, zamiast korzystania z 32 desek TI CC2538 uruchomione OpenThread dla wszystkich przypadków testowych, można mieszać i łączyć między wszystkimi czterema urządzeniami referencyjnymi wątku dla każdego przypadku testowego zgodnie z zapotrzebowaniem.

Aby korzystać mieszane stoiska do testów, dodatkowa konfiguracja nie jest potrzebna:

  1. Dodaj następujący dodatkowy parametr do pliku konfiguracyjnego test uprząż, znalezionego w C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Pobierz plik konfiguracyjny topologia z grupy wątków . Dodaj ten plik jako TopologyConfig.txt do C:\GRL\Thread1.1\Thread_Harness\TestScripts . Te dane, które odniesienia Urządzenie pliku stosowany do każdej roli, w każdym przypadku testowego.

Plik konfiguracyjny topologia świadczone przez Grupę wątek może być modyfikowany w innych konfiguracjach złoże mieszane, ale na oficjalnej certyfikacji należy stosować oryginalna konfiguracja.

Prawidłowe wartości do wykorzystania na urządzeniach referencyjnych w pliku konfiguracji topologii są:

Wartość w pliku konfiguracyjnym topologii Urządzenie wiązki odniesienia testu
ARM ARM: NXP FRDM-K64F z Firefly 6LoWPAN Tarcza
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x Pamięć USB

Każdy przypadek testowy wpis w pliku konfiguracyjnym Topologia musi być w osobnej linii i sformatowany w role:device parami w następujący sposób:

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

Tryb testowy Uprząż Auto DUT

Oprogramowanie GRL test Szelki zapewnia zaawansowaną funkcję automatycznego wykrywania (Auto DUT) co przyspiesza proces walidacji dla sprzedawców odniesienia Temat stosie.

OpenThread stanowi przykład Host Controller Interface wątku (thci) , który pozwala uprzęży testu kontrolować swój produkt lub składnik jakby to była jedna z platform referencyjnych. Zgodnie z seryjnymi cech portowych konkretnej platformy, DUT może albo:

Działając jako istniejącą platformę referencyjną OpenThread

Jeżeli port szeregowy funkcji testowane pod ustawieniami 115200 8-N-1 i urządzenie reaguje poprawnie po każdym fizycznym resecie urządzenia (na przykład, aby potwierdzić urządzenia ważnego połączenia z komputera z systemem Windows), a następnie platforma może użyć narzędzie OpenThread thci. To narzędzie pozwala na urządzenie do pełnienia funkcji platformy referencyjnej OpenThread podczas testowania.

  1. Zamknąć GRL testową uprząż, jeśli jest ona otwarta.
  2. Podłącz urządzenie do komputera z systemem Windows.
  3. Znajdź identyfikator sprzętowy portu szeregowego urządzenie, za pomocą modułu Python pyserial:
    1. Pyserial zainstalować na komputerze z systemem Windows.
    2. Zastosowanie Pythona w wierszu poleceń systemu Windows, aby wyliczyć wszystkie identyfikatory sprzętowe (VID i PID) dla urządzeń podłączonych do urządzenia. W tego wyjścia, jedno urządzenie jest połączone z identyfikatorem VID = 1366 i PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Jeśli wiesz już port COM, można użyć innego polecenia. Na przykład, jeżeli port COM jest 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. Złoty zaktualizować listę urządzeń:
    1. Otwórz C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Jako grupę OpenThread w GoldenDeviceHardwareIds tablicę z VID i PID urządzenia (S)
      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. Włącz tryb Auto DUT .

Działając jako nową platformę referencyjną

Jeśli port seryjny DUT nie działa zgodnie z odpowiednimi ustawieniami portu szeregowego, czy urządzenie nie reaguje poprawnie po zresetowaniu urządzenia (fizycznego wyjścia kod nieczytelny ciągu 3-6 sekund reset), a następnie OpenThread thci można dostosować do leczenia urządzenie jako nową platformę w zespole testowym.

Na przykład, aby dostosować thci pomocą Nordic Semiconductor nRF52840 platformy:

  1. Zamknąć GRL testową uprząż, jeśli jest ona otwarta.
  2. Zmienić /tools/harness-thci/OpenThread.py oparciu o cechy UART urządzenia docelowego. Modyfikacje mogą różnić się między urządzeniami docelowymi. W przypadku platformy Nordic nRF52840:

    1. Zmiana nazwy OpenThread.py plik nRF52840.py .
    2. Zmień pierwszych trzech wystąpień „OpenThread” do „nRF52840”:

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Zmiana parametrów portu szeregowego:

      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. Zmiana czasu uśpienia w celu wyeliminowania wpływu nieczytelnym kodem wyjścia po resecie urządzenia:

      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. Skopiuj zmodyfikowany nRF52840.py plik C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Dodaj nowe informacje platformy do uprzęży testu:

    1. Utwórz ikonę (w formacie PNG lub JPG), aby łatwiej było odróżnić swoją platformę i skopiować go do C:\GRL\Thread1.1\Web\images .
    2. Aktualizacja C:\GRL\Thread1.1\Web\data\deviceInputFields.xml z nowym DEVICE sekcji, gdzie thumbnail parametrem jest plik ikona:

       <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. Podłącz urządzenie do komputera z systemem Windows.

  6. Znajdź identyfikator sprzętowy portu szeregowego urządzenie, za pomocą modułu Python pyserial:

    1. Pyserial zainstalować na komputerze z systemem Windows.
    2. Zastosowanie Pythona w wierszu poleceń systemu Windows, aby wyliczyć wszystkie identyfikatory sprzętowe (VID i PID) dla urządzeń podłączonych do urządzenia. W tego wyjścia, jedno urządzenie jest połączone z identyfikatorem VID = 1366 i PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Jeśli wiesz już port COM, można użyć innego polecenia. Na przykład, jeżeli port COM jest 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. Złoty zaktualizować listę urządzeń:

    1. Otwórz C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Dodaj nową grupę Platforma w GoldenDeviceHardwareIds tablicy z VID i PID urządzenia:
      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. Włącz tryb Auto DUT .

Włącz tryb Auto DUT

Po jednej z dwóch powyższych opcji konfiguracyjnych są kompletne:

  1. Otwórz GRL testową uprząż, urządzenie / port pojawia się teraz jako nowe urządzenie odniesienia.
  2. Wybierz Enable Auto testowane wyboru urządzenia pole poniżej listy obsługiwanego sprzętu.
  3. Wybierz Ustaw jako DUT opcję pod urządzeniem docelowym / port ustawić urządzenie jako DUT.
OT Certyfikat Auto DUT