البرنامج التعليمي: تحديث الجهاز لـ Azure IoT Hub من خلال استخدام عامل الحزمة على Ubuntu Server 18.04 x64

يدعم Device Update لـ Azure IoT Hub التحديثات المستندة إلى الصور والقائمة على الحزم والبرامج النصية.

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

يرشدك هذا البرنامج التعليمي خلال تحديث Azure IoT Edge على Ubuntu Server 18.04 x64 من خلال استخدام عامل حزمة Device Update. على الرغم من أن البرنامج التعليمي يوضح تحديث IoT Edge، فإنه باستخدام خطوات مماثلة، يمكنك تحديث الحزم الأخرى، مثل محرك الحاوية الذي يستخدمه.

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

في هذا البرنامج التعليمي، ستتعلّم كيفية:

  • نزل وثبت عامل Device Update وتبعياته.
  • قم بإضافة علامة إلى جهازك.
  • استورد تحديث.
  • قم بنشر تحديث الحزمة.
  • راقب عملية نشر التحديث.

المتطلبات الأساسية

إعداد جهاز

أعد جهاز تلقائيًا أو يدويًا.

استخدام زر النشر الآلي إلى Azure

لمزيد من الراحة، يستخدم البرنامج التعليمي قالب مدير مواردAzure القائم علي cloud-init لمساعدتك بسرعة على ضبط الجهاز الظاهري لـLTS 18.04 لـ Ubuntu. يقوم بتثبيت كلٍّ من وقت تشغيل Azure IoT Edge وعامل حزمة Device Update. ثم يعمل تلقائيا علي تكوين الجهاز مع توفير المعلومات من خلال استخدام سلسلة اتصال الجهاز لجهاز IoT Edge (المتطلبات السابقة) التي توفرها. يتجنب قالب Resource Manager أيضًا الحاجة إلى بدء جلسة SSH لإكمال الإعداد.

  1. للبدء، اختر الزر:

    لقطة شاشة تعرض زر النشر في Azure لنشر iotedge-vm .

  2. املأ مربعات النص المتاحة:

    • Subscription: اشتراك Azure النشط من أجل نشر الجهاز الظاهري.
    • Resource group: مجموعة الموارد التي تنشأ حديثًا لتشتمل على الجهاز الظاهري وموارده المرتبطة.
    • Region: المنطقة الجغرافية لنشر الجهاز الظاهري فيها. تعين هذه القيمة افتراضيًا إلى موقع مجموعة الموارد المحددة.
    • DNS Label Prefix: القيمة المطلوبة لاختيارك المستخدمة لبادئة اسم المضيف الخاص بالجهاز الظاهري.
    • Admin Username: اسم المستخدم الذي يوفر الامتيازات الجذرية عند النشر.
    • Device Connection String: سلسلة اتصال الجهازللجهاز الذي أنشأ خلال IoT Hubالمرجو الخاص بك.
    • VM Size: حجم الجهاز الظاهري المراد نشره.
    • إصدار نظام تشغيل Ubuntu: إصدار نظام تشغيل Ubuntu الواجب تثبيته على الجهاز الظاهري الرئيسي. اترك القيمة الافتراضية دون تغيير لأنها ستعين إلى Ubuntu 18.04-LTS بالفعل.
    • Authentication Type: اخترsshPublicKey أو password اعتمادا على مرجعيتك.
    • Admin Password or Key: قيمة مفتاح SSH العام أو قيمة كلمة السر اعتمادًا على اختيار نوع المصادقة.

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

  3. تحقق من أن عملية التوزيع قد اكتملت بنجاح. السماح لبضع دقائق بعد اكتمال النشر للتثبيت والتكوين من أجل إنهاء تثبيت IoT Edge وعامل تحديث حزمة الجهاز.

    يجب توزيع مورد جهاز ظاهري في مجموعة الموارد المحددة. دوّن اسم الجهاز، الموجود بالتنسيق vm-0000000000000. دوّن أيضا اسم DNSالمقترن، والموجود بالتنسيق <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    يمكنك الحصول على اسم DNS من قسم Overview على الجهاز الظاهري المنشور حديثًا في مدخل Microsoft Azure.

    تلميح

    لإدخال SSH في الجهاز الظاهري هذا بعد الإعداد، استخدم اسم DNS المرتبط بالأمر التالي:ssh <adminUsername>@<DNS_Name>.

  4. افتح تفاصيل التكوين (راجع كيفية إعداد ملف التكوين هنا باستخدام الأمر أدناه. قم بتعيين connectionType كـ "AIS" و connectionData كسلسلة فارغة. يرجى ملاحظة أنه يجب تعيين جميع القيم التي تحتوي على علامة "مكان القيمة هنا". راجع تكوين عامل DU.

    sudo nano /etc/adu/du-config.json
    
  5. أعد تشغيل عامل Device Update.

    sudo systemctl restart deviceupdate-agent
    

يخضع تحديث الجهاز لحزم برامج Azure IoT Hub إلى شروط الترخيص التالية:

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

أعد الجهاز يدويا

علي غرار الخطوات المؤتمتة من خلال البرنامج النصي cloud-init ، تستخدم الخطوات اليدوية التالية لتثبيت الجهاز وتكوينه. استخدم هذه الخطوات من أجل إعداد جهاز فعلي.

  1. اتبع التعليمات من أجلتثبيت وقت تشغيل Azure IoT Edge.

    ملاحظة

    لا يعتمد عامل حزمة Device Update على IoT Edge. ولكنه يعتمد على البرنامج الخفي IoT Identity Service المثبت مع IoT Edge (1.2.0 وأعلى) للحصول على هوية والاتصال بـ IoT Hub.

    بالرغم من عدم التغطية في هذا البرنامج التعليمي، يمكن تثبيت البرنامج الخفي IoT Identity Service ليكون قائمًا بذاته في أجهزة Linux-based IoT. تسلسل الأمور المتعلقة بالتثبيت. يجب تثبيت عامل حزمة تحديث الجهاز بعدIoT Identity Service. خلاف ذلك، لن يسجل عامل الحزمة كمكون معتمد لإنشاء اتصال بـ IoT Hub.

  2. ثبت عامل Update Device حزم deb:

    sudo apt-get install deviceupdate-agent 
    
  3. أدخل وحدة جهاز IoT (أو الجهاز، اعتمادا على كيفية تزويد الجهاز ب Device Update) سلسلة الاتصال الأساسية في ملف التكوين. يرجى ملاحظة أنه يجب تعيين جميع القيم التي تحتوي على علامة "مكان القيمة هنا". راجع تكوين عامل DU.

    sudo /etc/adu/du-config.json
    
  4. أعد تشغيل عامل Device Update.

    sudo systemctl restart deviceupdate-agent
    

يخضع تحديث الجهاز لحزم برامج Azure IoT Hub إلى شروط الترخيص التالية:

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

إضافة علامة إلى جهازك

  1. سجل فيمدخل Microsoft Azure ثم انتقل بعد ذلك إلى مركز IoT.

  2. في الجزء الأيمن، ضمن الأجهزة، ابحث عن جهاز IoT Edge وانتقل إلى الجهاز المزدوج أو الوحدة المزدوجة.

  3. في الوحدة النمطية المزدوجة لوحدة عامل تحديث الجهاز، احذف أي قيم علامة Device Update موجودة عن طريق تعيينها على قيمة خالية. في حال كنت تستخدم معرف الجهاز مع عامل Device Update، أجر هذه التغييرات على Device Twin.

  4. أضف قيمة علامة Device Update الجديدة، كما هو موضح:

        "tags": {
            "ADUGroup": "<CustomTagValue>"
        },
    

    لقطة شاشة تعرض التوأم مع معلومات العلامة.

    تظهر لقطة الشاشة هذه القسم حيث يجب إضافة العلامة في التوأم.

قم باستيراد تحديث

  1. انتقل إلى Device Update releases في GitHub ومن ثم انقر على القائمة المنسدلة Assets. نزل Tutorial_IoTEdge_PackageUpdate.zip من خلال تحديده. استخرج محتويات المجلد لاكتشاف نموذج بيان APT (sample-1.0.2-aziot-edge-apt-manifest.json) وبيان الاستيراد المقابل له (sample-1.0.2-aziot-edge-importManifest.json).

  2. سجّل الدخول إلى مدخل Microsoft Azure وانتقل إلى مركز IoT باستخدام Device Update. في الجزء الأيسر، ضمنAutomatic Device Management، حدد Updates.

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

  4. حدد + Import New Update.

  5. حدد + Select من موقع تخزين الحاوية. حدد حسابًا موجودًا أو أنشئ حسابًا جديدًا باستخدام + حساب Storage. ثم حدد حاوية موجودة أو أنشئ حاوية جديدة عن طريق استخدام + Container. تستخدم هذه الحاوية لعرض ملفات التحديث الخاصة بك للاستيراد.

    ملاحظة

    نوصي باستخدام حاوية جديدة في كل مرة تقوم فيها باستيراد تحديث تجنبًا لاستيراد الملفات عن طريق الخطأ من التحديثات السابقة. في حالة عدم استخدام حاوية جديدة، فتأكد من حذف أي ملفات من الحاوية الحالية قبل الانتهاء من هذه الخطوة.

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

  6. في الحاوية الخاصة بك، حدد تحميل ومن ثم انتقل إلى الملفات التي نزلتها في الخطوة رقم 1. بعد تحديد كافة ملفات التحديث الخاصة بك، حددUpload. ثم حدد الزر Select للعودة إلى صفحة Import update.

    لقطة شاشة توضح تحديد الملفات المحملة.

    توضح لقطة الشاشة هذه خطوة الاستيراد. من المحتمل عدم تطابق أسماء الملفات مع الأسماء المستخدمة في المثال.

  7. في صفحة Import update، راجع الملفات التي سيتم استيرادها. ثم حدد Import update لبدء عملية الاستيراد.

    لقطة شاشة توضح بدء عملية الاستيراد.

  8. تبدأ عملية الاستيراد ومن ثم تتغير الشاشة إلى قسم Import History. عندما يرمز عمود Status إلى نجاح الاستيراد، حدد العنوان Available updates. يجب أن تشاهد التحديث المستورد في القائمة الآن.

    لقطة شاشة توضح حالة الوظيفة.

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

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

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

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

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

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

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

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

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

استخدام تحديث

  1. بعد إنشاء المجموعة، من المفترض أن ترى تحديثا جديدا متاحا لمجموعة أجهزتك مع ارتباط تشعبي للتحديث ضمن Best update. من المحتمل أن تحتاج لإعادة تحديث مرة أخري.

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

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

    لقطة الشاشة التي تظهر تفاصيل المجموعة.

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

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

  4. رتّب الاستخدام الخاص بك للبدء في الحال أو في المستقبل. ثم حدد "Create".

    تلميح

    بشكل افتراضي، يكون تاريخ ووقت البدء 24 ساعة من وقتك الحالي. تأكد من تحديد تاريخ ووقت مختلفين في حال كنت تريد أن يبدأ الاستخدام في وقت مبكر.

    لقطة شاشة توضح إنشاء عملية نشر.

  5. ضمن تفاصيل Deployment،Status تتحول إلى Active. توضع علامة على التحديث المستخدم(deploying).

    لقطة شاشة تظهر نشاط عملية النشر.

  6. اعرض مخطط التوافق للتأكد أن التحديث قيد التقدم الآن.

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

    لقطة شاشة توضح نجاح التحديث.

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

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

    لقطة شاشة تعرض محفوظات النشر.

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

    لقطة شاشة توضح تفاصيل عملية النشر.

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

لقد أكملت الآن تحديثا ناجحا لحزمة شاملة من خلال استخدام Device Update لـ IoT Hub على جهاز Ubuntu Server 18.04 x64.

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

في حالة عدم الحاجة إلى ذلك، نظف حساب تحديث جهازك، والمثيل، ومركز IoT. نظف أيضا جهاز IoT Edge في حالة أنشأت الجهاز الظاهري عن طريق الزر Deploy to Azure. لتنظيف الموارد، انتقل إلى كل مورد علي حدة وحدد Delete. نظف نسخة تحديث الجهاز قبل تنظيف حساب تحديث الجهاز.

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