البرنامج التعليمي: نشر Azure Stream Analytics كوحدة لـ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 Stream Analytics في مدخل Microsoft Azure ثم نشرها كوحدة IoT Edge بدون تعليمات برمجية إضافية.

‏‫ستتعلم كيفية:

  • إنشاء مهمة Azure Stream Analytics لمعالجة البيانات في edge.
  • اتصال مهمة Azure Stream Analytics الجديدة مع وحدات IoT Edge الأخرى.
  • نشر مهمة Azure Stream Analytics على جهاز IoT Edge من مدخل Azure.

رسم تخطيطي لبنية الدفق، يوضح التقسيم المرحلي ونشر وظيفة Azure Stream Analytics.

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

لماذا تستخدم Azure Stream Analytics في IoT Edge؟

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

يوفر Azure Stream Analytics تركيب استعلام منظم لتحليل البيانات، سواء في السحابة أو على أجهزة IoT Edge. لمزيد من المعلومات، راجع وثائق Azure Stream Analytics.

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

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

  • جهاز Azure IoT Edge.

    يمكنك استخدام جهاز افتراضي لـAzure كجهاز IoT Edge باتباع الخطوات المبينة في التشغيل السريع لأجهزة Linux أو Windows.

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

إنشاء مهمة «Azure Stream Analytics»

في هذا القسم، يمكنك إنشاء وظيفة Azure Stream Analytics التي تقوم بالخطوات التالية:

  • تلقي البيانات من جهاز IoT Edge.
  • الاستعلام عن بيانات القياس للقيم الخارجة عن نطاق مجموعة.
  • اتخاذ إجراء على جهاز IoT Edge استناداً إلى نتائج الاستعلام.

إنشاء حساب تخزين

عند إنشاء مهمة Azure Stream Analytics لتشغيلها على جهاز IoT Edge، يجب تخزينها بطريقة يمكن استدعاؤها من الجهاز. يمكنك استخدام حساب Azure Storage القائم أو إنشاء حساب جديد الآن.

  1. في مدخل Azure، انتقل إلى إنشاء المورد>التخزين>حساب التخزين.

  2. قم بتوفير القيم التالية لإنشاء حساب التخزين الخاص بك:

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

  4. راجع إعدادات الجهاز الافتراضي، ثم حدد "إنشاء".

إنشاء مؤشر KPI جديد

  1. في مدخل Microsoft Azure، حدد:

    1. إنشاء مورد
    2. إنترنت الأشياء من القائمة على اليسار
    3. اكتب Stream Analytics في شريط البحث للعثور عليه في Marketplace
    4. حدد Create، ثم Stream Analytics job من القائمة المنسدلة
  2. قم بتوفير القيم التالية لإنشاء وظيفة Stream Analytics الجديدة:

    الحقل القيمة
    الاسم اكتب اسماً للمهمة. على سبيل المثال، IoTEdgeJob
    الاشتراك اختر نفس الاشتراك الذي اخترته في مركز IoT.
    مجموعة الموارد نوصي باستخدام نفس مجموعة الموارد لجميع موارد الاختبار التي تقوم بإنشائها أثناء التشغيل السريع والبرامج التعليمية ل IoT Edge. على سبيل المثال، مورد يسمى IoTEdgeResources.
    المنطقة حدد موقعًا قريبًا منك.
    بيئة الاستضافة حدد Edge. يعني هذا الخيار أن التوزيع ينتقل إلى جهاز IoT Edge بدلا من استضافته في السحابة.
  3. حدد "Review + create".

  4. قم بتأكيد خياراتك، ثم حدد إنشاء.

تكوين المهمة الخاصة بك

بمجرد إنشاء مهمة Stream Analytics في مدخل Microsoft Azure، يمكنك تكوينها باستخدام إدخال وإخراج واستعلام لتشغيله على البيانات التي تمر عبرها.

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

إشعار

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

تعيين الإدخال والإخراج

  1. Navigate to your Stream Analytics job in the Azure portal.

  2. ضمن مخطط الوظيفة، حدد Inputs ثم Add input.

  3. اختر مركز Edge من القائمة المنسدلة.

    إذا لم تجد خيار مركز Edge في القائمة، فربما تكون قد أنشأت مهمة Stream Analytics كمهمة مستضافة عبر مجموعة النظراء. حاول إنشاء مهمة جديدة وتأكد من تحديد Edge كبيئة استضافة.

  4. في جزء الإدخال الجديد، أدخل درجة الحرارة باسم الإدخال المستعار.

  5. احتفظ بالقيم الافتراضية للحول الأخرى، وحدد حفظ.

  6. ضمن طوبولوجيا المهمة، افتح "المخرجات" ثم حدد "إضافة".

  7. اختر مركز Edge من القائمة المنسدلة.

  8. في جزء "الإخراج الجديد"، أدخل التنبيه كاسم مستعار للإخراج.

  9. احتفظ بالقيم الافتراضية للحول الأخرى، وحدد حفظ.

