Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Einrichtung der Zertifizierungsautomatisierung

Um Automatisierungstests zu automatisieren, ist eine zusätzliche Einrichtung erforderlich.

Alle folgenden Installations- und Konfigurationsschritte werden auf dem Windows-Computer ausgeführt, auf dem die GRL-Testkabelbaumsoftware ausgeführt wird. Laden Sie den neuesten GRL-Gewindetestkabelbaum herunter und installieren Sie ihn, bevor Sie fortfahren.

Nach der Installation gibt es zwei Automatisierungsmethoden für das zu testende Gerät (DUT):

  1. OpenThread Harness Automation Tool
  2. Testen Sie den Auto DUT-Modus des Kabelbaums

OpenThread Harness Automation Tool

Installieren

  1. Installieren Sie die folgende Software:
    • Python 2.7
    • Git für Windows (Bash-Unterstützung wird dringend empfohlen)
  2. Klonen Sie das OpenThread-Repository, um die Automatisierungsskripte abzurufen:
    git clone https://github.com/openthread/openthread
    
  3. Installieren Sie die Python-Anforderungen:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Installieren Sie sowohl Google Chrome als auch ChromeDriver .

Konfigurieren

  1. Erstellen Sie eine Konfigurationsdatei für das Automatisierungstool:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Aktualisieren Sie diese neue Konfigurationsdatei gemäß den Anweisungen in der Datei.
  3. Fügen Sie der Test Harness-Konfigurationsdatei unter C:\GRL\Thread1.1\Config\Configuration.ini den folgenden Parameter hinzu C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Gemischte Testbed-Unterstützung

Das Harness Automation Tool unterstützt auch gemischte Testumgebungen, bei denen die in jedem Testfall verwendeten Referenzgeräte ein gemischter Satz von Geräten sind und nicht alle dasselbe Gerät. Anstatt beispielsweise 32 TI CC2538-Karten zu verwenden, auf denen OpenThread für alle Testfälle ausgeführt wird, können Sie nach Bedarf alle vier Thread-Referenzgeräte für jeden Testfall mischen und anpassen.

Für die Verwendung gemischter Prüfstände ist eine zusätzliche Konfiguration erforderlich:

  1. Fügen Sie der Test Harness-Konfigurationsdatei unter C:\GRL\Thread1.1\Config\Configuration.ini den folgenden zusätzlichen Parameter hinzu:
    EnableDeviceSelection = True
  2. Laden Sie die Topologie-Konfigurationsdatei von der Thread-Gruppe herunter . Fügen Sie diese Datei als TopologyConfig.txt zu C:\GRL\Thread1.1\Thread_Harness\TestScripts . In dieser Datei wird angegeben, welches Referenzgerät für jede Rolle in jedem Testfall verwendet werden soll.

Die von der Thread-Gruppe bereitgestellte Topologie-Konfigurationsdatei kann für andere Mischbettkonfigurationen geändert werden. Für die offizielle Zertifizierung muss jedoch die ursprüngliche Konfiguration verwendet werden.

Gültige Werte für Referenzgeräte in der Topologiekonfigurationsdatei sind:

Wert in der Topologie-Konfigurationsdatei Referenzgerät für Kabelbaum prüfen
ARM ARM: NXP FRDM-K64F mit Firefly 6LoWPAN Shield
NXP NXP (Freescale): USB-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x USB Stick

Jeder Testfalleintrag in der Topologiekonfigurationsdatei muss in einer separaten Zeile stehen und wie folgt in role:device formatiert sein:

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

Testkabelbaum Auto DUT-Modus

Die GRL Test Harness-Software bietet eine erweiterte Auto Discovery-Funktion (Auto DUT), die den Validierungsprozess für Thread-Referenzstapel-Anbieter beschleunigt.

OpenThread bietet ein Beispiel für eine Thread-Host-Controller-Schnittstelle (THCI) , mit der der Testkabelbaum Ihre Komponente oder Ihr Produkt so steuern kann, als wäre es eine der Referenzplattformen. Entsprechend den Eigenschaften der seriellen Schnittstelle Ihrer spezifischen Plattform kann Ihr Prüfling entweder:

Als vorhandene OpenThread-Referenzplattform fungieren

