Zum Automatisieren von Zertifizierungstests ist eine zusätzliche Einrichtung erforderlich.
Alle folgenden Installations- und Konfigurationsschritte werden auf einem Windows-Computer ausgeführt die GRL Test Harness-Software ausführen. Aktuelle Version herunterladen und installieren GRL-Thread-Test-Harnisch vor dem wird fortgesetzt.
Nach der Installation gibt es zwei Automatisierungsmethoden für das zu testende Gerät. (DUT):
OpenThread-Harness-Automatisierungstool
Installieren
- Installieren Sie die folgende Software:
<ph type="x-smartling-placeholder">
- </ph>
- Python 2.7
- Git für Windows (Bash wird dringend empfohlen)
- Klonen Sie das OpenThread-Repository, um die Automatisierungsskripts abzurufen:
git clone https://github.com/openthread/openthread
- Installieren Sie Python-Anforderungen:
cd tools/harness-automation
pip install -r requirements.txt
- Installieren Sie sowohl Google Chrome als auch ChromeDriver:
Konfigurieren
- Erstellen Sie eine Konfigurationsdatei für das Automatisierungstool:
cp autothreadharness/settings_sample.py autothreadharness/settings.py
- Aktualisieren Sie die neue Konfigurationsdatei gemäß den Anweisungen im -Datei.
- Fügen Sie den folgenden Parameter zur Test Harness-Konfigurationsdatei hinzu, die sich unter
C:\GRL\Thread1.1\Config\Configuration.ini
:BrowserAutoNavigate = False
Gemischte Testbetten-Unterstützung
Das Harness Automation Tool unterstützt auch gemischte Prüfbereiche, in denen die Referenz Geräte, die in den einzelnen Testläufen verwendet werden, sind eine gemischte Gruppe von Geräten und nicht alle auf demselben Gerät. Anstatt beispielsweise 32 TI CC2538-Boards mit OpenThread für alle Testfälle, Sie können alle vier Thread-Versionen Referenzgeräte für jeden Testlauf nach Bedarf.
Zur Verwendung gemischter Testbetten ist eine zusätzliche Konfiguration erforderlich:
- Fügen Sie der Konfiguration des Test-Harnischs den folgenden zusätzlichen Parameter hinzu
Datei, gefunden unter
C:\GRL\Thread1.1\Config\Configuration.ini
:EnableDeviceSelection = True
- Topologie-Konfigurationsdatei aus Thread herunterladen
Gruppieren.
Diese Datei als
TopologyConfig.txt
hinzufügen zuC:\GRL\Thread1.1\Thread_Harness\TestScripts
. In dieser Datei wird angegeben, Referenzgerät, das für jede Rolle in jedem Testfall verwendet wird.
Die von der Thread-Gruppe bereitgestellte Topologiekonfigurationsdatei kann geändert werden für anderen gemischten Betten. Für die offizielle Zertifizierung Konfiguration verwendet werden.
Gültige Werte für Referenzgeräte in der Topologiekonfigurationsdatei sind:
Wert in der Topologiekonfigurationsdatei | Referenzgerät für Test-Harnisch |
---|---|
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 Testlaufeintrag in der Topologiekonfigurationsdatei muss sich auf einem separaten
Zeile und in role:device
-Paaren formatiert:
5.3.10-Leader:NXP,Router_1:OpenThread,BorderRouter:OpenThread,MED_1:ARM
Automatischer DUT-Modus für Harness testen
Die GRL Test Harness-Software bietet eine erweiterte automatische Erkennungsfunktion. (Auto DUT), die den Validierungsprozess für den Thread-Referenzstack beschleunigt Zulieferunternehmen.
OpenThread stellt ein Beispiel Thread-Host-Controller-Schnittstelle (THCI) mit dem der Test-Harnisch Ihre Komponente oder Ihr Produkt so steuern kann, einer der Referenzplattformen. Entsprechend den Eigenschaften des seriellen Ports Plattform angeben, könnte Ihr DUT entweder:
Als bestehende OpenThread-Referenzplattform fungieren
Wenn der serielle Port des DUT mit den Einstellungen von 115200 8-N-1 funktioniert und der das Gerät nach jedem Zurücksetzen eines physischen Geräts korrekt reagiert (z. B. Prüfen Sie die gültige Verbindung des Geräts zum Windows-Computer), dann kann die Plattform das OpenThread-THCI-Tool verwenden kann. Mit diesem Tool kann das Gerät als Referenzplattform OpenThread während des Tests.
- Schließen Sie das GRL-Test-Harnisch, falls es geöffnet ist.
- Verbinden Sie das Gerät mit dem Windows-Computer.
- Ermitteln Sie mithilfe des Python-Typs pySerial die Hardwarekennzeichnung des seriellen Ports des Geräts
Modul:
<ph type="x-smartling-placeholder">
- </ph>
- pySerial installieren auf dem Windows-Rechner.
- Mit Python in der Windows-Befehlszeile alle Hardwarekomponenten auflisten
IDs (VID und PID) für mit dem Gerät verbundene Geräte. In dieser
ist ein Gerät mit der ID VID=1366 verbunden.
PID=1015:
python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: USB\VID_1366+PID_1015+MI_00
- Wenn Sie den COM-Port bereits kennen, können Sie einen anderen Befehl verwenden. Für
Wenn der COM-Port beispielsweise
COM10
ist: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']
- Liste der goldenen Geräte aktualisieren:
<ph type="x-smartling-placeholder">
- </ph>
- Öffnen Sie
C:\GRL\Thread1.1\Config\Configuration.ini
. - OpenThread-Gruppe im Array
GoldenDeviceHardwareIds
aktualisieren durch die VID und PID des/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']}
- Öffnen Sie
- Aktivieren Sie den automatischen DUT-Modus.
Als neue Referenzplattform fungieren
Serieller Port des DUTs unter dem richtigen seriellen Port nicht funktioniert oder das Gerät reagiert nach einem physischen Gerät nicht richtig zurückgesetzt (gibt 3–6 Sekunden nach dem Zurücksetzen unlesbaren Code aus), dann OpenThread THCI kann angepasst werden, um das Gerät im Test als neue Plattform zu behandeln. Geschützen.
Wenn Sie beispielsweise THCI mit Nordic Semiconductor anpassen möchten, nRF52840-Plattform:
- Schließen Sie das GRL-Test-Harnisch, falls es geöffnet ist.
/tools/harness-thci/OpenThread.py
ändern basierend auf den UART-Eigenschaften des Zielgeräts. Änderungen können unterscheiden sich je nach Zielgerät. Im Fall der Nordic-Plattform nRF52840:- Benennen Sie die Datei
OpenThread.py
innRF52840.py
um. Die ersten drei Vorkommen von "OpenThread" ändern an „nRF52840“:
>> Device : nRF52840 THCI >> Class : nRF52840 class nRF52840(IThci):
Ändern Sie die Parameter des seriellen Ports:
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()
Ändern Sie die Ruhezeit, um die Auswirkungen von nicht lesbarem Code zu vermeiden. Nach dem Zurücksetzen des Geräts:
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)
- Benennen Sie die Datei
Kopieren Sie die geänderte Datei
nRF52840.py
nachC:\GRL\Thread1.1\Thread_Harness\THCI
.Fügen Sie dem Test Harness die neuen Plattforminformationen hinzu:
- Erstellen Sie ein Symbol im PNG- oder JPG-Format, um die Unterscheidung zu erleichtern.
Ihre Plattform und kopieren Sie sie nach
C:\GRL\Thread1.1\Web\images
. C:\GRL\Thread1.1\Web\data\deviceInputFields.xml
mit einem neuenDEVICE
, wobei derthumbnail
-Parameter die Symboldatei 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>
- Erstellen Sie ein Symbol im PNG- oder JPG-Format, um die Unterscheidung zu erleichtern.
Ihre Plattform und kopieren Sie sie nach
Verbinden Sie das Gerät mit dem Windows-Computer.
Ermitteln Sie mithilfe des Python-Typs pySerial die Hardwarekennzeichnung des seriellen Ports des Geräts Modul:
- pySerial installieren auf dem Windows-Rechner.
- Mit Python in der Windows-Befehlszeile alle Hardwarekomponenten auflisten
IDs (VID und PID) für mit dem Gerät verbundene Geräte. In dieser
ist ein Gerät mit der ID VID=1366 und
PID=1015:
python -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: USB\VID_1366+PID_1015+MI_00
- Wenn Sie den COM-Port bereits kennen, können Sie einen anderen Befehl verwenden. Für
Wenn der COM-Port beispielsweise
COM10
ist: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']
Liste der goldenen Geräte aktualisieren:
- Öffnen Sie
C:\GRL\Thread1.1\Config\Configuration.ini
. - Neue Plattformgruppe im Array
GoldenDeviceHardwareIds
hinzufügen durch die VID und PID des Geräts: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'}
- Öffnen Sie
Automatischen DUT-Modus aktivieren
Nachdem eine der beiden obigen Konfigurationsoptionen eingerichtet wurde, gehen Sie so vor:
- Öffnen Sie das GRL-Test-Harness. Das Gerät/der Port wird jetzt als neue Referenz angezeigt. .
- Klicken Sie unter der Liste „Unterstützte“ das Kästchen Automatische DUT-Geräteauswahl aktivieren an. Hardwareliste.
- Wählen Sie unter dem Zielgerät bzw. -port das Optionsfeld Als DUT festlegen aus. das Gerät als DUT.