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

OpenWeave फैक्टरी प्रोविजनिंग उपकरण

जिंजा-प्लेसहोल्डर -0 .md "> GitHub पर स्रोत देखें

OpenWeave फैक्टरी प्रोविजनिंग उपकरण Weave सक्षम उपकरणों पर लगातार, प्रति-डिवाइस विन्यास सूचना प्रावधान करने के लिए एक सुविधाजनक साधन प्रदान करता है। फैक्टरी प्रोविजनिंग उपकरण एक विनिर्माण लाइन प्रक्रिया के हिस्से के रूप में इस्तेमाल किया जा करने का इरादा है कि ग्राहकों के लिए अद्वितीय पहचान और क्रेडेंशियल जानकारी शिपमेंट से पहले के साथ टिकटों अलग-अलग डिवाइस। यह भी विकास की प्रक्रिया के दौरान इस्तेमाल किया पूर्व उत्पादन हार्डवेयर निजीकृत करने के लिए डेवलपर्स द्वारा इस्तेमाल किया जा सकता।

संचालन का सिद्धांत

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

उदाहरण के लिए, एक JTAG या SWD पोर्ट - फैक्टरी प्रोविजनिंग उपकरण एक मेजबान मशीन है कि डिबग या नियंत्रण इंटरफ़ेस के कुछ फार्म के माध्यम से लक्ष्य डिवाइस से कनेक्ट हो पर काम रन बनाया गया है। उपकरण एक विशेष रूप से इनकोडिंग रूप में डिवाइस की रैम में प्रावधान जानकारी इंजेक्शन लगाने के द्वारा काम करता है। डिवाइस तो पुनः आरंभ करने के निर्देश दिए है, जिस बिंदु पर कोड में निर्मित करने के लिए डिवाइस के फर्मवेयर एन्कोडेड डेटा स्थित, इसकी अखंडता सत्यापित करता है, और मंच के लिए एक प्रारूप उपयुक्त में लगातार भंडारण में निहित मूल्यों लिखता है।

उपकरण पर मौजूद कोड की पहचान करके उसे इंजेक्शन प्रावधान डाटा को संसाधित करता अंतर्निहित है OpenWeave डिवाइस परत करने के लिए, और किसी भी समर्थित मंच पर सक्रिय किया जा सकता। सक्षम कर लिए जाने कोड स्वचालित रूप से हर बार डिवाइस जूते डिवाइस आरंभीकरण शुरुआती प्रक्रिया में चलाता है, एक बिंदु पर। कोड रैम के एक प्लेटफ़ॉर्म-विशिष्ट क्षेत्र को स्कैन करके चल रही है। स्मृति की मामूली कीलों से प्लेटफार्मों पर (उदाहरण के लिए, <1 मी), उपलब्ध रैम के सभी शामिल स्कैन।

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

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

फैक्टरी प्रोविजनिंग उपकरण लक्ष्य डिवाइस के लिए इंटरफेस के लिए बाहरी विकास उपकरणों का एक सेट पर निर्भर करता है। नियोजित विशेष उपकरण लक्ष्य युक्ति के प्रकार पर निर्भर करते हैं। दो डिवाइस इंटरफेस वर्तमान में समर्थित हैं:

  • एक Segger जम्मू-लिंक डिबग जांच एक डिवाइस के JTAG या SWD पोर्ट से जुड़े
  • एक यूएसबी धारावाहिक एक Espressif ESP32 से जुड़े बंदरगाह

जम्मू-लिंक इंटरफ़ेस Segger जम्मू-लिंक कमांडर उपकरण (JLinkExe) है, जो अलग-अलग होस्ट मशीन पर स्थापित किया जाना चाहिए पर निर्भर करता है।

ESP32 इंटरफ़ेस Espressif esptool.py आदेश है, जो Espressif के ईएसपी-आईडीएफ SDK का एक भाग के रूप में प्रदान की जाती है पर निर्भर करता है।

जिस प्रकार की जानकारी का प्रावधान किया जा सकता है

OpenWeave फैक्टरी प्रोविजनिंग उपकरण निम्नलिखित प्रकार की जानकारी का प्रावधान करने के लिए सक्षम है:

  • डिवाइस सीरियल नंबर
  • निर्माता-सौंपा Weave उपकरण आईडी
  • निर्माता-सौंपा Weave प्रमाणपत्र और निजी कुंजी
  • बुनाई युग्मन कोड
  • उत्पाद संशोधन संख्या
  • निर्माण की तारीख

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

प्रावधान जानकारी के सूत्रों का कहना

जानकारी प्रावधान डिवाइस पालन मायनों में फैक्टरी प्रोविजनिंग उपकरण के लिए आपूर्ति की जा सकती:

  • एक आदेश पंक्ति तर्क
  • एक प्रावधान CSV फ़ाइल का उपयोग
  • एक घोंसला प्रावधान सर्वर से मान प्राप्त करने में कठिनाई तक