إنشاء استعلام

  1. ضمن طوبولوجيا المهمة، حدد الاستعلام.

  2. استبدال النص الافتراضي بالاستعلام التالي.

    SELECT  
        'reset' AS command
    INTO
       alert
    FROM
       temperature TIMESTAMP BY timeCreated
    GROUP BY TumblingWindow(second,30)
    HAVING Avg(machine.temperature) > 70
    

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

  3. حدد "حفظ الاستعلام".

تكوين إعدادات IoT Edge

لإعداد وظيفة Stream Analytics ليتم نشرها على جهاز IoT Edge، تحتاج إلى إقران وظيفة Azure Stream Analytics بحساب تخزين. عند نشر وظيفتك، يتم تصدير تعريف الوظيفة إلى حساب التخزين في شكل حاوية.

  1. في خدمة Stream Analytics ضمن قائمة الإعدادات، حدد إعدادات حساب التخزين.

  2. اختر تحديد "Blob storage/ADLS Gen 2" من الاشتراكات.

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

  4. حدد حفظ، إذا كان عليك إجراء أي تغييرات.

نشر المهمة

أنت الآن جاهز لنشر وظيفة Azure Stream Analytics على جهاز IoT Edge.

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

لهذا البرنامج التعليمي، يمكنك نشر وحدتين. الأول هو SimulatedTemperatureSensor، وهي وحدة تحاكي مستشعر درجة الحرارة والرطوبة. اختبار مهمة Stream Analytics محلياً. توفر وحدة الاستشعار دفق البيانات التي يحللها استعلام الوظيفة.

  1. في مدخل Microsoft Azure توجه إلى مركز IoT.

  2. حدد الأجهزة ضمن قائمة إدارة الأجهزة، ثم حدد جهاز IoT Edge لفتحه.

  3. حدد Set modules.

  4. إذا قمت مسبقاً بنشر وحدة مستشعر درجة الحرارة المماثل (SimulatedTemperatureSensor) على هذا الجهاز، فقد يتم نشرها تلقائياً. إذا لم يحدث ذلك، أضف الوحدة النمطية بالخطوات التالية:

    1. حدد + إضافة واختر وحدة IoT Edge النمطية.
    2. للاسم، اكتب SimulatedTemperatureSensor.
    3. بالنسبة لصورة URI، أدخل mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5.
    4. اترك الإعدادات الافتراضية الأخرى، ثم حدد إضافة.
  5. أضف مهمة Azure Stream Analytics Edge باستخدام الخطوات التالية:

    1. حدد + Add واختر Azure Stream Analytics Module.
    2. حدد اشتراكك ومهمة Azure Stream Analytics Edge التي أنشأتها.
    3. حدد حفظ.

    بمجرد حفظ التغييرات، يتم نشر تفاصيل مهمة Stream Analytics إلى حاوية التخزين التي أنشأتها.

  6. بعد انتهاء إضافة Stream Analytics من النشر، تأكد من ظهور وحدتين نمطيتين جديدتين في صفحة تعيين الوحدات النمطية .

    لقطة شاشة تؤكد وجود وحدتين نمطيتين جديدتين على جهازك. تظهر لقطة الشاشة أيضا مكان وجود زر Review + create.

  7. حدد "Review + create". يظهر بيان التوزيع.

  8. حدد إنشاء.

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

فهم الوحدتين الجديدتين

  1. من علامة التبويب تعيين الوحدات النمطية لجهازك، حدد اسم الوحدة النمطية Stream Analytics لنقلك إلى صفحة تحديث وحدة IoT Edge. هنا يمكنك تحديث الإعدادات.

    تحتوي علامة التبويب الإعدادات على Image URI الذي يشير إلى صورة Azure Stream Analytics قياسية. يتم استخدام هذه الصورة الفردية لكل وحدة Stream Analytics يتم نشرها على جهاز IoT Edge.

    علامة التبويب "إعدادات الوحدة المزدوجة" يظهر JSON الذي يعرف خاصية Azure Stream Analytics (ASA) وتسمى ASAJobInfo. تشير قيمة هذه الخاصية إلى تعريف المهمة في حاوية التخزين الخاصة بك. هذه الخاصية هي كيفية تكوين صورة Stream Analytics مع تفاصيل مهمتك المحددة.

    بشكل افتراضي، تحمل وحدة Stream Analytics نفس اسم المهمة التي تستند إليها. يمكنك تغيير اسم الوحدة في هذه الصفحة إذا أردت، ولكن ليس من الضروري.

  2. حدد تطبيق إذا قمت بإجراء تغييرات أو إلغاء الأمر إذا لم تقم بإجراء أي تغييرات.

