गूगल काले समुदायों के लिए जातीय इक्विटी को आगे बढ़ाने के लिए प्रतिबद्ध है। देखो कैसे।
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

प्रमाणन स्वचालन सेटअप

प्रमाणीकरण परीक्षण को स्वचालित करने के लिए, अतिरिक्त सेटअप की आवश्यकता है।

नीचे सभी स्थापना और विन्यास चरण Windows मशीन GRL टेस्ट हार्नेस सॉफ्टवेयर चलाने पर होते हैं। डाउनलोड करें और नवीनतम स्थापित GRL थ्रेड टेस्ट हार्नेस जारी रखने से पहले।

एक बार स्थापित, वहाँ परीक्षण (DUT) के तहत डिवाइस के लिए दो स्वचालन तरीके हैं:

  1. OpenThread हार्नेस स्वचालन उपकरण
  2. टेस्ट हार्नेस ऑटो DUT मोड

OpenThread हार्नेस स्वचालन उपकरण

इंस्टॉल

  1. निम्नलिखित सॉफ्टवेयर स्थापित करें:
    • अजगर 2.7
    • विंडोज के लिए Git (बैश समर्थन सलाह दी जाती है)
  2. क्लोन OpenThread भंडार स्वचालन स्क्रिप्ट प्राप्त करने के लिए:
    git clone https://github.com/openthread/openthread
    
  3. अजगर आवश्यकताओं स्थापित करें:
    cd tools/harness-automation
    pip install -r requirements.txt
    
  4. दोनों को स्थापित करें गूगल क्रोम और ChromeDriver

कॉन्फ़िगर

  1. स्वचालन उपकरण के लिए एक विन्यास फाइल बनाएं:
    cp autothreadharness/settings_sample.py autothreadharness/settings.py
    
  2. फ़ाइल में निर्देशों के अनुसार है कि नए विन्यास फाइल को अद्यतन करें।
  3. टेस्ट हार्नेस विन्यास फाइल, में पाया करने के लिए निम्न पैरामीटर जोड़ें C:\GRL\Thread1.1\Config\Configuration.ini :
    BrowserAutoNavigate = False

मिश्रित testbed समर्थन

हार्नेस स्वचालन उपकरण भी मिश्रित testbeds, जहां संदर्भ प्रत्येक परीक्षा मामले में इस्तेमाल किया उपकरणों एक मिश्रित बजाय सब एक ही डिवाइस उपकरणों के सेट कर रहे हैं का समर्थन करता है। उदाहरण के लिए, बजाय 32 TI CC2538 बोर्डों सभी प्रकार के परीक्षण के लिए OpenThread चल रहा का उपयोग कर के, आप मिश्रण और प्रत्येक परीक्षा मामले के लिए सभी चार थ्रेड संदर्भ उपकरणों के बीच से मेल के रूप में वांछित सकता है।

मिश्रित testbeds का उपयोग करने के लिए, अतिरिक्त विन्यास आवश्यक है:

  1. टेस्ट हार्नेस विन्यास फाइल, में पाया करने के लिए निम्न अतिरिक्त पैरामीटर जोड़ें C:\GRL\Thread1.1\Config\Configuration.ini :
    EnableDeviceSelection = True
  2. थ्रेड समूह से टोपोलॉजी विन्यास फाइल डाउनलोड । इस फाइल के रूप में TopologyConfig.txt लिए C:\GRL\Thread1.1\Thread_Harness\TestScripts । इस फ़ाइल में विवरण जो संदर्भ डिवाइस प्रत्येक परीक्षा के मामले में हर पात्र के लिए उपयोग करने के लिए।

टोपोलॉजी विन्यास थ्रेड समूह द्वारा प्रदान की फ़ाइल अन्य मिश्रित बिस्तर विन्यास के लिए संशोधित किया जा सकता है, लेकिन आधिकारिक प्रमाण पत्र के लिए मूल संरचना का उपयोग किया जाना चाहिए।

टोपोलॉजी विन्यास फाइल में संदर्भ उपकरणों के लिए उपयोग करने के लिए मान्य मान हैं:

