فهم وقت تشغيل Azure IoT Edge وهندسته

ينطبق على:IoT Edge 1.4 checkmark IoT Edge 1.4

هام

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

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

وقت التشغيل الخاص بـ IoT Edge مسؤول عن الوظائف التالية على أجهزة مزودة بـ IoT Edge:

  • احرص على تثبيت وتحديث أحمال العمل على الجهاز.

  • حافظ على معايير أمان Azure IoT Edge على الجهاز.

  • تأكد من تشغيل وحدات IoT Edge دائما.

  • أبلِغ عن حالة الوحدة إلى السحابة للمراقبة عن بُعد.

  • إدارة الاتصال بين:

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

Screenshot of how runtime communicates insights and module health to I o T Hub.

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

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

عامل IoT Edge الخاص

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

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

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

يرسل عامل IoT Edge استجابة وقت التشغيل إلى مركز IoT. فيما يلي قائمة بالردود المحتملة:

  • 200 – حسناً
  • 400 - تكوين التوزيع تالف أو غير صالح.
  • 417 - الجهاز ليس لديه مجموعة تكوين التوزيع.
  • 412- إصدار المخطط في تكوين التوزيع غير صالح.
  • 406 - جهاز مزود بـIoT Edge غير متصل أو لا يرسل تقارير الحالة.
  • 500 - حدث خطأ في وقت تشغيل IoT Edge.

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

الأمان

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

لمزيد من المعلومات حول إطار عمل أمان Azure IoT Edge، اقرأ عن مدير أمان IoT Edge.

مركز IoT Edge

مركز IoT Edge هو الوحدة النمطية الأخرى التي تشكل وقت تشغيل Azure IoT Edge. يعمل كوكيل محلي ل IoT Hub عن طريق الكشف عن نفس نقاط نهاية البروتوكول مثل IoT Hub. يعني هذا التناسق أنه يمكن للعملاء الاتصال بوقت تشغيل IoT Edge تماما كما يفعلون مع IoT Hub.

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

الاتصال السحابي

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

Screenshot showing relationships to I o T Edge hub as a gateway between physical devices and I o T Hub.

يمكن أن يحدد مركز IoT Edge ما إذا كان متصلا بـIoT Hub. إذا تم فقدان الاتصال، يقوم مركز IoT Edge بحفظ الرسائل أو التحديثات المزدوجة محليا. بمجرد إعادة التأسيس الخاص بالاتصال، فإنه يقوم بمزامنة كافة البيانات. يتم تحديد الموقع المستخدم لذاكرة التخزين المؤقت المؤقتة هذه بواسطة خاصية الوحدة النمطية المزدوجة لمركز IoT Edge. لا يتم تحديد حجم ذاكرة التخزين المؤقت وسيزداد طالما أن الجهاز لديه سعة تخزين. لمزيد من المعلومات، راجع قدرات دون اتصال.

الاتصال المحلي

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

استخدام التوجيه

تستخدم آلية الوساطة نفس ميزات التوجيه مثل IoT Hub لتحديد كيفية تمرير الرسائل بين الأجهزة أو الوحدات النمطية. تحدد الأجهزة أو الوحدات النمطية الأولى المدخلات التي تقبل عليها الرسائل والمخرجات التي تكتب الرسائل إليها. بعد ذلك، يمكن لمطور الحل توجيه الرسائل بين مصدر (على سبيل المثال، المخرجات)، والوجهة (على سبيل المثال، المدخلات)، مع عوامل التصفية المحتملة.

Screenshot showing how routes between modules go through I o T Edge hub.

يمكن استخدام التوجيه من قبل الأجهزة أو الوحدات النمطية التي تم إنشاؤها باستخدام حزم SDK لجهاز Azure IoT باستخدام بروتوكول AMQP. يتم دعم جميع أساسيات IoT Hub للمراسلة (على سبيل المثال، القياس عن بعد)، والأساليب المباشرة، وC2D، والتوائم، ولكن الاتصال عبر الموضوعات المعرفة من قبل المستخدم غير مدعوم.

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

تتوفر ميزات آلية الوساطة:

الميزات التوجيه
بيانات تتبع الاستخدام D2C
بيانات تتبع الاستخدام المحلية
طرق مباشرة
التوام
C2D للأجهزة
الطلبات
التصفية
الموضوعات المعرفة من قبل المستخدم
من جهاز إلى جهاز
البث المحلي