Wenn die serielle Schnittstelle des Prüflings unter den Einstellungen von 115200 8-N-1 funktioniert und das Gerät nach jedem Zurücksetzen des physischen Geräts korrekt reagiert (z. B. um die gültige Verbindung des Geräts mit dem Windows-Computer zu bestätigen), kann die Plattform das verwenden OpenThread THCI-Tool. Mit diesem Tool kann das Gerät während des Tests als OpenThread-Referenzplattform fungieren.

  1. Schließen Sie den GRL-Testkabelbaum, falls er geöffnet ist.
  2. Schließen Sie das Gerät an den Windows-Computer an.
  3. Suchen Sie mithilfe des Python pySerial-Moduls die Hardware-ID der seriellen Schnittstelle des Geräts:
    1. Installieren Sie pySerial auf dem Windows-Computer.
    2. Verwenden Sie Python in der Windows-Befehlszeile, um alle Hardware-IDs (VID und PID) für an den Computer angeschlossene Geräte aufzulisten. In diesem Ausgang ist ein Gerät mit einer Kennung von VID = 1366 und PID = 1015:
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\VID_1366+PID_1015+MI_00
      verbunden
    3. Wenn Sie den COM-Anschluss bereits kennen, können Sie einen anderen Befehl verwenden. Beispiel: Wenn der COM-Port 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. Aktualisieren Sie die Liste der goldenen Geräte:
    1. Öffnen Sie C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Aktualisieren Sie die OpenThread-Gruppe im GoldenDeviceHardwareIds Array mit der VID und PID des Geräts (der Geräte):
      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. Aktivieren Sie den Auto DUT-Modus .

Als neue Referenzplattform fungieren

Wenn die serielle Schnittstelle des Prüflings unter den richtigen Einstellungen für die serielle Schnittstelle nicht funktioniert oder das Gerät nach einem Zurücksetzen des physischen Geräts nicht richtig reagiert (gibt unlesbaren Code innerhalb von 3-6 Sekunden nach dem Zurücksetzen aus), kann OpenThread THCI zur Behandlung angepasst werden das Gerät als neue Plattform im Testkabelbaum.

So passen Sie beispielsweise THCI mithilfe der Nordic Semiconductor nRF52840- Plattform an:

  1. Schließen Sie den GRL-Testkabelbaum, falls er geöffnet ist.
  2. /tools/harness-thci/OpenThread.py basierend auf den UART-Eigenschaften des Zielgeräts. Änderungen können zwischen den Zielgeräten unterschiedlich sein. Im Fall der nordischen nRF52840-Plattform:

    1. OpenThread.py Datei nRF52840.py in nRF52840.py .
    2. Ändern Sie die ersten drei Vorkommen von "OpenThread" in "nRF52840":

      >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
      
    3. Ändern Sie die Parameter der seriellen Schnittstelle:

      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. Ändern Sie die Ruhezeit, um die Auswirkungen der Ausgabe von nicht lesbarem Code nach dem Zurücksetzen des Geräts zu beseitigen:

      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. Kopieren Sie die geänderte Datei nRF52840.py nach C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Fügen Sie die neuen Plattforminformationen zum Testkabelbaum hinzu:

    1. Erstellen Sie ein Symbol (im PNG- oder JPG-Format), um die Unterscheidung Ihrer Plattform zu vereinfachen, und kopieren Sie es nach C:\GRL\Thread1.1\Web\images .
    2. Aktualisieren Sie C:\GRL\Thread1.1\Web\data\deviceInputFields.xml mit einem neuen DEVICE Abschnitt, in dem der thumbnail DEVICE ist:

      <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. Schließen Sie das Gerät an den Windows-Computer an.

  6. Suchen Sie mithilfe des Python pySerial-Moduls die Hardware-ID der seriellen Schnittstelle des Geräts:

    1. Installieren Sie pySerial auf dem Windows-Computer.
    2. Verwenden Sie Python in der Windows-Befehlszeile, um alle Hardware-IDs (VID und PID) für an den Computer angeschlossene Geräte aufzulisten. In diesem Ausgang ist ein Gerät mit einer Kennung von VID = 1366 und PID = 1015:
      python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\VID_1366+PID_1015+MI_00
      verbunden
    3. Wenn Sie den COM-Anschluss bereits kennen, können Sie einen anderen Befehl verwenden. Beispiel: Wenn der COM-Port 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. Aktualisieren Sie die Liste der goldenen Geräte:

    1. Öffnen Sie C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Fügen Sie eine neue Plattformgruppe im GoldenDeviceHardwareIds Array mit der VID und PID des Geräts hinzu:
      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. Aktivieren Sie den Auto DUT-Modus .

Aktivieren Sie den Auto DUT-Modus

Nachdem eine der beiden oben genannten Konfigurationsoptionen abgeschlossen ist:

  1. Öffnen Sie den GRL-Testkabelbaum. Das Gerät / der Port wird jetzt als neues Referenzgerät angezeigt.
  2. Aktivieren Sie das Kontrollkästchen Automatische Auswahl des Prüflings aktivieren unter der Liste der unterstützten Hardware.
  3. Aktivieren Sie das Optionsfeld Als Prüfling festlegen unter dem Zielgerät / Port, um das Gerät als Prüfling festzulegen.
OT-Zertifizierung Auto DUT