Google s'est engagé à promouvoir l'équité raciale pour les communautés noires. Regarde comment.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Configuration de l'automatisation de la certification

Pour automatiser les tests de certification, une configuration supplémentaire est requise.

Toutes les étapes d'installation et de configuration ci-dessous se produisent sur la machine Windows exécutant le logiciel GRL Test Harness. Téléchargez et installez le dernier harnais de test de filetage GRL avant de continuer.

Une fois installé, il existe deux méthodes d'automatisation pour l'appareil à tester (DUT):

  1. Outil d'automatisation de faisceau OpenThread
  2. Test du mode DUT automatique du faisceau

Outil d'automatisation de faisceau OpenThread

Installer

  1. Installez les logiciels suivants:
    • Python 2.7
    • Git pour Windows (la prise en charge de Bash est fortement recommandée)
  2. Clonez le référentiel OpenThread pour obtenir les scripts d'automatisation:
    git clone https://github.com/openthread/openthread
    
  3. Installez les exigences Python:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. Installez à la fois Google Chrome et ChromeDriver .

Configurer

  1. Créez un fichier de configuration pour l'outil d'automatisation:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. Mettez à jour ce nouveau fichier de configuration en suivant les instructions du fichier.
  3. Ajoutez le paramètre suivant au fichier de configuration Test Harness, qui se trouve dans C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

Support de banc d'essai mixte

L'outil d'automatisation de harnais prend également en charge les bancs de test mixtes, où les dispositifs de référence utilisés dans chaque cas de test sont un ensemble mixte de dispositifs plutôt que le même dispositif. Par exemple, au lieu d'utiliser 32 cartes TI CC2538 exécutant OpenThread pour tous les cas de test, vous pouvez mélanger et faire correspondre les quatre périphériques de référence Thread pour chaque cas de test comme vous le souhaitez.

Pour utiliser des bancs d'essai mixtes, une configuration supplémentaire est nécessaire:

  1. Ajoutez le paramètre supplémentaire suivant au fichier de configuration de Test Harness, trouvé dans C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. Téléchargez le fichier de configuration de la topologie à partir du groupe de threads . Ajoutez ce fichier en tant que TopologyConfig.txt à C:\GRL\Thread1.1\Thread_Harness\TestScripts . Ce fichier détaille le périphérique de référence à utiliser pour chaque rôle dans chaque scénario de test.

Le fichier de configuration de topologie fourni par le Thread Group peut être modifié pour d'autres configurations de lit mixte, mais pour la certification officielle, la configuration d'origine doit être utilisée.

Les valeurs valides à utiliser pour les périphériques de référence dans le fichier de configuration de topologie sont:

Valeur dans le fichier de configuration de la topologie Dispositif de référence du faisceau d'essai
ARM BRAS: NXP FRDM-K64F avec bouclier Firefly 6LoWPAN
NXP NXP (Freescale): Dongles USB-KW24D512
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: clé USB EM358x

Chaque entrée de scénario de test dans le fichier de configuration de la topologie doit être sur une ligne distincte et formatée dans le role:device paires d' role:device comme suit:

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

Test du mode DUT automatique du faisceau

Le logiciel GRL Test Harness fournit une fonction avancée de découverte automatique (Auto DUT) qui accélère le processus de validation pour les fournisseurs de piles de référence Thread.

OpenThread fournit un exemple d' interface de contrôleur d'hôte de thread (THCI) qui permet au faisceau de test de contrôler votre composant ou produit comme s'il s'agissait de l'une des plates-formes de référence. Selon les caractéristiques du port série de votre plate-forme spécifique, votre DUT pourrait soit:

Agissant en tant que plate-forme de référence OpenThread existante

