وتلتزم جوجل لدفع الأسهم العنصري للمجتمعات الأسود. أنظر كيف.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

OpenWeave توفير أداة مصنع

جينجا-نائب-0 .md "> عرض المصدر على جيثب

يوفر أداة التزويد OpenWeave مصنع وسيلة مريحة لالمخصصات الثابتة، لكل جهاز معلومات التكوين على تمكين الأجهزة الحياكة. ويهدف توفير أداة مصنع لاستخدامها كجزء من عملية خط التصنيع التي الطوابع الأجهزة الفردية مع الحفاظ على الهوية الفريدة ومعلومات بيانات الاعتماد قبل الشحن للعملاء. ويمكن أن تستخدم أيضا من قبل المطورين لتخصيص الأجهزة قبل الإنتاج المستخدمة أثناء عملية التنمية.

نظرية التشغيل

والهدف من توفير أداة OpenWeave هو مصنع لضخ معلومات التكوين مختارة في مخزن التكوين المستمر للجهاز، حيث يمكن التقاطها واستخدامها في وقت التشغيل عن طريق البرامج الثابتة الجهاز. عادة يتم تخزين تكوين الجهاز مستمر في فلاش داخلية للجهاز، رغم أن تفاصيل بالضبط كيف يتم تخزين البيانات، وبأي شكل، تختلف من منصة الى منصة. إدارة الحسابات أداة مصنع نفسها مستقلة عن تنسيق تخزين النهائي، ويعتمد على التعليمات البرمجية في البرامج الثابتة للجهاز لكتابة البيانات في الطريق الصحيح. واجهة المستخدم الأداة هي أيضا مستقلة إلى حد كبير من هذا النوع من الأجهزة يتم تكوينه، وهذا يعني أن عمليات التصنيع مماثلة يمكن استخدامها في خطوط الإنتاج التي تعتمد على منصات الأجهزة المختلفة.

تم تصميم أداة التزويد مصنع المدى العمل على الجهاز المضيف متصل إلى جهاز هدف عن طريق نوع من التصحيح أو واجهة التحكم - على سبيل المثال، وهو ميناء JTAG أو إدارة الرعاية الاجتماعية. الأداة تعمل عن طريق حقن المخصصات المعلومات في ذاكرة الوصول العشوائي للجهاز في شكل المشفرة خصيصا. ثم أوعز الجهاز لإعادة تشغيل، وعند هذه النقطة كود المدمج في البرامج الثابتة للجهاز تحديد موقع البيانات المشفرة، يؤكد سلامتها، ويكتب القيم الواردة في التخزين المستمر في ملائما شكل المنصة.

رمز على الجهاز الذي يكتشف ويعالج البيانات المخصصات حقن بنيت في لطبقة جهاز OpenWeave، ويمكن تمكين على أي منصة معتمدة. وبمجرد تمكين تشغيل التعليمات البرمجية تلقائيا في كل مرة بالتمهيد الجهاز، عند نقطة في عملية تهيئة الجهاز في وقت مبكر. رمز يعمل عن طريق مسح منطقة منصة محددة من ذاكرة الوصول العشوائي. على منصات مع تصاعد متواضعة من الذاكرة (على سبيل المثال، <1M)، تشمله مسح جميع من ذاكرة الوصول العشوائي المتاحة.

عند وضعه في ذاكرة الوصول العشوائي، يتم ترميز البيانات التقديم مع بادئة يسهل التعرف عليها، والتي تسمح لها بأن تكون سرعان ما وجدت أثناء عملية المسح الضوئي. يتم استخدام قيمة التحقق من سلامة بناء على تجزئة التشفير للتأكد من صحة البيانات قبل معالجة.

افتراضيا، يختار أداة المخصصات الموقع RAM التي لحقن البيانات المخصصات التي تعتمد على منصة الجهاز الهدف. هذا الاختيار يمكن تجاوز عن طريق حجة إلى الأداة. بشكل عام، لا يشترط أن الجهاز البرامج الثابتة حجز موقع RAM خصيصا لاستقبال البيانات التوفير. أكثر عادة، يتم كتابة المخصصات البيانات إلى موقع RAM التي تم تخصيصها لأغراض أخرى، ولكن غير مستخدمة بشكل عام في عملية التمهيد الجهاز في وقت مبكر. الخيارات شيوعا هي الجزء العلوي من كومة النظام الأولي، أو نهاية بكثير من ساحة الكومة.