कमांड लाइन

सरलतम रूप में, डिवाइस प्रावधान जानकारी OpenWeave फैक्टरी प्रोविजनिंग उपकरण के लिए कमांड लाइन पर सीधे निर्दिष्ट किया जाता है। उदाहरण के लिए:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --pairing-code NESTUS --mfg-date 2019/04/01

इस तरह के Weave प्रमाणपत्र और निजी कुंजी के रूप में बाइनरी डेटा मूल्यों,, आधार -64 तारों के रूप में या तो निर्दिष्ट किया जा सकता, या कच्चे (बाइनरी) रूप में वांछित डेटा युक्त फ़ाइलों के नाम के रूप में।

उपलब्ध आदेश पंक्ति तर्क की एक पूरी सूची के लिए नीचे देखें।

प्रोविजनिंग CSV फ़ाइल

उपकरणों के प्रावधान थोक जगह बनाने के लिए फैक्टरी प्रोविजनिंग उपकरण में एक CSV- प्रारूपित प्रावधान डेटा फ़ाइल से डेटा प्रावधान पढ़ सकते हैं। यह है कि, - इस फाइल के स्तंभों विशिष्ट प्रावधान डेटा प्रकार के अनुरूप होने की संभावना है Serial_Num , Certificate , Private_Key , आदि फ़ाइल में पंक्तियाँ विशिष्ट उपकरणों, Weave उपकरण आईडी (द्वारा अनुक्रमित के लिए व्यक्तिगत मान देना Device_Id )। विशिष्ट डिवाइस की आईडी प्रावधान कमांड लाइन पर निर्दिष्ट किया जाना चाहिए किया जाना है। उदाहरण के लिए:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --prov-csv-file ./dev-provisioning-data.csv

निम्नलिखित CSV कॉलम समर्थित हैं:

नाम स्वरूप विवरण
Device_Id 16 हेक्स अंक बुनाई उपकरण आईडी। अनिवार्य उपस्थिति।
Serial_Num तार डिवाइस सीरियल नंबर।
Certificate आधार -64 स्ट्रिंग निर्माता-सौंपा Weave डिवाइस प्रमाण पत्र।
Private_Key आधार -64 स्ट्रिंग निर्माता-सौंपा निजी कुंजी Weave।
Pairing_Code तार बुनाई युग्मन कोड।
Product_Rev पूर्णांक उत्पाद संशोधन संख्या।
Mfg_Date YYYY / MM / DD डिवाइस के निर्माण की तारीख।

कॉलम किसी भी क्रम में CSV फ़ाइल में दिखाई दे सकते हैं। सभी कॉलम, वैकल्पिक हैं के अपवाद के साथ Device_Id । CSV फ़ाइल में मौजूद नहीं कोई भी मान बस डिवाइस पर प्रावधान नहीं किया।

उपयोगकर्ता, CSV फ़ाइल के अलावा कमांड लाइन पर अलग-अलग प्रावधान मान निर्दिष्ट कर सकता है जो मामले फ़ाइल में उन लोगों से अधिक आदेश पंक्ति मिसाल मान ले में।

फैक्टरी प्रोविजनिंग उपकरण द्वारा CSV फ़ाइल स्वरूप समर्थन के उत्पादन के साथ संगत है weave उपकरण के gen-provisioning-data आदेश।

नेस्ट प्रावधान सर्वर

फैक्टरी प्रोविजनिंग उपकरण एक घोंसला प्रावधान सर्वर से चयन प्रावधान जानकारी प्राप्त करने का समर्थन करता है एक HTTPS आधारित प्रोटोकॉल का उपयोग। प्रावधान सर्वर प्रोटोकॉल निर्माता से सौंपा Weave डिवाइस प्रमाण पत्र, समरूपी निजी कुंजी, और प्रावधान सर्वर से Weave युग्मन कोड को लाने के लिए इस्तेमाल किया जा सकता।

प्रावधान सर्वर नेटवर्क स्थान प्रावधान उपकरण कमांड लाइन पर एक आधार URL की आपूर्ति द्वारा निर्दिष्ट किया जाता। वांछित प्रावधान जानकारी कमांड लाइन पर Weave उपकरण आईडी निर्दिष्ट द्वारा चुना जाता है। उदाहरण के लिए:

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000001 \
    --prov-server https://192.168.172.2:8000/

उपयोगकर्ता प्रावधान सर्वर URL के अलावा कमांड लाइन पर अलग-अलग प्रावधान मान निर्दिष्ट कर सकते हैं। इस मामले में, मूल्यों सर्वर द्वारा लौटाए मूल्यों पर कमांड लाइन मिसाल ले पर दिए गए।

सक्षम / अक्षम करने कारखाना प्रावधान समर्थन

