تحديث الجهاز لمركز IoT وIoT أجهزة التوصيل و التشغيل
يستخدم تحديث الجهاز لمركز IoT أجهزة التوصيل و التشغيل IoT لاكتشاف الأجهزة القادرة على التحديث عبر الهواء وإدارتها. ترسل خدمة Device Update الخصائص والرسائل وتتلقاها من وإلى الأجهزة التي تستخدم واجهات أجهزة التوصيل و التشغيل IoT.
للحصول على مزيد من المعلومات:
- فهم عميل جهاز IoT أجهزة التوصيل و التشغيل.
- تعرف على كيفية تنفيذ عامل تحديث الجهاز.
نماذج تحديث الجهاز
معرف النموذج هو كيفية إعلان الأجهزة الذكية عن قدراتها لتطبيقات Azure IoT باستخدام IoT أجهزة التوصيل و التشغيل. لمعرفة المزيد حول كيفية إنشاء الأجهزة الذكية للإعلان عن قدراتها لتطبيقات Azure IoT، تفضل بزيارة دليل مطوري الأجهزة أجهزة IoT Plug and Play.
يتطلب تحديث الجهاز ل IoT Hub أن يعلن الجهاز الذكي IoT أجهزة التوصيل و التشغيل عن معرف نموذج كجزء من اتصال الجهاز. تعرف على كيفية الإعلان عن معرف نموذج.
يحتوي تحديث الجهاز على العديد من نماذج PnP المعرفة التي تدعم ميزات DU. نموذج Device Update، 'dtmi:azure:iot:deviceUpdateContractModel; 3'، يدعم الوظائف الأساسية ويستخدم واجهة تحديث الجهاز الأساسية لإرسال إجراءات التحديث وبيانات التعريف إلى الأجهزة وتلقي حالة التحديث من الأجهزة.
النموذج الآخر المدعوم هو dtmi:azure:iot:deviceUpdateModel; 3 الذي يوسع deviceUpdateContractModel؛ 3 ويستخدم أيضا واجهات PnP الأخرى التي ترسل خصائص الجهاز ومعلوماته وتمكن ميزات التشخيص. تعرف على المزيد حول [إصدارات واجهات ونماذج تحديث الجهاز] (https://github.com/Azure/iot-plugandplay-models/tree/main/dtmi/azure/iot).
يستخدم عامل Device Update dtmi:azure:iot:deviceUpdateModel؛ 3 الذي يدعم جميع الميزات الأخيرة في الإصدار 1.1.0. يدعم هذا النموذج إصدار بيان V5. ستعمل البيانات القديمة مع أحدث العوامل ولكن الميزات الجديدة تتطلب استخدام أحدث إصدار بيان.
بيانات تعريف العامل
يستخدم عامل Device Update حقول بيانات تعريف العامل لإرسال المعلومات إلى خدمات تحديث الجهاز.
الاسم | مخطط | الاتجاه | الوصف | مثال |
---|---|---|---|---|
deviceProperties | الخريطة | جهاز إلى سحابة | مجموعة الخصائص التي تحتوي على الشركة المصنعة والطراز ومعلومات الجهاز الأخرى. | راجع قسم خصائص الجهاز للحصول على التفاصيل. |
compatPropertyNames | سلسلة (فاصلة مفصولة) | جهاز إلى سحابة | أبلغ الجهاز عن الخصائص المستخدمة للتحقق من توافق الجهاز لاستهداف نشر التحديث. تقتصر على خمس خصائص للجهاز. | "compatPropertyNames": "manufacturer,model" |
lastInstallResult | الخريطة | جهاز إلى سحابة | النتيجة التي أبلغ عنها العامل. يحتوي على التعليمات البرمجية للنتيجة ورمز النتيجة الموسع وتفاصيل النتائج للتحديث الرئيسي وتحديثات الخطوات الأخرى. | |
رمز النتيجة | integer | جهاز إلى سحابة | رمز يحتوي على معلومات حول نتيجة إجراء التحديث الأخير. يمكن ملؤها إما للنجاح أو الفشل. | 700 |
extendedResultCode | integer | جهاز إلى سحابة | رمز يحتوي على معلومات إضافية حول النتيجة. يمكن ملؤها إما للنجاح أو الفشل. | 0x80004005 |
resultDetails | سلسلة | جهاز إلى سحابة | سلسلة نموذج حرة معرفة من قبل العميل لتوفير تفاصيل نتيجة إضافية. عاد إلى التوأم دون تحليل | |
stepResults | map | جهاز إلى سحابة | تم الإبلاغ عن النتيجة بواسطة العامل الذي يحتوي على رمز النتيجة ورمز النتيجة الموسع وتفاصيل النتيجة لتحديثات الخطوة. | "step_1": { "resultCode": 0,"extendedResultCode": 0, "resultDetails": ""} |
state | integer | جهاز إلى سحابة | عدد صحيح يشير إلى الحالة الحالية لعامل تحديث الجهاز. | راجع قسم الحالة للحصول على التفاصيل. |
سير العمل | معقد | جهاز إلى سحابة | مجموعة من القيم التي تشير إلى التوزيع الذي يعمل عليه العامل حاليًا، ومعرف النشر الحالي، والإقرار بأي طلب إعادة محاولة يتم إرساله من خدمة إلى وكيل. لاحظ أن معرف سير العمل يبلغ عن قيمة "nodeployment" بمجرد إلغاء النشر. | "workflow": {"action": 3,"ID": "11b6a7c3-6956-4b33-b5a9-87fdd79d2f01","retryTimestamp": "2022-01-26T11:33:29.9680598Z"} |
installedUpdateId | سلسلة | جهاز إلى سحابة | معرف التحديث المثبت حاليًا (من خلال تحديث الجهاز). هذه القيمة هي سلسلة تلتقط معرف التحديث JSON أو قيمة خالية لجهاز لم يسبق له إجراء تحديث من خلال تحديث الجهاز. | installedUpdateID{"provider":"contoso","name":"image-update","version":"1.0.0"}" |
خصائص الجهاز
يحتوي حقل deviceProperties على معلومات الشركة المصنعة والطراز للجهاز.
الاسم | مخطط | الاتجاه | الوصف |
---|---|---|---|
الشركة المُصنّعة | سلسلة | جهاز إلى سحابة | الشركة المصنعة للجهاز، التي تم الإبلاغ عنها من خلال deviceProperties . تتم قراءة هذه الخاصية من أحد مكانين - أولًا، تحاول واجهة DeviceUpdateCore قراءة قيمة "aduc_manufacturer" من ملف التكوين. إذا لم يتم ملء القيمة في ملف التكوين، فإنه يتم افتراضيًا الإبلاغ عن تعريف وقت التحويل البرمجي ADUC_DEVICEPROPERTIES_MANUFACTURER. يتم الإبلاغ عن هذه الخاصية فقط في وقت التمهيد. القيمة الافتراضية: 'Contoso'. |
نموذج | سلسلة | جهاز إلى سحابة | نموذج الجهاز للجهاز، تم الإبلاغ عنه من خلال deviceProperties . تتم قراءة هذه الخاصية من أحد مكانين - أولًا، تحاول واجهة DeviceUpdateCore قراءة قيمة "aduc_model" من ملف التكوين. إذا لم يتم ملء القيمة في ملف التكوين، فسيتم تعيينها افتراضيًا للإبلاغ عن تعريف وقت التحويل البرمجي ADUC_DEVICEPROPERTIES_MODEL. يتم الإبلاغ عن هذه الخاصية فقط في وقت التمهيد. القيمة الافتراضية: "فيديو" |
contractModelId | سلسلة | جهاز إلى سحابة | تستخدم هذه الخاصية من قبل الخدمة لتحديد إصدار النموذج الأساسي الذي يستخدمه عامل Device Update لإدارة العامل والتواصل معه. القيمة: 'dtmi:azure:iot:deviceUpdateContractModel; 3' للأجهزة التي تستخدم إصدار عامل DU 1.1.0. ملاحظة: العوامل التي تستخدم 'dtmi:azure:iot:deviceUpdateModel; 2' يجب الإبلاغ عن contractModelId ك 'dtmi:azure:iot:deviceUpdateContractModel; 3' ك deviceUpdateModel; يتم توسيع 3 من deviceUpdateContractModel؛ 3 |
aduVer | سلسلة | جهاز إلى سحابة | إصدار عامل تحديث الجهاز الذي يعمل على الجهاز. تتم قراءة هذه القيمة من البنية فقط إذا تم تعيين ENABLE_ADU_TELEMETRY_REPORTING إلى 1 (صحيح) في أثناء وقت التحويل البرمجي. يمكن للعملاء اختيار إلغاء الاشتراك في الإبلاغ عن الإصدار عن طريق تعيين القيمة إلى 0 (خطأ). كيفية تخصيص خصائص عامل تحديث الجهاز. |
doVer | سلسلة | جهاز إلى سحابة | إصدار عامل تحسين التسليم الذي يعمل على الجهاز. تتم قراءة القيمة من البنية فقط إذا تم تعيين ENABLE_ADU_TELEMETRY_REPORTING إلى 1 (صحيح) في أثناء وقت التحويل البرمجي. يمكن للعملاء اختيار إلغاء الاشتراك في إعداد تقارير الإصدار عن طريق تعيين القيمة إلى 0 (خطأ). كيفية تخصيص خصائص عامل تحسين التسليم. |
خصائص التوافق المخصصة | معرّف المستخدم | جهاز إلى سحابة | يمكن للمنفذ تحديد خصائص الجهاز الأخرى لاستخدامها للتحقق من التوافق أثناء استهداف نشر التحديث. |
مثال توأم جهاز مركز IoT:
"deviceUpdate": {
"__t": "c",
"agent": {
"deviceProperties": {
"manufacturer": "contoso",
"model": "virtual-vacuum-v1",
"contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;3",
"aduVer": "DU;agent/1.1.0",
},
"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"}
للإشارة إلى أن العنصر يشير إلى مكون. لمزيد من المعلومات، راجع قواعد IoT Plug and Play.
الولاية
حقل الحالة هو الحالة التي أبلغ عنها عامل تحديث الجهاز (DU) بعد تلقي إجراء من خدمة تحديث الجهاز. يتم الإبلاغ عن الحالة استجابة لإجراء (راجع قسم الإجراء للحصول على التفاصيل) المرسلة إلى عامل تحديث الجهاز من خدمة تحديث الجهاز. لمزيد من المعلومات حول الطلبات التي تتدفق بين خدمة تحديث الجهاز وعامل تحديث الجهاز، راجع سير عمل النظرة العامة.
الاسم | قيمة | الوصف |
---|---|---|
الخمول | 0 | الجهاز جاهز لتلقي إجراء من خدمة تحديث الجهاز. بعد التحديث الناجح، يتم إرجاع الحالة إلى الحالة Idle . |
DeploymentInprogress | 6 | التوزيع قيد التقدم. |
فشل | 255 | حدث فشل في أثناء التحديث. |
تم تنزيله | 2 | تنزيل ناجح. يتم الإبلاغ عن هذه الحالة فقط من قبل الأجهزة التي لها إصدار العامل 0.7.0 أو أقدم. |
InstallSucceeded | 4 | تثبيت ناجح. يتم الإبلاغ عن هذه الحالة فقط من قبل الأجهزة التي لها إصدار العامل 0.7.0 أو أقدم. |
بيانات تعريف الخدمة
تحتوي بيانات تعريف الخدمة على حقول تستخدمها خدمات تحديث الجهاز لتوصيل الإجراءات والبيانات إلى عامل Device Update.
الاسم | مخطط | الاتجاه | الوصف |
---|---|---|---|
إجراء | integer | السحابة إلى الجهاز | عدد صحيح يتوافق مع إجراء يجب على العامل تنفيذه. راجع قسم الإجراءات للحصول على التفاصيل. |
updateManifest | سلسلة | السحابة إلى الجهاز | يستخدم لوصف محتوى التحديث. تم إنشاؤه من بيان الاستيراد. |
updateManifestSignature | كائن JSON | السحابة إلى الجهاز | توقيع ويب JSON (JWS) مع مفاتيح ويب JSON المستخدمة للتحقق من المصدر. |
fileUrls | الخريطة | السحابة إلى الجهاز | خريطة FileID إلى DownloadUrl . يخبر العامل بالملفات التي يجب تنزيلها والتجزئة المراد استخدامها للتحقق من تنزيل الملفات بشكل صحيح. |
الإجراء
يمثل حقل الإجراء الإجراءات التي اتخذها عامل Device Update كما هو موضح في خدمة Device Update. سيقوم عامل Device Update بالإبلاغ عن حالة لمعالجة الإجراء المستلم. لمزيد من المعلومات حول الطلبات التي تتدفق بين خدمة تحديث الجهاز وعامل تحديث الجهاز، راجع سير عمل النظرة العامة.
الاسم | قيمة | الوصف |
---|---|---|
applyDeployment | 3 | تطبيق التحديث. يشير إلى الجهاز لتطبيق التحديث المنشور |
إلغاء الأمر | 255 | توقف عن معالجة الإجراء الحالي والعودة إلى Idle ، أو اطلب من عامل في Failed الحالة العودة إلى Idle . |
تنزيل | 0 | قم بتنزيل المحتوى المنشور أو التحديث وأي محتوى آخر مطلوب. يتم إرسال هذا الإجراء فقط إلى الأجهزة ذات إصدار العامل 0.7.0 أو الأقدم. |
تثبيت | 1 | تثبيت المحتوى أو التحديث. عادة ما يعني هذا الإجراء استدعاء المثبت للمحتوى أو التحديث. يتم إرسال هذا الإجراء فقط إلى الأجهزة ذات إصدار العامل 0.7.0 أو الأقدم. |
تطبيق | 2 | إنهاء التحديث. يشير إلى النظام لإعادة التشغيل إذا لزم الأمر. يتم إرسال هذا الإجراء فقط إلى الأجهزة ذات إصدار العامل 0.7.0 أو الأقدم. |
واجهة معلومات الجهاز
واجهة معلومات الجهاز هي مفهوم يستخدم داخل بنية أجهزة التوصيل والتشغيل IoT. يحتوي على خصائص من جهاز إلى سحابة توفر معلومات حول الأجهزة ونظام التشغيل للجهاز. يستخدم تحديث الجهاز لمركز IoT خصائص DeviceInformation.manufacturer
وDeviceInformation.model
لبيانات تتبع الاستخدام والتشخيص. لمعرفة المزيد، راجع هذا المثال لواجهة معلومات الجهاز.
اسم المكون المتوقع في النموذج الخاص بك هو deviceInformation عند تنفيذ هذه الواجهة. تعرف على مكونات أجهزة التوصيل و التشغيل Azure IoT
Name | نوع | مخطط | الاتجاه | الوصف | مثال |
---|---|---|---|---|---|
الشركة المُصنّعة | الخاصية | سلسلة | جهاز إلى سحابة | اسم الشركة المصنعة للجهاز. قد تكون هذه الخاصية هي نفس اسم الشركة المصنعة للمعدات الأصلية (OEM). | Contoso |
نموذج | الخاصية | سلسلة | جهاز إلى سحابة | اسم طراز الجهاز أو معرفه. | جهاز IoT Edge |
swVersion | الخاصية | سلسلة | جهاز إلى سحابة | إصدار البرنامج على جهازك. swVersion يمكن أن يكون إصدار البرنامج الثابت الخاص بك. | 4.15.0-122 |
osName | الخاصية | سلسلة | جهاز إلى سحابة | اسم نظام التشغيل على الجهاز. | Ubuntu Server 18.04 |
processorArchitecture | الخاصية | سلسلة | جهاز إلى سحابة | بنية المعالج على الجهاز. | ARM64 |
processorManufacturer | الخاصية | سلسلة | جهاز إلى سحابة | اسم الشركة المصنعة للمعالج على الجهاز. | Microsoft |
TotalStorage | الخاصية | سلسلة | جهاز إلى سحابة | إجمالي مساحة التخزين المتوفرة على الجهاز بالكيلو بايت. | 2048 |
totalMemory | الخاصية | سلسلة | جهاز إلى سحابة | إجمالي الذاكرة المتوفرة على الجهاز بالكيلو بايت. | 256 |