टोपोलॉजी विन्यास फाइल में मूल्य टेस्ट हार्नेस संदर्भ उपकरण
ARM एआरएम: एनएक्सपी जुगनू 6LoWPAN शील्ड के साथ FRDM-K64F
NXP एनएक्सपी (फ्रीस्केल): यूएसबी-KW24D512 Dongles
OpenThread OpenThread: TI CC2538DK
SiLabs Silabs: EM358x यूएसबी स्टिक

टोपोलॉजी विन्यास फ़ाइल की प्रत्येक परीक्षण का मामला प्रविष्टि एक अलग लाइन पर हो सकता है और में स्वरूपित चाहिए role:device जोड़े इस प्रकार है:

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

टेस्ट हार्नेस ऑटो DUT मोड

GRL टेस्ट हार्नेस सॉफ्टवेयर एक उन्नत ऑटो खोज सुविधा (ऑटो DUT) जो थ्रेड संदर्भ ढेर विक्रेताओं के लिए सत्यापन प्रक्रिया को तेज करता है प्रदान करता है।

OpenThread एक उदाहरण देता है थ्रेड होस्ट नियंत्रक इंटरफ़ेस (THCI) कि टेस्ट हार्नेस अगर यह संदर्भ प्लेटफार्मों में से एक थे के रूप में अपने घटक या उत्पाद को नियंत्रित करने के लिए अनुमति देता है। अपने विशिष्ट मंच के सीरियल पोर्ट विशेषताओं या तो, अपने DUT सकता है के अनुसार:

मौजूदा OpenThread संदर्भ मंच के रूप में कार्य

115200 8-N-1, और डिवाइस की सेटिंग के तहत DUT कार्यों के सीरियल पोर्ट सही ढंग से हर भौतिक डिवाइस रीसेट के बाद से प्रतिक्रिया करता है (उदाहरण के लिए, Windows मशीन के लिए डिवाइस के वैध कनेक्शन की पुष्टि करने), तो मंच का उपयोग कर सकते हैं OpenThread THCI उपकरण। यह उपकरण उपकरण परीक्षण के दौरान OpenThread संदर्भ मंच के रूप में कार्य करने के लिए अनुमति देता है।

  1. GRL टेस्ट हार्नेस बंद करो, अगर यह खुला है।
  2. Windows मशीन के लिए डिवाइस देते हैं।
  3. डिवाइस सीरियल पोर्ट हार्डवेयर पहचानकर्ता का पता लगाएं, अजगर pySerial मॉड्यूल का उपयोग कर:
    1. PySerial स्थापित Windows मशीन पर।
    2. अजगर विंडोज कमांड लाइन पर उपयोग मशीन से जुड़े उपकरणों के लिए सभी हार्डवेयर पहचानकर्ता (VID और पीआईडी) की गणना करने में। इस उत्पादन में, एक डिवाइस VID = 1366 और पीआईडी ​​= 1015 एक पहचानकर्ता साथ जुड़ा हुआ है:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. आप पहले से ही COM पोर्ट जानते हैं, तो आप एक अलग आदेश का उपयोग कर सकते हैं। उदाहरण के लिए, यदि COM पोर्ट है 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. गोल्डन डिवाइस सूची को अपडेट करें:
    1. ओपन C:\GRL\Thread1.1\Config\Configuration.ini
    2. में OpenThread समूह अपडेट करें GoldenDeviceHardwareIds VID और उपकरण (उपकरणों) की पीआईडी के साथ सरणी:
      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. ऑटो DUT मोड सक्षम करें

एक नया संदर्भ मंच के रूप में कार्य

DUT के सीरियल पोर्ट उचित सीरियल पोर्ट सेटिंग के तहत काम नहीं करेगी, या उपकरण में कोई भौतिक डिवाइस रीसेट के बाद सही ढंग से जवाब नहीं है (रीसेट की 3-6 सेकंड के भीतर अपठनीय कोड आउटपुट), तो OpenThread THCI इलाज करने के लिए अनुकूलित किया जा सकता टेस्ट हार्नेस में एक नया मंच के रूप में डिवाइस।