تعتمد أداة التزويد مصنع على مجموعة من أدوات التنمية الخارجية إلى واجهة لجهاز الهدف. أدوات خاصة العاملين تعتمد على نوع الجهاز الهدف. ويدعم واجهات اثنين الجهاز حاليا:

  • وSEGGER J-لينك التصحيح التحقيق متصلة ميناء JTAG أو إدارة الرعاية الاجتماعية للجهاز
  • منفذ USB المسلسل متصلة ESP32 Espressif

تعتمد واجهة J-لينك على أداة SEGGER J-لينك قائد (JLinkExe)، والتي يجب تثبيتها بشكل منفصل على الجهاز المضيف.

تعتمد واجهة ESP32 على الأمر Espressif esptool.py، والتي يتم توفيرها كجزء من SDK ESP-الجيش الإسرائيلي Espressif ل.

أنواع المعلومات التي يمكن توفيرها

أداة التزويد OpenWeave مصنع قادر على المخصصات الأنواع التالية من المعلومات:

  • الرقم التسلسلي للجهاز
  • معرف الجهاز نسج المعينة الصانع
  • المعينة المصنع شهادة نسج والمفتاح الخاص
  • رمز الإقران نسج
  • رقم المراجعة المنتج
  • تاريخ التصنيع

على الرغم من أن عموما الجهاز سوف تحتاج كافة المعلومات المذكورة أعلاه لتعمل بشكل صحيح، فإنه غير مطلوب لتوفير جميع المعلومات في نفس الوقت. وهكذا، وتوفير أنواع مختلفة من المعلومات يمكن أن يحدث في نقاط واضحة في عملية التصنيع. بالإضافة إلى ذلك، فمن الممكن أن تحل محل القيم توفيرها سابقا مع قيم جديدة في خطوة لاحقة التقديم.

مصادر المعلومات المخصصات

جهاز التقديم المعلومات يمكن توفيره لتوفير أداة مصنع في الطرق التالي:

  • وسائط سطر الأوامر
  • باستخدام ملف CSV المخصصات
  • بواسطة جلب القيم من خادم عش التقديم

سطر الأوامر

في أبسط صوره، يتم تحديد معلومات الجهاز التقديم مباشرة على سطر الأوامر إلى توفير أداة OpenWeave مصنع. فمثلا:

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

قيم البيانات الثنائية، مثل شهادة نسج والمفتاح الخاص، يمكن تحديد إما أساس 64 السلاسل، أو أسماء الملفات التي تحتوي على البيانات المطلوبة في (ثنائي) شكل مواد خام.

انظر أدناه للحصول على قائمة كاملة من وسائط سطر الأوامر المتوفرة.

ملف التقديم CSV

