البرنامج التعليمي: إنشاء التسلسل الهرمي لأجهزة IoT Edge

ينطبق على: علامة اختيار IoT Edge 1.5 IoT Edge 1.5 علامة اختيار IoT Edge 1.4 IoT Edge 1.4

هام

IoT Edge 1.5 LTS وIoT Edge 1.4 LTS هي إصدارات مدعومة. IoT Edge 1.4 LTS هو نهاية العمر الافتراضي في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا سابقا، فشاهد تحديث IoT Edge.

يمكنك نشر عقد Azure IoT Edge عبر الشبكات المنظمة في طبقات هرمية. كل طبقة في التسلسل الهرمي هي عبارة عن جهاز بوابة يعالج الرسائل والطلبات من الأجهزة الموجودة في الطبقة الموجودة أسفلها. يعرف هذا التكوين أيضا باسم الحافة المتداخلة.

يمكنك هيكلة تسلسل هرمي للأجهزة بحيث يكون للطبقة العليا فقط اتصال بالسحابة، ويمكن للطبقات السفلية الاتصال فقط بطبقات المصدر والمصب المجاورة. طبقات الشبكة هذه هي أساس معظم الشبكات الصناعية التي تتبع معيار ISA-95.

يرشدك هذا البرنامج التعليمي خلال إنشاء تسلسل هرمي لأجهزة IoT Edge، ونشر حاويات وقت تشغيل IoT Edge على أجهزتك، وتكوين أجهزتك محليا. يمكنك القيام بالمهام التالية:

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

تلميح

يتضمن هذا البرنامج التعليمي مجموعة من الخطوات اليدوية والآلية لتوفير عرض لميزات IoT Edge المتداخلة.

إذا كنت ترغب في إلقاء نظرة تلقائية بالكامل على إعداد تسلسل هرمي لأجهزة IoT Edge، فاتبع نموذج Azure IoT Edge ل IoT الصناعي المكتوب. ينشر هذا السيناريو المبرمج أجهزة Azure الظاهرية كأجهزة مكونة مسبقًا لمحاكاة بيئة المصنع.

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

في هذا البرنامج التعليمي، يتم تعريف طبقات الشبكة التالية:

  • الطبقة العليا:يمكن لأجهزة IoT Edge في هذه الطبقة الاتصال مباشرةً بالسحابة.

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

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

هيكل التسلسل الهرمي للبرنامج التعليمي، الذي يحتوي على جهازين: جهاز الطبقة العليا وجهاز الطبقة السفلى

إشعار

يمكن أن يكون الجهاز التابع جهاز انتقال البيانات من الخادم أو جهاز بوابة في طوبولوجيا متداخلة.

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

لإنشاء تسلسل هرمي لأجهزة IoT Edge، تحتاج إلى:

  • جهاز كمبيوتر (نظام تشغيل Windows أو Linux) مع اتصال بالإنترنت.

  • حساب Azure باشتراك صالح. في حال لم يكن لديك اشتراك في Azure، قم بإنشاءحساب مجاني قبل البدء.

  • مركز IoTمجاني أو قياسي المستوى في Azure.

  • Bash shell في Azure Cloud Shell باستخدام Azure CLI مع تثبيت ملحق Azure IoT. يستخدم البرنامج التعليمي Azure Cloud Shell. للاطلاع على الإصدارات الحالية من الوحدات النمطية والملحقات لـ Azure CLI، شغّل إصدار az.

  • جهازان يعملان بنظام Linux لتكوين التسلسل الهرمي الخاص بك. إذا لم يكن لديك أجهزة متوفرة، يمكنك إنشاء أجهزة Azure الظاهرية لكل جهاز في التسلسل الهرمي باستخدام قالب IoT Edge Azure Resource Manager. تم تثبيت الإصدار 1.5 من IoT Edge مسبقا باستخدام قالب Resource Manager هذا. إذا كنت تقوم بتثبيت IoT Edge على أجهزتك الخاصة، فشاهد تثبيت Azure IoT Edge لنظام Linux أو تحديث IoT Edge.

  • لتبسيط اتصال الشبكة بين الأجهزة، يجب أن تكون الأجهزة الظاهرية على نفس الشبكة الظاهرية أو تستخدم نظير الشبكة الظاهرية.

  • تأكد من أن المنافذ التالية مفتوحة ومتجهة لكافة الأجهزة باستثناء أدنى جهاز طبقة: 443، و5671، و8883:

    • 443: يُستخدم بين لوحات الوصل الطرفية الأصل والفرعية لاستدعاءات واجهة برمجة تطبيقات REST ولسحب صورة حاوية docker .
    • 5671، و8883: يُستخدمان لـ AMQP وMQTT.

    للحصول على مزيد من المعلومات، راجع كيفية فتح المنافذ في جهاز ظاهري باستخدام مدخل Azure.

    تلميح

    يمكنك استخدام مقبض SSH وعنوان FQDN أو IP لكل جهاز ظاهري للتكوين في الخطوات اللاحقة، لذا تتبع هذه المعلومات. يمكنك العثور على عنوان IP وFQDN على مدخل Microsoft Azure. للحصول على عنوان IP، انتقِل إلى قائمة الأجهزة الظاهرية ولاحظ حقل عنوان IP العام. بالنسبة إلى FQDN، انتقل إلى صفحة نظرة عامة على كل جهاز ظاهري وابحث عن حقل اسم DNS. بالنسبة إلى مقبض SSH، انتقل إلى صفحة اتصال كل جهاز ظاهري.

