البرنامج التعليمي: إكمال تحديث الوكيل باستخدام Device Update for Azure IoT Hub

إذا لم تكن قد قمت بذلك بالفعل، فراجع استخدام تحديثات الوكيل مع Device Update for Azure IoT Hub.

إعداد جهاز اختبار أو جهاز ظاهري

يستخدم هذا البرنامج التعليمي الجهاز الظاهري (VM)‏‏ Ubuntu Server 18.04 LTS كمثال.

تثبيت عامل Device Update والتبعيات

  1. تسجيل packages.microsoft.com في مستودع حزمة APT:

    sudo apt-get update
    
    sudo apt install curl
    
    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ~/microsoft-prod.list
    
    sudo cp ~/microsoft-prod.list /etc/apt/sources.list.d/
    
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > ~/microsoft.gpg
    
    sudo cp ~/microsoft.gpg /etc/apt/trusted.gpg.d/
    
    sudo apt-get update
    
  2. بادر بتثبيت deviceupdate-agent على جهاز IoT. قم بتنزيل أحدث ملف Device Update Debian من packages.microsoft.com:

    sudo apt-get install deviceupdate-agent
    

    بدلاً من ذلك، انسخ ملف Debian الذي تم تنزيله إلى الجهاز الظاهري للاختبار. إذا كنت تستخدم PowerShell على الكمبيوتر، فقم بتشغيل أمر shell التالي:

    scp <path to the .deb file> tester@<your vm's ip address>:~
    

    ثم عن بعد في الجهاز الظاهري وشغّل أمر shell التالي في المجلد الرئيسي:

    #go to home folder 
    cd ~
    #install latest Device Update agent
    sudo apt-get install ./<debian file name from the previous step>
    
  3. انتقل إلى Azure IoT Hub وانسخ سلسلة الاتصال الأساسية لوحدة Device Update لجهاز IoT. استبدل أي قيمة افتراضية للحقل connectionData بسلسلة الاتصال الأساسية في ملف du-config.json:

    sudo nano /etc/adu/du-config.json  
    

    ملاحظة

    يمكنك نسخ سلسلة الاتصال الأساسية للجهاز بدلاً من ذلك، ولكن نوصي باستخدام السلسلة الخاصة بوحدة Device Update. للحصول على معلومات حول إعداد الوحدة، راجع توفير عامل Device Update.

  4. تأكد من أن /etc/adu/du-diagnostics-config.json يحتوي على الإعدادات الصحيحة لمجموعة السجلات. على سبيل المثال:

    {
      "logComponents":[
        {
          "componentName":"adu",
           "logPath":"/var/log/adu/"
        },
        {
          "componentName":"do",
          "logPath":"/var/log/deliveryoptimization-agent/"
        }
      ],
      "maxKilobytesToUploadPerLogPath":50
    }
    
  5. أعد تشغيل عامل Device Update:

    sudo systemctl restart deviceupdate-agent
    

إعداد المكونات الوهمية

لأغراض الاختبار والعرض التوضيحي، سننشئ المكونات الوهمية التالية على الجهاز:

  • ثلاثة محركات
  • كاميرتان
  • "hostfs"
  • "rootfs"

هام

يستند تكوين المكون السابق إلى تنفيذ نموذج ملحق عداد مكون يسمى libcontoso-component-enumerator.so. كما يتطلب ملف بيانات مخزون المكون الوهمي هذا: /usr/local/contoso-devices/components-inventory.json.

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

    `~/demo/tools/reset-demo-components.sh` 
    

    يتخذ الأمر reset-demo-components.sh الخطوات التالية نيابة عنك:

    • ينسخ components-inventory.json ويضيفه إلى المجلد /usr/local/contoso-devices.

    • ينسخ ملحق عداد مكون Contoso (libcontoso-component-enumerator.so) من مجلد الأصول ويضيفه إلى المجلد /var/lib/adu/extensions/sources.

    • يسجل الملحق:

      sudo /usr/bin/AducIotAgent -E /var/lib/adu/extensions/sources/libcontoso-component-enumerator.so
      

استيراد نموذج تحديث