الاتصال إلى مركز IoT Edge

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

إشعار

يدعم مركز IoT Edge العملاء ممن يتصلون باستخدام MQTT أو AMQP. لا يدعم عملاء استخدام HTTP.

عندما يتصل عميل بمركز IoT Edge، يحدث ما يلي:

  1. إذا تم استخدام أمان طبقة النقل (TLS) (موصى به)، يتم إنشاء قناة TLS لإنشاء اتصال مشفر بين العميل ومركز IoT Edge.
  2. يتم إرسال معلومات المصادقة من العميل إلى مركز IoT Edge لتعريف نفسه.
  3. يقوم مركز IoT Edge بتخويل الاتصال أو رفضه استنادا إلى نهج التخويل الخاص به.

اتصالات آمنة (TLS)

بشكل افتراضي، يقبل مركز IoT Edge فقط الاتصالات المؤمنة مع أمان طبقة النقل (TLS)، على سبيل المثال، الاتصالات المشفرة التي لا يمكن لجهة خارجية فك تشفيرها.

إذا كان العميل يتصل على المنفذ 8883 (MQTTS) أو 5671 (AMQPS) بمركز IoT Edge، فيجب إنشاء قناة TLS. أثناء تأكيد اتصال TLS، يرسل مركز IoT Edge سلسلة الشهادات الخاصة به التي يحتاج العميل إلى التحقق من صحتها. للتحقق من صحة سلسلة الشهادات، يجب تثبيت الشهادة الجذر لمركز IoT Edge كشهادة موثوق بها على العميل. إذا لم تكن الشهادة الجذر موثوقا بها، فسيتم رفض مكتبة العميل بواسطة مركز IoT Edge مع خطأ في التحقق من الشهادة.

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

المصادقة

يقبل IoT Edge Hub الاتصالات من الأجهزة أو الوحدات النمطية التي لها هوية IoT Hub فقط. على سبيل المثال، تلك التي تم تسجيلها في IoT Hub وامتلكت إحدى طرق مصادقة العميل الثلاثة التي يدعمها مركز IoT لإثبات هويتها: مصادقة المفاتيح المتماثلة، والمصادقة الموقعة ذاتيا X.509، والمصادقة الموقعة من قبل X.509 CA. يمكن التحقق من هويات IoT Hub هذه محليا بواسطة مركز IoT Edge بحيث لا يزال من الممكن إجراء الاتصالات أثناء عدم الاتصال.

تدعم وحدات IoT Edge حاليا مصادقة المفتاح المتماثل فقط.

التصريح

من خلال التحقق من أن العميل ينتمي إلى مجموعة العملاء الموثوق بهم المحددة في IoT Hub. يتم تحديد مجموعة العملاء الموثوق بهم عن طريق إعداد علاقات الأصل/التابع أو الجهاز/الوحدة النمطية في IoT Hub. عند إنشاء وحدة نمطية في IoT Edge، يتم إنشاء علاقة ثقة تلقائيا بين هذه الوحدة وجهاز IoT Edge الخاص بها. هذا هو نموذج التخويل الوحيد الذي تدعمه آلية وساطة التوجيه.

التكوين عن بعد

يتم التحكم في مركز IoT Edge بالكامل بواسطة السحابة. يحصل على تكوينه من IoT Hub عبر الوحدة النمطية المزدوجة الخاصة به. يحتوي التوأم على خاصية مطلوبة تسمى المسارات التي تعلن عن كيفية تمرير الرسائل داخل التوزيع. لمزيد من المعلومات حول المسارات، راجع تعريف المسارات.

بالإضافة إلى ذلك، يمكن إجراء العديد من التكوينات عن طريق إعداد متغيرات البيئة على مركز IoT Edge.

بيانات تتبع الاستخدام ذات جودة وقت التشغيل

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

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

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

يجمع عامل IoT Edge بيانات تتبع الاستخدام كل ساعة ويرسل رسالة واحدة إلى IoT Hub كل 24 ساعة.

إذا كنت ترغب في إلغاء الاشتراك في إرسال بيانات تتبع الاستخدام لوقت التشغيل من أجهزتك، فهناك طريقتان للقيام بذلك:

  • SendRuntimeQualityTelemetry تعيين متغير البيئة إلى false ل edgeAgent، أو
  • قم بإلغاء تحديد الخيار في مدخل Microsoft Azure أثناء النشر.

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