إنشاء التسلسل الهرمي لجهاز IoT Edge

تشكل أجهزة IoT Edge طبقات التسلسل الهرمي. ينشئ هذا البرنامج التعليمي تسلسلا هرميا لجهازي IoT Edge: جهاز الطبقة العليا وجهاز الطبقة السفلية. يمكنك إنشاء المزيد من أجهزة انتقال البيانات من الخادم حسب الحاجة.

لإنشاء وتكوين التسلسل الهرمي لأجهزة IoT Edge، يمكنك استخدام الأمر az iot edge devices create Azure CLI. يبسط الأمر تكوين التسلسل الهرمي عن طريق أتمتة وتكثيف عدة خطوات:

  • إنشاء أجهزة في مركز IoT
  • تعيين العلاقات بين الأصل والتابع لتخويل الاتصال بين الأجهزة
  • تطبيق بيان التوزيع على كل جهاز
  • إنشاء سلسلة من الشهادات لكل جهاز لإنشاء اتصال آمن بينها
  • إنشاء ملفات التكوين لكل جهاز

إنشاء تكوين الجهاز

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

  1. قبل استخدام الأمر az iot edge devices create ، تحتاج إلى تعريف بيان التوزيع لأجهزة الطبقة العليا والطبقة السفلية. قم بتنزيل ملف عينة deploymentTopLayer.json إلى جهازك المحلي.

    يعرف بيان نشر جهاز الطبقة العليا وحدة وكيل واجهة برمجة تطبيقات IoT Edge ويعلن المسار من جهاز الطبقة السفلية إلى IoT Hub.

  2. قم بتنزيل ملف عينة deploymentLowerLayer.json إلى جهازك المحلي.

    يتضمن بيان نشر جهاز الطبقة السفلية وحدة استشعار درجة الحرارة المحاكية ويعلن المسار إلى جهاز الطبقة العليا. يمكنك أن ترى داخل قسم systemModules أنه تم تعيين وحدات وقت التشغيل للسحب من $upstream:443، بدلا من mcr.microsoft.com. يرسل جهاز الطبقة السفلية طلبات صورة Docker الوحدة النمطية وكيل واجهة برمجة تطبيقات IoT Edge على المنفذ 443، حيث لا يمكنه سحب الصور مباشرة من السحابة. الوحدة النمطية الأخرى التي تم نشرها في جهاز الطبقة السفلية، وهي الوحدة النمطية أداة استشعار درجة الحرارة المماثلة، تطلب أيضًا الصورة إلى $upstream:443.

    لمزيد من المعلومات حول كيفية إنشاء بيان نشر الطبقة السفلية، راجع توصيل أجهزة Azure IoT Edge لإنشاء تسلسل هرمي.

  3. في Azure Cloud Shell، استخدم الأمر az iot edge devices create Azure CLI لإنشاء أجهزة في IoT Hub وحزم التكوين لكل جهاز في التسلسل الهرمي الخاص بك. استبدل العناصر النائبة التالية بالقيم المناسبة:

    Placeholder ‏‏الوصف
    <اسم المركز> اسم IoT Hub الخاص بك.
    <config-bundle-output-path> مسار المجلد حيث تريد حفظ حزم التكوين.
    <اسم الجهاز الأصل> اسم معرف الجهاز الأصل للطبقة العليا.
    <بيان التوزيع الأصل> ملف بيان نشر الجهاز الأصل.
    <parent-fqdn-or-ip> اسم المجال المؤهل بالكامل للجهاز الأصل (FQDN) أو عنوان IP.
    <اسم الجهاز التابع> اسم معرف الجهاز التابع للطبقة السفلية.
    <بيان التوزيع التابع> ملف بيان نشر الجهاز التابع.
    <child-fqdn-or-ip> اسم المجال المؤهل بالكامل للجهاز التابع (FQDN) أو عنوان IP.
    az iot edge devices create \
       --hub-name <hub-name> \
       --output-path <config-bundle-output-path> \
       --default-edge-agent "mcr.microsoft.com/azureiotedge-agent:1.5" \
       --device id=<parent-device-name> \
          deployment=<parent-deployment-manifest> \
          hostname=<parent-fqdn-or-ip> \
       --device id=child-1 \
          parent=parent-1 \
          deployment=<child-deployment-manifest> \
          hostname=<child-fqdn-or-ip>
    

    على سبيل المثال، ينشئ الأمر التالي تسلسلا هرميا لجهازي IoT Edge في IoT Hub. جهاز الطبقة العليا المسمى parent-1 وجهاز الطبقة السفلية المسمى child-1*. يحفظ الأمر حزم التكوين لكل جهاز في دليل الإخراج . يقوم الأمر أيضا بإنشاء شهادات اختبار موقعة ذاتيا وتضمينها في مجموعة التكوين. يتم تثبيت حزم التكوين على كل جهاز باستخدام برنامج نصي للتكوين.

    az iot edge devices create \
       --hub-name my-iot-hub \
       --output-path ./output \
       --default-edge-agent "mcr.microsoft.com/azureiotedge-agent:1.5" \
       --device id=parent-1 \
          deployment=./deploymentTopLayer.json \
          hostname=10.0.0.4 \
       --device id=child-1 \
          parent=parent-1 \
          deployment=./deploymentLowerLayer.json \
          hostname=10.1.0.4
    

