تحديث الجهاز لمركز إنترنت الأشياء أجهزة التوصيل و التشغيل إنترنت الأشياء
يستخدم تحديث الجهاز ل IoT Hub أجهزة التوصيل و التشغيل إنترنت الأشياء لاكتشاف وإدارة الأجهزة القادرة على التحديث عبر الأثير. ترسل خدمة "تحديث الجهاز" الخصائص والرسائل من وإلى الأجهزة التي تستخدم واجهات أجهزة التوصيل و التشغيل إنترنت الأشياء. يتطلب تحديث الجهاز ل IoT Hub من أجهزة إنترنت الأشياء تنفيذ الواجهات التالية ومعرف الطراز.
Concepts:
- فهم عميل جهاز أجهزة التوصيل و التشغيل إنترنت الأشياء.
- تعرف على كيفية تنفيذ عامل تحديث الجهاز.
الواجهة الأساسية لتحديث الجهاز
يتم استخدام واجهة "DeviceUpdateCore" لإرسال إجراءات التحديث والبيانات الوصفية إلى الأجهزة وتلقي حالة التحديث من الأجهزة. تنقسم واجهة "DeviceUpdateCore" إلى خاصيتي كائن.
اسم المكون المتوقع في الطراز الخاص بك هو " deviceUpdate" عند تنفيذ هذه الواجهة. تعرف على المزيد حول مكونات Azure IoT أجهزة التوصيل و التشغيل
البيانات الوصفية للوكيل
يستخدم عامل "تحديث الجهاز" حقول "بيانات تعريف الوكيل" لإرسال المعلومات إلى خدمات "تحديث الجهاز".
| الاسم | المخطط | الاتجاه | الوصف | مثال |
|---|---|---|---|---|
| خصائص الجهاز | الخريطة | من الأجهزة إلى السحابة | مجموعة الخصائص التي تحتوي على الشركة المصنعة والطراز ومعلومات الجهاز الأخرى. | انظر أمثلة أخرى للحصول على التفاصيل |
| compatPropertyNames | سلسلة (فاصلة مفصولة) | من الأجهزة إلى السحابة | أبلغ الجهاز عن الخصائص المستخدمة للتحقق من توافق الجهاز لاستهداف نشر التحديث. يقتصر على خمس خصائص للجهاز | "compatPropertyNames": "الشركة المصنعة، النموذج" |
| lastInstallResult | الخريطة | من الأجهزة إلى السحابة | النتيجة التي أبلغ عنها الوكيل. يحتوي على رمز النتيجة ورمز النتيجة الموسع وتفاصيل النتيجة للتحديث الرئيسي وتحديثات الخطوات الأخرى | |
| رمز النتيجة | عدد صحيح | من الأجهزة إلى السحابة | تعليمات برمجية تحتوي على معلومات حول نتيجة إجراء التحديث الأخير. يمكن ملؤها إما للنجاح أو الفشل. | 700 |
| ExtendedResultCode | عدد صحيح | من الأجهزة إلى السحابة | رمز يحتوي على معلومات إضافية حول النتيجة. يمكن ملؤها إما للنجاح أو الفشل. | 0x80004005 |
| النتيجةتفاصيل | سلسلة | من الأجهزة إلى السحابة | سلسلة النماذج الحرة المعرفة من قبل العميل لتوفير تفاصيل إضافية عن النتائج. عاد إلى التوأم دون تحليل | |
| خطوةالنتائج | map | من الأجهزة إلى السحابة | النتيجة التي أبلغ عنها العامل والتي تحتوي على رمز النتيجة ورمز النتيجة الموسع وتفاصيل النتيجة لتحديثات الخطوات | "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""} |
| الولاية | عدد صحيح | من الأجهزة إلى السحابة | إنه عدد صحيح يشير إلى الحالة الحالية لعامل تحديث الجهاز. انظر قسم الولاية للحصول على التفاصيل | 0 |
| سير العمل | معقد | من الأجهزة إلى السحابة | إنها مجموعة من القيم التي تشير إلى النشر الذي يعمل عليه العامل حاليا ومعرف النشر الحالي والإقرار بأي طلب إعادة محاولة يتم إرساله من خدمة إلى وكيل. | "سير العمل": {"الإجراء": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"} |
| مثبتUpdateId | سلسلة | من الأجهزة إلى السحابة | معرف التحديث المثبت حاليا (من خلال تحديث الجهاز). ستكون هذه القيمة عبارة عن سلسلة تلتقط JSON لمعرف التحديث أو فارغة لجهاز لم يسبق له إجراء تحديث من خلال "تحديث الجهاز". | installUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}" |
الحالة
هذه هي الحالة التي أبلغ عنها وكيل تحديث الجهاز (DU) بعد تلقي إجراء من خدمة "تحديث الجهاز". Stateتم الإبلاغ عنه استجابة لرسالة (راجع Actions القسم) تم إرسالها إلى وكيل "تحديث الجهاز" من خدمة "Actionتحديث الجهاز". راجع سير عمل النظرة العامة للطلبات التي تتدفق بين خدمة "تحديث الجهاز" وعامل "تحديث الجهاز".
| الاسم | القيمة | الوصف |
|---|---|---|
| الخمول | 0 | الجهاز جاهز لتلقي إجراء من خدمة "تحديث الجهاز". بعد التحديث الناجح، يتم إرجاع الحالة إلى Idle الولاية. |
| النشرالتقدم المحرز | 6 | عملية نشر جارية |
| فشل | 255 | حدث فشل أثناء التحديث. |
| تحميلنجحت | 2 | تنزيل ناجح. يتم الإبلاغ عن هذه الحالة فقط بواسطة الأجهزة التي لديها إصدار وكيل 0.7.0 أو أقدم. |
| InstallSuccess | 4 | تثبيت ناجح. يتم الإبلاغ عن هذه الحالة فقط بواسطة الأجهزة التي لديها إصدار وكيل 0.7.0 أو أقدم. |
خصائص الجهاز
إنها مجموعة الخصائص التي تحتوي على الشركة المصنعة والنموذج.
| الاسم | المخطط | الاتجاه | الوصف |
|---|---|---|---|
| الشركة المُصنّعة | سلسلة | من الأجهزة إلى السحابة | الشركة المصنعة للجهاز للجهاز، تم الإبلاغ عنها من خلال deviceProperties. تتم قراءة هذه الخاصية من أحد المكانين - ستحاول واجهة "DeviceUpdateCore" أولا قراءة قيمة "aduc_manufacturer" من ملف ملف التكوين . إذا لم يتم تعبئة القيمة في ملف التكوين، تعيينها افتراضيا للإبلاغ عن تعريف وقت التحويل البرمجي ADUC_DEVICEPROPERTIES_MANUFACTURER. لن يتم الإبلاغ عن هذه الخاصية إلا في وقت التمهيد. القيمة الافتراضية "Contoso" |
| النموذج | سلسلة | من الأجهزة إلى السحابة | طراز الجهاز للجهاز ، تم الإبلاغ عنه من خلال deviceProperties. تتم قراءة هذه الخاصية من أحد الخاصيتين - ستحاول واجهة DeviceUpdateCore أولا قراءة قيمة "aduc_model" من ملف ملف التكوين . إذا لم يتم تعبئة القيمة في ملف التكوين، تعيينها افتراضيا للإبلاغ عن تعريف وقت التحويل البرمجي ADUC_DEVICEPROPERTIES_MODEL. لن يتم الإبلاغ عن هذه الخاصية إلا في وقت التمهيد. القيمة الافتراضية "فيديو" |
| واجهة معرف | سلسلة | من الأجهزة إلى السحابة | يتم استخدام هذه الخاصية بواسطة الخدمة لتحديد إصدار الواجهة الذي يستخدمه وكيل تحديث الجهاز. مطلوب من قبل خدمة تحديث الجهاز لإدارة الوكيل والتواصل معه. تم تعيين هذه الخاصية في 'dtmi:azure:iot:deviceUpdateModel;1' للجهاز الذي يستخدم إصدار عامل DU 0.8.0. |
| ادوفير | سلسلة | من الأجهزة إلى السحابة | إصدار عامل تحديث الجهاز الذي يعمل على الجهاز. تتم قراءة هذه القيمة من البنية فقط إذا تم تعيين ENABLE_ADU_TELEMETRY_REPORTING أثناء وقت التحويل البرمجي إلى 1 (true). يمكن للعملاء اختيار إلغاء الاشتراك في إعداد تقارير الإصدار عن طريق تعيين القيمة إلى 0 (خطأ). كيفية تخصيص خصائص عامل تحديث الجهاز. |
| دوفر | سلسلة | من الأجهزة إلى السحابة | إصدار عامل تحسين التسليم الذي يعمل على الجهاز. تتم قراءة القيمة من البنية فقط إذا تم تعيين ENABLE_ADU_TELEMETRY_REPORTING خلال وقت التحويل البرمجي إلى 1 (true). يمكن للعملاء اختيار إلغاء الاشتراك في إعداد تقارير الإصدار عن طريق تعيين القيمة إلى 0 (خطأ). كيفية تخصيص خصائص وكيل تحسين التسليم. |
| خصائص التوافق المخصصة | تعريف المستخدم | من الأجهزة إلى السحابة | يمكن للمنفذ تحديد خصائص الجهاز الأخرى التي سيتم استخدامها للتحقق من التوافق أثناء استهداف نشر التحديث |
IoT Hub جهاز العينة المزدوجة
"deviceUpdate": {
"__t": "c",
"agent": {
"deviceProperties": {
"manufacturer": "contoso",
"model": "virtual-vacuum-v1",
"interfaceId": "dtmi:azure:iot:deviceUpdate;1",
"aduVer": "DU;agent/0.8.0-rc1-public-preview",
"doVer": "DU;lib/v0.6.0+20211001.174458.c8c4051,DU;agent/v0.6.0+20211001.174418.c8c4051"
},
"compatPropertyNames": "manufacturer,model",
"lastInstallResult": {
"resultCode": 700,
"extendedResultCode": 0,
"resultDetails": "",
"stepResults": {
"step_0": {
"resultCode": 700,
"extendedResultCode": 0,
"resultDetails": ""
}
}
},
"state": 0,
"workflow": {
"action": 3,
"id": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01",
"retryTimestamp": "2022-01-26T11:33:29.9680598Z"
},
"installedUpdateId": "{\"provider\":\"Contoso\",\"name\":\"Virtual-Vacuum\",\"version\":\"5.0\"}"
},
ملاحظة
يجب أن يضيف {"__t": "c"} الجهاز أو الوحدة النمطية العلامة للإشارة إلى أن العنصر يشير إلى مكون ، تعرف على المزيد هنا.
البيانات الوصفية للخدمة
تحتوي بيانات تعريف الخدمة على حقول تستخدمها خدمات "تحديث الجهاز" لتوصيل الإجراءات والبيانات إلى وكيل "تحديث الجهاز".
| الاسم | المخطط | الاتجاه | الوصف |
|---|---|---|---|
| إجراء | عدد صحيح | من السحابة إلى الجهاز | إنه عدد صحيح يتوافق مع إجراء يجب على الوكيل تنفيذه. القيم المدرجة في قسم الإجراء. |
| تحديثبيان | سلسلة | من السحابة إلى الجهاز | يستخدم لوصف محتوى التحديث. تم إنشاؤها من بيان الاستيراد |
| updateManifestSignature | كائن JSON | من السحابة إلى الجهاز | توقيع ويب JSON (JWS) مع مفاتيح ويب JSON المستخدمة للتحقق من المصدر. |
| fileUrls | الخريطة | من السحابة إلى الجهاز | خريطة إلى FileIDDownloadUrl. يخبر الوكيل، بالملفات التي يجب تنزيلها والتجزئة التي يجب استخدامها للتحقق من تنزيل الملفات بشكل صحيح. |
إجراء
Actions في هذا القسم يمثل الإجراءات التي اتخذها وكيل "تحديث الجهاز" وفقا لتعليمات خدمة "تحديث الجهاز". سيقوم وكيل تحديث الجهاز بالإبلاغ State عن معالجة (راجع State القسم) للمستلمة Action . راجع سير عمل النظرة العامة للطلبات التي تتدفق بين خدمة "تحديث الجهاز" وعامل "تحديث الجهاز".
| الاسم | القيمة | الوصف |
|---|---|---|
| ApplyDeployment | 3 | تطبيق التحديث. يشير إلى الجهاز لتطبيق التحديث المنشور |
| إلغاء الأمر | 255 | توقف عن معالجة الإجراء الحالي وارجع إلى Idle. كما أنه يستخدم لإخبار الوكيل في Failed الولاية بالعودة إلى Idle. |
| تنزيل | 0 | قم بتنزيل المحتوى المنشور أو التحديث وأي محتوى آخر مطلوب. يتم إرسال هذا الإجراء فقط إلى الأجهزة التي تحتوي على إصدار وكيل 0.7.0 أو أحدث. |
| تثبيت | 1 | قم بتثبيت المحتوى أو التحديث. عادة ما يعني هذا الإجراء استدعاء المثبت للمحتوى أو التحديث. يتم إرسال هذا الإجراء فقط إلى الأجهزة التي تحتوي على إصدار وكيل 0.7.0 أو أحدث. |
| التطبيق | 2 | وضع اللمسات الأخيرة على التحديث. إنه يشير إلى النظام لإعادة التشغيل إذا لزم الأمر. يتم إرسال هذا الإجراء فقط إلى الأجهزة التي تحتوي على إصدار وكيل 0.7.0 أو أحدث. |
واجهة معلومات الجهاز
واجهة معلومات الجهاز هي مفهوم يستخدم داخل بنية أجهزة التوصيل و التشغيل إنترنت الأشياء. يحتوي على خصائص الجهاز إلى السحابة التي توفر معلومات حول الأجهزة ونظام التشغيل الخاص بالجهاز. يستخدم تحديث الجهاز ل IoT Hub خصائص DeviceInformation.manufacturer و DeviceInformation.model للقياس عن بعد والتشخيص. لمعرفة المزيد حول واجهة معلومات الجهاز، راجع هذا المثال.
اسم المكون المتوقع في الطراز الخاص بك هو deviceInformation عند تنفيذ هذه الواجهة. تعرف على مكونات Azure IoT أجهزة التوصيل و التشغيل
| الاسم | النوع | المخطط | الاتجاه | الوصف | مثال |
|---|---|---|---|---|---|
| الشركة المُصنّعة | الخاصية | سلسلة | من الأجهزة إلى السحابة | اسم الشركة المصنعة للجهاز. قد تكون هذه الخاصية هي نفسها اسم الشركة المصنعة للمعدات الأصلية (OEM). | "Contoso" |
| النموذج | الخاصية | سلسلة | من الأجهزة إلى السحابة | اسم طراز الجهاز أو معرفه. | جهاز IoT Edge |
| swVersion | الخاصية | سلسلة | من الأجهزة إلى السحابة | إصدار البرنامج على جهازك. يمكن أن يكون swVersion هو إصدار البرنامج الثابت الخاص بك. | 4.15.0-122 |
| اسم الأوسنام | الخاصية | سلسلة | من الأجهزة إلى السحابة | اسم نظام التشغيل على الجهاز. | أوبونتو سيرفر 18.04 |
| بنية المعالج | الخاصية | سلسلة | من الأجهزة إلى السحابة | بنية المعالج على الجهاز. | آرم64 |
| المعالجالشركة المصنعة | الخاصية | سلسلة | من الأجهزة إلى السحابة | اسم الشركة المصنعة للمعالج على الجهاز. | Microsoft |
| توتال التخزين | الخاصية | سلسلة | من الأجهزة إلى السحابة | إجمالي مساحة التخزين المتاحة على الجهاز بالكيلوبايت. | 2048 |
| توتال ميموري | الخاصية | سلسلة | من الأجهزة إلى السحابة | إجمالي الذاكرة المتوفرة على الجهاز بالكيلوبايت. | 256 |
معرف النموذج
معرف النموذج هو الطريقة التي تعلن بها الأجهزة الذكية عن قدراتها لتطبيقات Azure IoT باستخدام أجهزة التوصيل و التشغيل إنترنت الأشياء. لمعرفة المزيد حول كيفية إنشاء أجهزة ذكية للإعلان عن قدراتها لتطبيقات Azure IoT، تفضل بزيارة دليل مطوري الأجهزة أجهزة التوصيل و التشغيل IoT.
يتطلب تحديث الجهاز ل IoT Hub من الجهاز الذكي أجهزة التوصيل و التشغيل إنترنت الأشياء الإعلان عن معرف طراز بقيمة "dtmi:azure:iot:deviceUpdateModel;1" كجزء من اتصال الجهاز. تعرف على كيفية الإعلان عن معرف نموذج.