सर्टिफ़िकेशन की जांच अपने-आप हो, इसके लिए अतिरिक्त सेटअप की ज़रूरत होगी.
नीचे दिए गए सभी इंस्टॉलेशन और कॉन्फ़िगरेशन चरण Windows मशीन पर होते हैं GRL टेस्ट हार्नेस सॉफ़्टवेयर चला रही है. नए वर्शन को डाउनलोड और इंस्टॉल करें पहले जीआरएल थ्रेड टेस्ट हार्नेस जारी रखें.
इंस्टॉल होने के बाद, टेस्ट में डिवाइस के लिए ऑटोमेशन के दो तरीके उपलब्ध होते हैं (डीयूटी):
OpenThread हार्नेस ऑटोमेशन टूल
इंस्टॉल करें
- यहां दिए गए सॉफ़्टवेयर को इंस्टॉल करें:
- Python 2.7
- Windows के लिए Git (Bash का इस्तेमाल करने का सुझाव दिया जाता है)
- ऑटोमेशन स्क्रिप्ट पाने के लिए, OpenThread डेटा स्टोर करने की जगह का क्लोन बनाएं:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैgit clone https://github.com/openthread/openthread
- Python से जुड़ी ज़रूरी शर्तें इंस्टॉल करें:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैcd tools/harness-automation
pip install -r requirements.txt
- Google Chrome और दोनों को इंस्टॉल करें ChromeDriver.
कॉन्फ़िगर करें
- ऑटोमेशन टूल के लिए कॉन्फ़िगरेशन फ़ाइल बनाएं:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैcp autothreadharness/settings_sample.py autothreadharness/settings.py
- उस नई कॉन्फ़िगरेशन फ़ाइल को फ़ाइल से लिए जाते हैं.
- टेस्ट हार्नेस कॉन्फ़िगरेशन फ़ाइल में नीचे दिए गए पैरामीटर जोड़ें, जो यहां पाए जाते हैं
C:\GRL\Thread1.1\Config\Configuration.ini
:BrowserAutoNavigate = False
अलग-अलग तरह की जांच की सुविधा
हार्नेस ऑटोमेशन टूल, मिले-जुले टेस्टबेड के साथ भी काम करता है, जहां रेफ़रंस हर टेस्ट केस में इस्तेमाल किए जाने वाले डिवाइस, सभी डिवाइसों के बजाय एक मिले-जुले डिवाइसों वाले होते हैं एक ही डिवाइस है. उदाहरण के लिए, बजाय कि 32 TI CC2538 बोर्ड चल रहे हों सभी टेस्ट केस के लिए OpenThread का इस्तेमाल करें, ताकि सभी चार Thread को मैच किया जा सके अपने हिसाब से हर टेस्ट केस के लिए रेफ़रंस डिवाइस.
मिले-जुले टेस्टबेड का इस्तेमाल करने के लिए, अतिरिक्त कॉन्फ़िगरेशन ज़रूरी है:
- टेस्ट हार्नेस के कॉन्फ़िगरेशन में ये अतिरिक्त पैरामीटर जोड़ें
फ़ाइल,
C:\GRL\Thread1.1\Config\Configuration.ini
पर मिली:EnableDeviceSelection = True
- Thread से टोपोलॉजी कॉन्फ़िगरेशन फ़ाइल डाउनलोड करें
ग्रुप.
इस फ़ाइल को इसमें
TopologyConfig.txt
के तौर पर जोड़ेंC:\GRL\Thread1.1\Thread_Harness\TestScripts
. इस फ़ाइल में यह जानकारी मिलती है कि हर टेस्ट केस में हर भूमिका के लिए, रेफ़रंस डिवाइस का इस्तेमाल करें.
Thread Group से मिली टोपोलॉजी कॉन्फ़िगरेशन फ़ाइल में, अन्य मिले-जुले बेड कॉन्फ़िगरेशन, लेकिन आधिकारिक सर्टिफ़िकेशन के लिए कॉन्फ़िगरेशन का इस्तेमाल करना ज़रूरी है.
टोपोलॉजी कॉन्फ़िगरेशन फ़ाइल में पहचान डिवाइस के लिए इस्तेमाल करने के लिए मान्य वैल्यू हैं:
टोपोलॉजी कॉन्फ़िगरेशन फ़ाइल में मान | टेस्ट हार्नेस रेफ़रंस डिवाइस |
---|---|
ARM |
ARM: Firefly 6LoWPAN Shield के साथ NXP FRDM-K64F |
NXP |
NXP(फ़्रीस्केल): USB-KW24D512 डोंगल |
OpenThread |
OpenThread: TI CC2538DK |
SiLabs |
Silabs: EM358x यूएसबी स्टिक |
टोपोलॉजी कॉन्फ़िगरेशन फ़ाइल में हर टेस्ट केस की एंट्री अलग-अलग होनी चाहिए
लाइन और role:device
पेयर में इस तरह फ़ॉर्मैट किया गया है:
5.3.10-Leader:NXP,Router_1:OpenThread,BorderRouter:OpenThread,MED_1:ARM
टेस्ट हार्नेस ऑटो डीयूटी मोड
जीआरएल टेस्ट हार्नेस सॉफ़्टवेयर एक बेहतर ऑटो डिस्कवरी सुविधा देता है (Auto DUT) की मदद से, Thread के रेफ़रंस स्टैक की पुष्टि करने की प्रोसेस को तेज़ किया जाता है वेंडर.
OpenThread का उदाहरण थ्रेड होस्ट कंट्रोलर इंटरफ़ेस (टीएचसीआई) जो टेस्ट हार्नेस को आपके कॉम्पोनेंट या प्रॉडक्ट को ऐसे कंट्रोल करने की अनुमति देता है जैसे कि में से एक है. इसकी सीरियल पोर्ट विशेषताओं के अनुसार तो आपका DUT इनमें से कोई एक काम कर सकता है:
मौजूदा OpenThread रेफ़रंस प्लैटफ़ॉर्म के तौर पर काम किया जा रहा है
अगर DUT का सीरियल पोर्ट, 115200 8-N-1 की सेटिंग के तहत काम करता है और हर बार फ़िज़िकल डिवाइस के रीसेट होने के बाद, डिवाइस सही तरह से काम करता है (उदाहरण के लिए, और Windows मशीन से डिवाइस के मान्य कनेक्शन की पुष्टि करें), फिर प्लैटफ़ॉर्म OpenThread THCI टूल का इस्तेमाल किया जा सकता है. इस टूल की मदद से, डिवाइस टेस्टिंग के दौरान OpenThread रेफ़रंस प्लैटफ़ॉर्म का इस्तेमाल करना.
- अगर GRL टेस्ट हार्नेस खुला है, तो उसे बंद करें.
- डिवाइस को Windows मशीन से अटैच करें.
- Python pySerial का इस्तेमाल करके, डिवाइस सीरियल पोर्ट हार्डवेयर आइडेंटिफ़ायर ढूंढें
मॉड्यूल:
- pySerial इंस्टॉल करें एक नया सॉफ़्टवेयर बनाने की शुरुआत की है.
- सभी हार्डवेयर की गिनती करने के लिए, Windows कमांड लाइन पर Python का इस्तेमाल करें
मशीन से कनेक्ट किए गए डिवाइसों के लिए आइडेंटिफ़ायर (वीआईडी और पीआईडी). इसमें
आउटपुट, एक डिवाइस VID=1366 के आइडेंटिफ़ायर से जुड़ा होता है और
PID=1015:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैpython -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: USB\VID_1366+PID_1015+MI_00
- अगर आपको 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']
- गोल्डन डिवाइस की सूची अपडेट करें:
C:\GRL\Thread1.1\Config\Configuration.ini
खोलें.GoldenDeviceHardwareIds
कलेक्शन में OpenThread ग्रुप को अपडेट करें वीआईडी और पीआईडी की जानकारी के साथ: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']}
- 'अपने-आप डीयूटी मोड' चालू करें.
नए रेफ़रंस प्लैटफ़ॉर्म के तौर पर काम करना
अगर DUT का सीरियल पोर्ट सही सीरियल पोर्ट के तहत काम नहीं करता है या फिर डिवाइस, किसी फ़िज़िकल डिवाइस के बाद ठीक से काम नहीं करता है रीसेट (रीसेट करने के 3-6 सेकंड के भीतर आउटपुट कोड नहीं पढ़ा जा सकता), फिर OpenThread टेस्ट में, डिवाइस को नए प्लैटफ़ॉर्म के तौर पर इस्तेमाल करने के लिए टीएचसीआई को पसंद के मुताबिक बनाया जा सकता है हार्नेस.
उदाहरण के लिए, नॉर्डिक सेमीकंडक्टर' का इस्तेमाल करके टीएचसीआई को पसंद के मुताबिक बनाना nRF52840 प्लैटफ़ॉर्म:
- अगर GRL टेस्ट हार्नेस खुला है, तो उसे बंद करें.
/tools/harness-thci/OpenThread.py
में बदलाव करें यह टारगेट किए गए डिवाइस की UART विशेषताओं के आधार पर तैयार किया जाता है. बदलाव हो सकते हैं अलग-अलग टारगेट डिवाइस के हिसाब से अलग-अलग होते हैं. Nordic nRF52840 प्लैटफ़ॉर्म के मामले में:OpenThread.py
फ़ाइल का नाम बदलकरnRF52840.py
करें."OpenThread" की पहली तीन वैल्यू को बदलें "nRF52840" के लिए:
>> Device : nRF52840 THCI
>> Class : nRF52840
class nRF52840(IThci):सीरियल पोर्ट के पैरामीटर बदलें:
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()नहीं पढ़े जा सकने वाले कोड आउटपुट के असर को खत्म करने के लिए, सोने का समय बदलें डिवाइस को रीसेट करने के बाद:
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)
बदली गई
nRF52840.py
फ़ाइल कोC:\GRL\Thread1.1\Thread_Harness\THCI
में कॉपी करेंTest Harness में नई प्लैटफ़ॉर्म की जानकारी जोड़ने के लिए:
- आसानी से अलग करने के लिए कोई आइकॉन (png या jpg फ़ॉर्मैट में) बनाएं
और
C:\GRL\Thread1.1\Web\images
पर कॉपी करें. 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>
- आसानी से अलग करने के लिए कोई आइकॉन (png या jpg फ़ॉर्मैट में) बनाएं
और
डिवाइस को Windows मशीन से अटैच करें.
Python pySerial का इस्तेमाल करके, डिवाइस सीरियल पोर्ट हार्डवेयर आइडेंटिफ़ायर ढूंढें मॉड्यूल:
- pySerial इंस्टॉल करें एक नया सॉफ़्टवेयर बनाने की शुरुआत की है.
- सभी हार्डवेयर की गिनती करने के लिए, Windows कमांड लाइन पर Python का इस्तेमाल करें
मशीन से कनेक्ट किए गए डिवाइसों के लिए आइडेंटिफ़ायर (वीआईडी और पीआईडी). इसमें
आउटपुट, एक डिवाइस VID=1366 के आइडेंटिफ़ायर से जुड़ा होता है और
PID=1015:
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैpython -m serial.tools.list_ports -v
COM10desc: USB Serial Port (COM10)
hwid: USB\VID_1366+PID_1015+MI_00
- अगर आपको 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']
गोल्डन डिवाइस की सूची अपडेट करें:
C:\GRL\Thread1.1\Config\Configuration.ini
खोलें.GoldenDeviceHardwareIds
कलेक्शन में एक नया प्लैटफ़ॉर्म ग्रुप जोड़ें को डिवाइस के वीआईडी और पीआईडी के साथ: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'}
ऑटो डीयूटी मोड चालू करें
ऊपर दिए गए दो कॉन्फ़िगरेशन विकल्पों में से किसी एक के पूरा होने के बाद:
- GRL टेस्ट हार्नेस खोलें. डिवाइस/पोर्ट अब नए रेफ़रंस के तौर पर दिखेगा डिवाइस.
- 'काम की सूची' के नीचे मौजूद, अपने-आप DUT डिवाइस चुनने की सुविधा चालू करें चेकबॉक्स को चुनें हार्डवेयर की सूची.
- सेट करने के लिए, टारगेट डिवाइस/पोर्ट में DUT के रूप में सेट करें रेडियो बटन को चुनें DUT के रूप में डिवाइस को कस्टमाइज़ किया है.