بعد تشغيل الأمر، يمكنك العثور على حزم تكوين الجهاز في دليل الإخراج. على سبيل المثال:

PS C:\nested-edge\output> dir

   Directory: C:\nested-edge\output

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           4/10/2023  4:12 PM           7192 child-1.tgz
-a---           4/10/2023  4:12 PM           6851 parent-1.tgz

يمكنك استخدام الشهادات والمفاتيح الخاصة بك التي تم تمريرها كوسيطات إلى الأمر أو إنشاء تسلسل هرمي أكثر تعقيدا للجهاز. لمزيد من المعلومات حول إنشاء أجهزة متداخلة باستخدام الأمر az ، راجع az iot edge devices create. إذا لم تكن على دراية بكيفية استخدام الشهادات في سيناريو البوابة، فشاهد قسم شهادة الدليل الإرشادي.

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

تكوين وقت تشغيل IoT Edge

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

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

  1. انسخ كل ملف أرشيف حزمة تكوين إلى الجهاز المقابل له. يمكنك استخدام محرك أقراص USB أو خدمة مثل Azure Key Vault أو مع وظيفة مثل نسخة ملف آمنة. اختر إحدى هذه الطرق التي تطابق السيناريو الخاص بك على أفضل نحو.

    على سبيل المثال، لإرسال حزمة التكوين parent-1 إلى الدليل الرئيسي على الجهاز الظاهري parent-1 ، يمكنك استخدام أمر مثل المثال التالي:

    scp ./output/parent-1.tgz admin@parent-1-vm.westus.cloudapp.azure.com:~
    
  2. على كل جهاز، استخرج أرشيف حزمة التكوين. على سبيل المثال، استخدم الأمر tar لاستخراج ملف الأرشيف الأصل-1 :

    tar -xzf ./parent-1.tgz
    
  3. تعيين إذن التنفيذ للبرنامج النصي للتثبيت.

    chmod +x install.sh
    
  4. على كل جهاز، قم بتطبيق حزمة التكوين على الجهاز باستخدام إذن الجذر:

    sudo ./install.sh
    

    تثبيت حزم التكوين تحديث ملفات config.toml على جهازك وإعادة تشغيل جميع خدمات IoT Edge تلقائيا

    إذا كنت تريد إلقاء نظرة فاحصة على التعديلات التي يتم إجراؤها على ملف تكوين جهازك، فشاهد توصيل أجهزة Azure IoT Edge معا لإنشاء تسلسل هرمي.

