مشاركة عبر


الدرس: نشر Azure Stream Analytics كوحدة IoT Edge

ينطبق على:IoT Edge 1.5 علامة صحية IoT Edge 1.5

هام

IoT Edge 1.5 LTS هو الإصدار المدعوم release. وصل IoT Edge 1.4 LTS إلى نهاية صلاحيته في 12 نوفمبر 2024. إذا كنت تستخدم إصدارا أقدم، راجع Update IoT Edge.

في هذا الدرس، تنشئ وظيفة Azure Stream Analytics في بوابة Azure وتنشرها كوحدة IoT Edge بدون كود إضافي.

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

  • إنشاء وظيفة Azure Stream Analytics لمعالجة البيانات على الحافة.
  • ربط وظيفة 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 إلى الجهاز نفسه. تقلل معالجة تدفقات بيانات تتبع الاستخدام على الحافة من كمية البيانات التي تم تحميلها والوقت المستغرق للرد على الرؤى القابلة للتنفيذ. Azure IoT Edge و Azure Stream Analytics يتكاملان لتبسيط تطوير عبء عملك.

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

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

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

  • An Azure IoT Edge device.

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

  • نسخة مجانية أو قياسية IoT Hub في Azure.

Create a Azure Stream Analytics job

في هذا القسم، تنشئ وظيفة Azure Stream Analytics التي:

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

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

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

  1. في بوابة Azure، اذهب إلى إنشاء مورد > Storage > Storage account.

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

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

  4. راجع إعداداتك، ثم اختر إنشاء (إنشاء).

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

  1. في بوابة Azure، اختر:

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

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

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

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

بعد إنشاء وظيفة تحليلات التدفق في بوابة Azure، قم بتسويتها باستخدام input، وoutput، وquery لتشغيلها على البيانات التي تمر.

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

إشعار

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

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

  1. انتقل إلى وظيفتك في تحليلات التدفق من خلال بوابة Azure.

  2. ضمن مخطط الوظيفة، حدد الإدخالات، ثم حدد إضافة إدخال.

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

    إذا كنت لا ترى خيار Edge Hub في القائمة، فربما تكون قد أنشأت وظيفة 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

لنشر وظيفة تحليلات التدفق على جهاز 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 لإنشاء <بيان c1>deployment. بيان التوزيع هو ملف JSON يصف جميع الوحدات النمطية التي يتم نشرها على جهاز. يظهر البيان أيضا سجلات الحاوية التي تخزن صور الوحدة النمطية، وكيفية إدارة الوحدات النمطية، وكيف يمكن للوحدات الاتصال ببعضها البعض. جهاز IoT Edge الخاص بك يستعيد ملف النشر الخاص به من IoT Hub، ثم يستخدم المعلومات الموجودة فيه لنشر وتكوين جميع الوحدات المخصصة له.

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

  1. في بوابة Azure، انتقل إلى مركز إنترنت الأشياء الخاص بك.

  2. اختر Devices في قائمة إدارة الأجهزة، ثم اختر جهازك 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. اختر + إضافة واختر Azure Stream Analytics وحدة.
    2. اختر اشتراكك ووظيفة Azure Stream Analytics Edge التي أنشأتها.
    3. حَدِّد حِفظ.

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

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

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

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

  8. حدد إنشاء.

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

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

  1. من تبويب Set modules في جهازك، اختر اسم وحدة تحليلات التدفق لنقلك إلى صفحة Update IoT Edge Module. هنا يمكنك تحديث الإعدادات.

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

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

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

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

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

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

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

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

    لقطة شاشة تظهر اسم وحدات تحليلات التدفق الخاصة بك في جهاز IoT Edge الخاص بك في بوابة 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 Hub وإلى مدخل temperature الذي تم تكوينه في وظيفة تحليلات التدفق. ترسل رسائل الإخراج alert إلى IoT Hub وإلى وحدة 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 التي استخدمتها في هذا المقال لتجنب الرسوم.

Delete Azure resources

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

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

  1. سجل الدخول إلى بوابة Azure، ثم اختر Resource groups.
  2. اختر اسم مجموعة الموارد التي تحتوي على موارد اختبار IoT Edge الخاصة بك.
  3. راجع قائمة الموارد التي تحتويها مجموعة الموارد الخاصة بك. إذا كنت تريد حذفها جميعاً، يمكنك تحديد Delete resource group. إذا أردت حذف بعضها فقط، اختر كل مورد لحذفه بشكل منفصل.

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

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