उदाहरण के लिए, का उपयोग कर THCI अनुकूलित करने के लिए नॉर्डिक सेमीकंडक्टर nRF52840 मंच:

  1. GRL टेस्ट हार्नेस बंद करो, अगर यह खुला है।
  2. संशोधित /tools/harness-thci/OpenThread.py लक्ष्य डिवाइस की UART विशेषताओं के आधार पर। संशोधन लक्ष्य उपकरणों के बीच भिन्न हो सकती है। नॉर्डिक nRF52840 मंच के मामले में:

    1. नाम बदलें OpenThread.py करने के लिए फ़ाइल nRF52840.py
    2. "NRF52840" से "OpenThread" के पहले तीन घटनाओं को बदलें:

       >> Device : nRF52840 THCI
      >> Class : nRF52840
      
      class nRF52840(IThci):
       
    3. सीरियल पोर्ट मानदंड बदलें:

      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. बदले सोने का समय के बाद डिवाइस रीसेट अपठनीय कोड उत्पादन के प्रभाव को खत्म करने के लिए:

      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. कॉपी संशोधित nRF52840.py करने के लिए फ़ाइल C:\GRL\Thread1.1\Thread_Harness\THCI

  4. टेस्ट हार्नेस के लिए नया प्लेटफार्म जानकारी जोड़ें:

    1. यह आसान अपने मंच अलग और इसे करने के लिए कॉपी करने के लिए बनाने के लिए एक आइकन (PNG या JPG प्रारूप में) बनाने के लिए C:\GRL\Thread1.1\Web\images
    2. अद्यतन C:\GRL\Thread1.1\Web\data\deviceInputFields.xml एक नया के साथ DEVICE खंड है, जहां thumbnail पैरामीटर आइकन फ़ाइल है:

       <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. Windows मशीन के लिए डिवाइस देते हैं।

  6. डिवाइस सीरियल पोर्ट हार्डवेयर पहचानकर्ता का पता लगाएं, अजगर pySerial मॉड्यूल का उपयोग कर:

    1. PySerial स्थापित Windows मशीन पर।
    2. अजगर विंडोज कमांड लाइन पर उपयोग मशीन से जुड़े उपकरणों के लिए सभी हार्डवेयर पहचानकर्ता (VID और पीआईडी) की गणना करने में। इस उत्पादन में, एक डिवाइस VID = 1366 और पीआईडी ​​= 1015 एक पहचानकर्ता साथ जुड़ा हुआ है:
       python -m serial.tools.list_ports -v
      COM10
          desc: USB Serial Port (COM10)
          hwid: USB\ VID_1366+PID_1015 +MI_00 
    3. आप पहले से ही COM पोर्ट जानते हैं, तो आप एक अलग आदेश का उपयोग कर सकते हैं। उदाहरण के लिए, यदि COM पोर्ट है 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. गोल्डन डिवाइस सूची को अपडेट करें:

    1. ओपन C:\GRL\Thread1.1\Config\Configuration.ini
    2. में एक नया मंच समूह जोड़ें GoldenDeviceHardwareIds VID और डिवाइस के पीआईडी के साथ सरणी:
      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. ऑटो DUT मोड सक्षम करें

ऑटो DUT मोड सक्षम करें

दो ऊपर विन्यास विकल्पों में से एक के बाद पूरा कर रहे हैं:

  1. GRL टेस्ट हार्नेस खोलें, उपकरण / पोर्ट अब एक नया संदर्भ उपकरण के रूप में प्रकट होता है।
  2. समर्थित हार्डवेयर नीचे दी गई सूची ऑटो DUT सक्षम डिवाइस चयन चेक बॉक्स चुनें।
  3. DUT के रूप में डिवाइस स्थापित करने के लिए लक्ष्य डिवाइस / पोर्ट के तहत DUT के रूप में सेट रेडियो बटन चुनें।
ओटी प्रमाणन ऑटो DUT