للتحقق من تكوين أجهزتك بشكل صحيح، قم بتشغيل عمليات التحقق من التكوين والاتصال على أجهزتك.

sudo iotedge check
admin@child-1-vm:~$ sudo iotedge check

Configuration checks (aziot-identity-service)
---------------------------------------------
√ keyd configuration is well-formed - OK
√ certd configuration is well-formed - OK
√ tpmd configuration is well-formed - OK
√ identityd configuration is well-formed - OK
√ daemon configurations up-to-date with config.toml - OK
√ identityd config toml file specifies a valid hostname - OK
√ host time is close to reference time - OK
√ preloaded certificates are valid - OK
√ keyd is running - OK
√ certd is running - OK
√ identityd is running - OK
√ read all preloaded certificates from the Certificates Service - OK
√ read all preloaded key pairs from the Keys Service - OK
√ check all EST server URLs utilize HTTPS - OK
√ ensure all preloaded certificates match preloaded private keys with the same ID - OK

Connectivity checks (aziot-identity-service)
--------------------------------------------
√ host can connect to and perform TLS handshake with iothub AMQP port - OK
√ host can connect to and perform TLS handshake with iothub HTTPS / WebSockets port - OK
√ host can connect to and perform TLS handshake with iothub MQTT port - OK

Configuration checks
--------------------
√ aziot-edged configuration is well-formed - OK
√ configuration up-to-date with config.toml - OK
√ container engine is installed and functional - OK
√ configuration has correct parent_hostname - OK
√ configuration has correct URIs for daemon mgmt endpoint - OK
√ container time is close to host time - OK
‼ DNS server - Warning
    Container engine is not configured with DNS server setting, which may impact connectivity to IoT Hub.
    Please see https://aka.ms/iotedge-prod-checklist-dns for best practices.
    You can ignore this warning if you are setting DNS server per module in the Edge deployment.
‼ production readiness: logs policy - Warning
    Container engine is not configured to rotate module logs which may cause it run out of disk space.
    Please see https://aka.ms/iotedge-prod-checklist-logs for best practices.
    You can ignore this warning if you are setting log policy per module in the Edge deployment.
‼ production readiness: Edge Agent's storage directory is persisted on the host filesystem - Warning
    The edgeAgent module is not configured to persist its /tmp/edgeAgent directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
‼ production readiness: Edge Hub's storage directory is persisted on the host filesystem - Warning
    The edgeHub module is not configured to persist its /tmp/edgeHub directory on the host filesystem.
    Data might be lost if the module is deleted or updated.
    Please see https://aka.ms/iotedge-storage-host for best practices.
√ Agent image is valid and can be pulled from upstream - OK
√ proxy settings are consistent in aziot-edged, aziot-identityd, moby daemon and config.toml - OK

Connectivity checks
-------------------
√ container on the default network can connect to upstream AMQP port - OK
√ container on the default network can connect to upstream HTTPS / WebSockets port - OK
√ container on the IoT Edge module network can connect to upstream AMQP port - OK
√ container on the IoT Edge module network can connect to upstream HTTPS / WebSockets port - OK
30 check(s) succeeded.
4 check(s) raised warnings. Re-run with --verbose for more details.
2 check(s) were skipped due to errors from other checks. Re-run with --verbose for more details.

على جهاز الطبقة العليا، توقع أن يظهر لك ناتج مع عدة تقييمات ناجحة. قد يظهر لك بعض التحذيرات حول سياسات السجلات، وبناءً على شبكتك، ونهج نظام أسماء النطاقات.

نشر وحدة الجهاز

تم تطبيق نشر الوحدة النمطية لأجهزتك عند إنشاء الأجهزة في IoT Hub. قام الأمر az iot edge devices create بتطبيق ملفات JSON للتوزيع لأجهزة الطبقة العليا والدنيا. بعد اكتمال عمليات النشر هذه، يستخدم جهاز الطبقة السفلية وحدة وكيل واجهة برمجة تطبيقات IoT Edge لسحب صوره الضرورية.

بالإضافة إلى الوحدات النمطية لوقت التشغيل IoT Edge Agent، وIoT Edge Hub، ويتلقى جهاز الطبقة العليا الوحدة النمطية سجل Docker ووكيل واجهة برمجة تطبيقات IoT Edge.

تشير الوحدة النمطية سجل Docker إلى سجل حاويات Azure قائم. في هذه الحالة، يشير REGISTRY_PROXY_REMOTEURL إلى تسجيل حاويات Microsoft. بشكل افتراضي، يستمع سجل Docker إلي منفذ 5000.