Si le port série du DUT fonctionne sous les paramètres de 115200 8-N-1 et que l'appareil répond correctement après chaque réinitialisation de l'appareil physique (par exemple, pour confirmer la connexion valide de l'appareil à la machine Windows), la plate-forme peut utiliser le Outil OpenThread THCI. Cet outil permet à l'appareil d'agir en tant que plate-forme de référence OpenThread pendant les tests.

  1. Fermez le faisceau de test GRL, s'il est ouvert.
  2. Connectez l'appareil à la machine Windows.
  3. Recherchez l'identifiant matériel du port série de l'appareil, à l'aide du module Python pySerial:
    1. Installez pySerial sur la machine Windows.
    2. Utilisez Python sur la ligne de commande Windows pour énumérer tous les identificateurs matériels (VID et PID) des périphériques connectés à la machine. Dans cette sortie, un appareil est connecté avec un identifiant VID = 1366 et PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Si vous connaissez déjà le port COM, vous pouvez utiliser une commande différente. Par exemple, si le port COM est 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. Mettez à jour la liste Golden Device:
    1. Ouvrez C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Mettez à jour le groupe OpenThread dans le tableau GoldenDeviceHardwareIds avec le VID et le PID du ou des périphériques:
      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. Activez le mode Auto DUT .

Agir comme une nouvelle plateforme de référence

Si le port série du DUT ne fonctionne pas avec les paramètres de port série appropriés, ou si l'appareil ne répond pas correctement après une réinitialisation physique du périphérique (produit un code illisible dans les 3-6 secondes suivant la réinitialisation), alors OpenThread THCI peut être personnalisé pour traiter l'appareil en tant que nouvelle plate-forme dans le faisceau de test.

Par exemple, pour personnaliser THCI à l'aide de la plate-forme Nordic Semiconductor nRF52840 :

  1. Fermez le faisceau de test GRL, s'il est ouvert.
  2. Modifiez /tools/harness-thci/OpenThread.py fonction des caractéristiques UART du périphérique cible. Les modifications peuvent différer entre les équipements cibles. Dans le cas de la plateforme Nordic nRF52840:

    1. Renommez le OpenThread.py fichier à nRF52840.py .
    2. Remplacez les trois premières occurrences de "OpenThread" par "nRF52840":

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. Modifiez les paramètres du port série:

      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. Modifiez le temps de veille pour éliminer l'impact de la sortie de code illisible après la réinitialisation de l'appareil:

      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. Copiez le fichier nRF52840.py modifié dans C:\GRL\Thread1.1\Thread_Harness\THCI

  4. Ajoutez les nouvelles informations de plate-forme au faisceau de test:

    1. Créez une icône (au format png ou jpg) pour faciliter la différenciation de votre plateforme et copiez-la dans C:\GRL\Thread1.1\Web\images .
    2. Mettez à jour C:\GRL\Thread1.1\Web\data\deviceInputFields.xml avec une nouvelle section DEVICE , où le paramètre de thumbnail est le fichier d'icône:

       <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. Connectez l'appareil à la machine Windows.

  6. Recherchez l'identifiant matériel du port série de l'appareil, à l'aide du module Python pySerial:

    1. Installez pySerial sur la machine Windows.
    2. Utilisez Python sur la ligne de commande Windows pour énumérer tous les identificateurs matériels (VID et PID) des périphériques connectés à la machine. Dans cette sortie, un appareil est connecté avec un identifiant VID = 1366 et PID = 1015:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. Si vous connaissez déjà le port COM, vous pouvez utiliser une commande différente. Par exemple, si le port COM est 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. Mettez à jour la liste Golden Device:

    1. Ouvrez C:\GRL\Thread1.1\Config\Configuration.ini .
    2. Ajoutez un nouveau groupe de plates-formes dans le tableau GoldenDeviceHardwareIds avec le VID et le PID de l'appareil:
      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. Activez le mode Auto DUT .

Activer le mode DUT automatique

Une fois l'une des deux options de configuration ci-dessus terminée:

  1. Ouvrez le faisceau de test GRL, le périphérique / port apparaît maintenant comme un nouveau périphérique de référence.
  2. Cochez la case Activer la sélection automatique du dispositif DUT sous la liste Matériel pris en charge.
  3. Sélectionnez le bouton radio Définir comme DUT sous le périphérique / port cible pour définir le périphérique comme DUT.
Certification OT Auto DUT