डिवाइस फर्मवेयर में प्रावधान OpenWeave कारखाने के लिए समर्थन के नियंत्रण में है WEAVE_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING संकलन समय विन्यास विकल्प। यह विकल्प डिफ़ॉल्ट रूप से सक्षम है। सुविधा आवेदन के दशक में विकल्प अधिभावी द्वारा निष्क्रिय किया जा सकता WeaveProjectConfig.h फ़ाइल। उदाहरण के लिए:

#define WEAVE_DEVICE_CONFIG_ENABLE_FACTORY_PROVISIONING 0

सामान्य तौर पर यह उत्पादन उपकरण में प्रावधान फर्मवेयर प्रदान की है कि डिवाइस डिबग इंटरफ़ेस उचित रूप से उत्पादन उपकरणों पर अक्षम किया गया है कारखाने सक्षम करने के लिए सुरक्षित है। यह या तो हार्डवेयर साधनों के माध्यम से (उदाहरण के लिए, SoC में फ़्यूज़ उड़ाने द्वारा) (उदाहरण के लिए एक सुरक्षित बूट लोडर कि बूट प्रक्रिया के तहत ब्लॉक डिबग उपयोग के माध्यम से,) हासिल किया जा सकता, या सॉफ्टवेयर में।

रनिंग फैक्टरी प्रोविजनिंग उपकरण

OpenWeave फैक्टरी प्रोविजनिंग उपकरण निम्न आदेश पंक्ति विकल्प का समर्थन करता है:

विकल्प विवरण
--target <string> लक्ष्य डिवाइस प्रकार। विकल्प हैं: nrf52840, esp32
--load-addr <हेक्स अंक> डिवाइस स्मृति में पता है, जिस पर प्रावधान डेटा लिखा जाएगा।
--verbose, -v उत्पादन शब्दाडंबर स्तर को समायोजित करें। शब्दाडंबर को बढ़ाने के लिए कई तर्क का प्रयोग करें।
--serial-संख्या <string> डिवाइस सीरियल नंबर निर्धारित करें।
--device-आईडी <हेक्स अंक> निर्माता-सौंपा उपकरण आईडी सेट करें।
--device-प्रमाणपत्र <आधार -64> | <फ़ाइल नाम> निर्माता-सौंपा Weave डिवाइस प्रमाणपत्र सेट करें।
--device कुंजी <आधार -64> | <फ़ाइल नाम> निर्माता-सौंपा Weave डिवाइस निजी कुंजी सेट करें।
--pairing-कोड <string> डिवाइस युग्मन कोड सेट करें।
--product-राजस्व <पूर्णांक> डिवाइस के लिए उत्पाद संशोधन सेट करें।
--mfg की तारीख <YYYY / MM / DD> | आज | अभी डिवाइस के निर्माण तिथि निर्धारित करें।
--jlink-cmd <पथ-नाम> JLink आदेश के लिए पथ। 'JLinkExe' के लिए चूक।
--jlink-अगर SWD | JTAG जम्मू-लिंक इंटरफ़ेस प्रकार। SWD के लिए चूक।
--jlink गति <पूर्णांक> | अनुकूली | ऑटो जम्मू-लिंक इंटरफ़ेस गति।
--jlink-एस.एन. <string> जम्मू-लिंक सीरियल नंबर की जांच।
--esptool-cmd <पथ-नाम> esptool आदेश के लिए पथ। 'Esptool.py' के लिए चूक।
--port <पथ-नाम> ESP32 के लिए COM पोर्ट डिवाइस का नाम। / TTY / USB0 को चूक।
--speed <पूर्णांक> COM पोर्ट के लिए बॉड दर। 115200 के लिए चूक।
--prov-सीएसवी फ़ाइल <फ़ाइल नाम> पढ़ें इस उपकरण में एक प्रावधान CSV फ़ाइल से डेटा प्रावधान।
--prov-सर्वर <यूआरएल> पढ़ें इस उपकरण में एक प्रावधान सर्वर से डेटा प्रावधान।
--disable-server-मान्यता HTTPS का उपयोग करते समय, प्रमाण पत्र की अक्षम सत्यापन प्रावधान सर्वर द्वारा प्रस्तुत किया।

उदाहरण

निम्न आदेश उपकरण आईडी, सीरियल नंबर, उत्पाद संशोधन, और युग्मन कोड विशिष्ट मूल्यों को निर्धारित करता है। निर्माण तिथि वर्तमान तिथि को तैयार है। और डिवाइस प्रमाणपत्र और निजी कुंजी के साथ आपूर्ति की एक CSV फ़ाइल में दिए गए परीक्षण मूल्यों की तैयारी में हैं openweave-core स्रोत भंडार।

 ./weave-factory-prov-tool --target nrf52840 --device-id 18B4300000000042 \
    --serial-num JAYS_DEVICE_42 --product-rev 1 --pairing-code NESTUS --mfg-date today \
    --prov-csv-file ~/projects/openweave-core/certs/development/device/test-dev-provisioning-data.csv