تعيين مسارات إلى الوحدات النمطية الخاصة بك

  1. في صفحة Set modules on device:<your-device-name> ، حدد Next: Routes.

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

    أضف أسماء التوجيهات والقيم مع الأزواج الموضحة في الجدول التالي. استبدل مثيلات {moduleName} باسم الوحدة النمطية Azure Stream Analytics. يجب أن تكون هذه الوحدة النمطية هي نفس الاسم الذي تراه في قائمة الوحدات النمطية لجهازك في صفحة تعيين الوحدات النمطية ، كما هو موضح في مدخل Microsoft Azure.

    لقطة شاشة تعرض اسم وحدات Stream Analytics في جهاز IoT Edge في مدخل Microsoft Azure.

    الاسم القيمة‬
    بيانات تتبع الاستخدام إلى السحابة FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
    alertsToCloud FROM /messages/modules/{moduleName}/* INTO $upstream
    alertsToReset FROM /messages/modules/{moduleName}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
    بيانات تتبع الاستخدامToAsa FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{moduleName}/inputs/temperature")

    تحدد المسارات التي تعلن عنها هنا تدفق البيانات من خلال جهاز IoT Edge. يتم إرسال بيانات القياس من SimulatedTemperatureSensor إلى مركز IoT وإلى مدخلات درجة الحرارة التي يتم إعدادها في مهمة Stream Analytics. تُرسل رسائل مخرجات التنبيه إلى مركز IoT وإلى وحدة SimulatedTemperatureSensor لتشغيل أمر إعادة التعيين.

  3. حدد التالي: مراجعة وإنشاء.

  4. في علامة التبويب "مراجعة + إنشاء"، يمكنك مشاهدة كيفية تحويل المعلومات التي قدمتها في المعالج إلى بيان نشر JSON.

  5. عند الانتهاء من مراجعة البيان، حدد Create لإنهاء إعداد الوحدة النمطية الخاصة بك.

عرض البيانات

يمكنك الآن الانتقال إلى جهاز IoT Edge لمعرفة التفاعل بين الوحدة النمطية Azure Stream Analytics والوحدة النمطية SimulatedTemperatureSensor.

إشعار

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

  1. تحقق من أن جميع الوحدات تعمل في Docker:

    iotedge list  
    
  2. عرض جميع سجلات النظام وبيانات المقاييس. استبدل {moduleName} باسم الوحدة النمطية Azure Stream Analytics:

    iotedge logs -f {moduleName}  
    
  3. راجع كيف يؤثر أمر إعادة الضبط على SimulatedTemperatureSensor عن طريق عرض سجلات المستشعر:

    iotedge logs SimulatedTemperatureSensor
    

    يمكنك مشاهدة درجة حرارة الجهاز ترتفع تدريجياً حتى تصل إلى 70 درجة خلال 30 ثانية. ثم تؤدي وحدة Stream Analytics إلى إعادة الضبط، وتنخفض درجة حرارة الجهاز مرة أخرى إلى 21.

    لقطة شاشة تعرض أمر إعادة الضبط في الإخراج الخاص بك من سجلات الوحدة النمطية.

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

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

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

قم بحذف موارد Azure.

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

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

  1. سجل الدخول إلى مدخل Azure، وحدد "Resource groups".

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

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

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

في هذا البرنامج التعليمي، قمت بتكوين مهمة Azure Streaming Analytics لتحليل البيانات من جهاز IoT Edge. ثم قمت بتحميل وحدة Azure Stream Analytics هذه على جهاز IoT Edge لمعالجة الزيادة في درجة الحرارة والتفاعل معها محليا، وإرسال دفق البيانات المجمع إلى السحابة. لمعرفة كيف يمكن لـ Azure IoT Edge إنشاء المزيد من الحلول لعملك، تابع البرامج التعليمية الأخرى.