لاستيعاب معظم المخصصات من الأجهزة، يمكن للأداة التزويد مصنع أيضا قراءة المخصصات البيانات من المخصصات ملف بيانات بتنسيق CSV. ومن المتوقع الأعمدة من هذا الملف تتوافق مع أنواع البيانات المحددة المخصصات - وهذا هو، Serial_Num ، Certificate ، Private_Key ، الخ الصفوف في ملف تعطي القيم الفردية لأجهزة محددة، فهرستها من قبل نسج معرف الجهاز ( 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 سلسلة المعينة المصنع شهادة جهاز نسج.
Private_Key قاعدة-64 سلسلة الصانع تعيين نسج المفتاح الخاص.
Pairing_Code خيط رمز الإقران نسج.
Product_Rev عدد صحيح المنتج رقم المراجعة.
Mfg_Date YYYY / MM / DD جهاز تاريخ التصنيع.

قد تظهر الأعمدة في ملف CSV في أي أمر. كافة الأعمدة اختيارية، باستثناء Device_Id . هي ببساطة غير المشروطة أي قيم غير موجودة في ملف CSV على الجهاز.

قد يحدد المستخدم القيم التقديم الفردية على سطر الأوامر بالإضافة إلى ملف CSV، وفي هذه الحالة سطر الأوامر سابقة قيمة تولي تلك الموجودة في الملف.

شكل دعم ملف CSV بواسطة أداة التزويد مصنع متوافق مع الإخراج من weave الأداة gen-provisioning-data الأوامر.

الخادم المخصصات العش

أداة التزويد مصنع يدعم جلب معلومات التقديم مختارة من خادم عش التقديم باستخدام بروتوكول HTTPS القائمة. بروتوكول الخادم التقديم يمكن استخدامها لجلب شهادة تعيين الشركة المصنعة للجهاز الحياكة، والمفتاح الخاص المطابق، ورمز الاقتران نسج من خادم التوفير.

يتم تحديد موقع شبكة الخادم التقديم من خلال تقديم عنوان URL أساسي على سطر الأوامر أداة التوفير. يتم تحديد المخصصات المعلومات المطلوبة من قبل تحديد هوية الجهاز نسج على سطر الأوامر. فمثلا:

 ./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

بشكل عام أنها آمنة لتمكين المصنع المخصصات في جهاز إنتاج المقدمة الثابتة أن واجهة التصحيح جهاز معطل بشكل مناسب على الأجهزة الإنتاج. ويمكن تحقيق ذلك إما عن طريق وسائل الأجهزة (على سبيل المثال، التي تهب الصمامات في شركة نفط الجنوب)، أو في برنامج (على سبيل المثال، عن طريق محمل الإقلاع الآمن أن الوصول كتل التصحيح كجزء من عملية التمهيد).

تشغيل أداة التزويد مصنع

أداة التزويد OpenWeave مصنع تدعم خيارات سطر الأوامر التالية:

اختيار وصف
--target <سلسلة> الهدف نوع الجهاز. الخيارات هي: nrf52840، esp32
--load-ADDR <عرافة الأرقام> العنوان في ذاكرة الجهاز الذي سيتم كتابة البيانات التوفير.
--verbose، -v ضبط مستوى الإسهاب الانتاج. استخدام حجج متعددة لزيادة الإسهاب.
--serial-الأسطوانات <سلسلة> تعيين الرقم التسلسلي للجهاز.
--device معرف <عرافة الأرقام> تعيين معرف الجهاز تعيين الشركة المصنعة.
--device سيرت <أساس 64> | <ملف اسم> تعيين شهادة جهاز نسج المعين الشركة المصنعة.
--device مفتاح <أساس 64> | <ملف اسم> ضبط الجهاز نسج المفتاح الخاص تعيين الشركة المصنعة.
--pairing رمز <سلسلة> تعيين رمز الاقتران الجهاز.
--product-مراجعة <صحيح> تعيين مراجعة المنتج للجهاز.
--mfg تاريخ <YYYY / MM / DD> | اليوم | الآن تعيين تاريخ تصنيع الجهاز.
--jlink-كمد <مسار اسم> الطريق إلى القيادة JLINk و. افتراضات إلى "JLinkExe.
--jlink اذا إدارة الرعاية الاجتماعية | JTAG J-لينك نوع واجهة. افتراضات إلى إدارة الرعاية الاجتماعية.
--jlink السرعة <صحيح> | التكيف | تلقاءي J-لينك واجهة السرعة.
--jlink-SN <سلسلة> J-لينك تحقيق الرقم التسلسلي.
--esptool-كمد <مسار اسم> الطريق إلى القيادة esptool. افتراضات إلى "esptool.py.
--port <مسار اسم> اسم جهاز المنفذ COM لESP32. افتراضات إلى / TTY / USB0.
--speed <صحيح> بالباود لمنفذ COM. افتراضات إلى 115200.
--prov-CSV ملف <ملف اسم> قراءة جهاز التقديم البيانات من ملف CSV التوفير.
--prov-الملقم <url> قراءة جهاز التقديم البيانات من الخادم التوفير.
--disable خادم التحقق من صحة عند استخدام 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