تعمل الوحدة النمطية وكيل واجهة برمجة تطبيقات IoT Edge على توجيه طلبات HTTP إلى وحدات أخرى، ما يسمح لأجهزة الطبقة السفلية بسحب صور الحاوية أو نقل البيانات الثنائية صغيرة الحجم إلى المخزن. في هذا البرنامج التعليمي، يتصل على المنفذ 443 ويتم التكوين لإرسال مسار طلبات سحب صورة حاوية Docker إلى الوحدة النمطية سجل Docker على المنفذ 5000. كما يطلب أي مسار طلبات تحميل مخزن البيانات الثنائية كبيرة الحجم إلى الوحدة النمطية AzureBlobStorageonIoTEdge على المنفذ 11002. للحصول على مزيد من المعلومات حول الوحدة النمطية وكيل واجهة برمجة تطبيقات IoT Edge وكيفية تكوينها، راجع الدليل الإرشادي للوحدة النمطية.

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

يمكنك عرض حالة الوحدات النمطية باستخدام الأمر:

az iot hub module-twin show --device-id <edge-device-id> --module-id '$edgeAgent' --hub-name <iot-hub-name> --query "properties.reported.[systemModules, modules]"

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

يمكنك أيضًا الاطلاع على عرض حالة الوحدات النمطية على مدخل Azure. انتقل إلى قسم الأجهزة في IoT Hub لمشاهدة أجهزتك ووحداتك النمطية.

عرض البيانات التي تم إنشاؤها

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

يمكنك أيضًا عرض هذه الرسائل من خلال Azure Cloud Shell:

az iot hub monitor-events -n <iot-hub-name> -d <lower-layer-device-name>

على سبيل المثال:

az iot hub monitor-events -n my-iot-hub -d child-1
{
    "event": {
        "origin": "child-1",
        "module": "simulatedTemperatureSensor",
        "interface": "",
        "component": "",
        "payload": "{\"machine\":{\"temperature\":104.29281270901808,\"pressure\":10.48905461241978},\"ambient\":{\"temperature\":21.086561171611102,\"humidity\":24},\"timeCreated\":\"2023-04-17T21:50:30.1082487Z\"}"
    }
}

استكشاف الأخطاء وإصلاحها

شغّل الأمر iotedge check للتحقق من التكوين واستكشاف الأخطاء وإصلاحها.

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

عند تشغيل iotedge check من الطبقة السفلية، يحاول البرنامج سحب الصورة من الأصل خلال المنفذ 443.

يتم سحب القيمة azureiotedge-diagnostics من سجل الحاوية المرتبط بالوحدة النمطية للسجل. هذا البرنامج التعليمي قد تم تعيينه افتراضيا إلى https://mcr.microsoft.com:

الاسم القيمة‬
REGISTRY_PROXY_REMOTEURL https://mcr.microsoft.com

إذا كنت تستخدم سجل حاويات خاص، فتأكد من وجود كافة الصور (IoTEdgeAPIProxy، وedgeAgent، وedgeHub، وأداة استشعار درجة الحرارة المماثلة والتشخيصات) في سجل الحاوية.

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

[agent.config]
image = "$upstream:443/azureiotedge-agent:1.5.0-linux-amd64"

"systemModules": {
   "edgeAgent": {
      "settings": {
            "image": "$upstream:443/azureiotedge-agent:1.5.0-linux-amd64"
      },
   },
   "edgeHub": {
      "settings": {
            "image": "$upstream:443/azureiotedge-hub:1.5.0-linux-amd64",
      }
   }
}

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

يمكنك حذف التكوينات المحلية وموارد Azure التي أنشأتها في هذه المقالة لتجنب الرسوم.

لحذف الموارد:

  1. سجل الدخول إلىمدخل Azureوحددمجموعات الموارد.

  2. حدد اسم مجموعة الموارد التي تحتوي على موارد اختبار IoT Edge.

  3. راجع قائمة الموارد الموجودة في مجموعة الموارد. إذا كنت تريد حذفها جميعاً، يمكنك تحديد Delete resource group. إذا كنت تريد حذف بعضها فقط، يمكنك تحديد كل مورد لحذفها بشكل فردي.

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

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

لمعرفة المزيد حول استخدام البوابات لإنشاء طبقات هرمية من أجهزة IoT Edge، راجع المقالة التالية.