إذا لم تكن قد فعلت ذلك سابقًا، فقم بتحديثالحساب والمثيل بما في ذلك تكوين مركز IoT. ثم ابدأ الإجراء التالي.

  1. من أحدث إصدار من Device Update، ضمن الأصول، قم بتنزيل بيانات الاستيراد والصور لتحديثات الوكيل.

  2. سجّل الدخول إلى مدخل Azure وانتقل إلى مركز IoT باستخدام Device Update. في الجزء الأيسر، حدد إدارة الجهاز>التحديثات.

  3. حدد علامة التبويب التحديثات.

  4. حدد + استيراد تحديث جديد.

  5. حدد + تحديد من حاوية التخزين، ثم اختر حساب التخزين والحاوية.

    لقطة شاشة تعرض زر التحديد للاستيراد من حاوية تخزين.

  6. حدد تحميل لإضافة الملفات التي قمت بتنزيلها في الخطوة 1.

  7. قم بتحميل بيان الاستيراد الأصل وبيان الاستيراد التابع وملفات الحمولة إلى الحاوية.

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

    في المثال، بيان الاستيراد الأصل هو contoso.Virtual-Vacuum-virtual-camera.1.4.importmanifest.json. بيان الاستيراد التابع مع تفاصيل لتحديث الكاميرا هو Contoso.Virtual-Vacuum.3.3.importmanifest.json. يتبع كلا اسمي ملفات البيان التنسيق المطلوب وينتهيان ب .importmanifest.json.

    لقطة شاشة توضح نماذج الملفات التي تم تحميلها لتحديث الكاميرات المتصلة بجهاز مكنسة كهربائية ذكية.

  8. اختر «Select» .

  9. تعرض واجهة المستخدم الآن قائمة الملفات التي سيتم استيرادها إلى Device Update. حدد استيراد التحديث.

    لقطة شاشة توضح الملفات المدرجة والزر لاستيراد تحديث.

  10. تبدأ عملية الاستيراد وتتغير الشاشة إلى قسم سجل الاستيراد. حدد تحديث لعرض التقدم حتى تنتهي عملية الاستيراد. اعتمادا على حجم التحديث، قد ينتهي الاستيراد في بضع دقائق أو يستغرق وقتًا أطول.

  11. عندما يشير عمود الحالة إلى نجاح الاستيراد، حدد علامة التبويب التحديثات المتوفرة. يجب أن ترى التحديث المستورد في القائمة الآن.

    لقطة شاشة توضح التحديث المستورد مضافًا إلى القائمة.

لمزيد من المعلومات حول عملية الاستيراد، راجع استيراد تحديث إلى تحديث الجهاز.

عرض مجموعات الأجهزة

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

  1. انتقل إلى علامة تبويب Groups و Deployments الموجودة أعلى الصفحة.

    لقطة شاشة تعرض أجهزة غير مجمعة.

  2. عرض قائمة المجموعات ومخطط توافق التحديث. يعرض مخطط توافق التحديث عدد الأجهزة في حالات التوافق المختلفة: على آخر تحديث، وتحديثات جديدة متاحة، وتحديثات قيد التقدم. تعرف على كيفية توافق التحديث.

    لقطة شاشة توضح طريقة عرض توافق التحديث.

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

لمزيد من المعلومات حول العلامات والمجموعات، راجع إدارة مجموعات الأجهزة.

نشر التحديث

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

    لمزيد من المعلومات حول التوافق، راجع توافق تحديث الجهاز.

  2. حدد المجموعة المستهدفة بالنقر فوق اسم المجموعة. سيتم توجيهك إلى تفاصيل المجموعة ضمن أساسيات المجموعة.

    تفاصيل المجموعة

  3. لبدء الاستخدام انتقل إلى علامة التبويب Current deployment. ثم حدد ارتباطdeploy بجوار التحديث المطلوب من قسم Available updates. يُرمز إلى أفضل تحديث متوفر لمجموعة معينة بتمييز «الأفضل».

    حدد تحديث

  4. رتّب الاستخدام الخاص بك للبدء في الحال أو في المستقبل، ثم حدد إنشاء.

    قم بإنشاء توزيع

  5. يجب أن تتحول الحالة ضمن تفاصيل التوزيع إلى نشط، ويجب وضع علامة على التحديث الموزع بـ "(توزيع)".

    التوزيع نشط

  6. اعرض مخطط الامتثال. يجب أن تشاهد التحديث قيد التقدم الآن.

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

    «Update succeeded»

مراقبة نشر التحديث

  1. حدد علامة تبويب تاريخ التوزيع في الجزء العلوي من الصفحة.

    تاريخ التوزيع

  2. حدد ارتباط التفاصيل بجوار الاستخدام الذي أنشأته.

    “Deployment details”

  3. حدد «Refresh» لعرض أحدث تفاصيل الحالة.

لقد أكملت الآن تحديث وكيل ناجح شامل باستخدام Device Update لـ IoT Hub.

تنظيف الموارد

عندما لا تعد بحاجة إليها، نظّف حساب تحديث الجهاز الخاص بك، على سبيل المثال، IoT hub وIoT device.

الخطوات التالية