إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
IoT Edge 1.1
هام
كان تاريخ انتهاء دعم IoT Edge 1.1 هو 13 ديسمبر 2022. تحقق من دورة حياة المنتج من Microsoft للحصول على معلومات حول كيفية دعم هذا المنتج أو الخدمة أو التقنية أو API. لمزيد من المعلومات حول التحديث إلى أحدث إصدار من IoT Edge، راجع تحديث IoT Edge.
في هذه المقالة، نستخدم بيانات التدريب على التعلم الآلي لمحاكاة جهاز يرسل بيانات تتبع الاستخدام إلى Azure IoT Hub. كما هو مذكور في المقدمة، يستخدم هذا البرنامج التعليمي مجموعة بيانات محاكاة انخفاض أداء محرك Turbonfan لمحاكاة بيانات من مجموعة من محركات الطائرات للتدريب والاختبار.
في السيناريو التجريبي لدينا، نعلم أن:
- تتكون البيانات من تسلسل زمني متعدد المتغيرات.
- تنقسم كل مجموعة بيانات إلى مجموعات فرعية للتدريب والاختبار.
- كل تسلسل زمني يكون من محرك مختلف.
- يبدأ كل محرك بدرجات مختلفة من التآكل الأولي والاختلاف التصنيعي.
لغرض هذا البرنامج التعليمي، نحن نستخدم مجموعة فرعية لبيانات التدريب من مجموعة بيانات واحدة (FD003).
في الواقع، سوف يكون كل محرك جهاز IoT مستقلاً. بافتراض عدم توفر مجموعة من محركات turbofan المتصلة بالإنترنت، فسنبني برنامجًا احتياطيًا لهذه الأجهزة.
جهاز المحاكاة هو برنامج C# يستخدم IoT Hub APIs لتسجيل الأجهزة الظاهرية برمجيًا باستخدام IoT Hub. ثم نقرأ البيانات لكل جهاز من مجموعة البيانات الفرعية التي توفرها وكالة ناسا ونرسلها إلى مركز IoT الخاص بك باستخدام جهاز محاكاة IoT. يمكن العثور على جميع التعليمات البرمجية لهذا الجزء من البرنامج التعليمي في دليل DeviceHarness من المستودع.
مشروع DeviceHarness هو مشروع أساسي .NET مكتوب بـ C# يتكون من أربع فئات:
- البرنامج: نقطة الدخول للتنفيذ المسؤولة عن معالجة مدخلات المستخدم والتنسيق العام.
- TrainingFileManager: مسؤول عن قراءة ملف البيانات المحدد وتحليله.
- CycleData: يمثل صفًا واحدًا من البيانات في ملف تم تحويله إلى تنسيق رسالة.
- TurbofanDevice: مسؤول عن إنشاء جهاز IoT، يتوافق مع جهاز واحد (تسلسل زمني)، في البيانات ونقل البيانات إلى مركز IoT.
يجب أن تستغرق المهام الموضحة في هذه المقالة حوالي 20 دقيقة لإتمامها.
من المرجح أن يتم تنفيذ ما يعادل العمل في هذه الخطوة من قبل مطوري الأجهزة ومطوري السحابة.
في هذا البرنامج التعليمي، ستتعلّم طريقة:
- دمج مشروع خارجي في بيئة التطوير الخاصة بك.
- استخدم نموذج مشروع DeviceHarness لإنشاء بيانات جهاز IoT محاكاة.
- عرض البيانات التي تم إنشاؤها في مركز IoT الخاص بك.
المتطلبات الأساسية
هذه المقالة هي جزء سلسلة تعليمية حول استخدام التعلم الإلكتروني من Azure على IoT Edge. كل مقالة في السلسلة تستند إلى العمل في المقالة السابقة. إذا وصلت إلى هذه المقالة مباشرةً، فقم بزيارة المقالة الأولى في السلسلة.
تهيئة التعليمات البرمجية لـ Visual Studio وإنشاء مشروع DeviceHarness
افتح جلسة عمل سطح مكتب بعيدة إلى VM التطوير الخاص بك.
في Visual Studio Code، افتح
C:\source\IoTEdgeAndMlSample\DeviceHarnessمجلد.نظرًا إلى أنك تستخدم الملحقات على هذا الجهاز لأول مرة، سوف تقوم بعض الملحقات بتحديث وتثبيت تبعياتها. قد تتم مطالبتك بتحديث الملحق. إذا كان الأمر كذلك، فحدد Reload Window.
إذا ظهرت أخطاء OmniSharp في نافذة الإخراج، فستحتاج إلى إلغاء تثبيت ملحق C#.
ستتم مطالبتك بإضافة الأصول المطلوبة لـ DeviceHarness. حدد Yes للتأكيد.
- قد يستغرق ظهور الإشعار بضع ثوانٍ.
- إذا فاتك هذا الإشعار، فتحقق من رمز الجرس في الزاوية اليمنى السفلى.

حدد Restore لاستعادة تبعيات الحزمة.

إذا لم تتلقَّ تلك الإشعارات، فاغلق Visual Studio Code، واحذف الخانة ودلائل obj
C:\source\IoTEdgeAndMlSample\DeviceHarness، وافتح Visual Studio Code، وأعد فتح ملف DeviceHarness.تحقق من أن بيئتك قد تم إعدادها بشكل صحيح عن طريق تشغيل بناء، Ctrl + Shift + B، أو Terminal>Run Build Task.
مطلوب منك تحديد مهمة البناء لتشغيلها. حدد إنشاء.
تشغيل البنية وإخراج رسالة نجاح.

يمكنك جعل هذه البنية مهمة البنية الافتراضية وذلك بتحديد Terminal>Configure Default Build Task... واختيار Build من الطلب.
الاتصال إلى مركز IoT وتشغيل DeviceHarness
الآن بعد أن أصبحت لدينا بناية المشروع، اتصل بمركز IoT الخاص بك للوصول إلى سلسلة الاتصال ومراقبة تقدم إنشاء البيانات.
تسجيل الدخول إلى Azure في Visual Studio Code
سجل الدخول إلى اشتراك Azure في isual Studio Code وذلك بفتح لوحة الأمر،
Ctrl + Shift + Pأو View>Command Palette.ابحث عن Azure: سجل الدخول في command.
تفتح نافذة متصفح وتطلب منك بيانات الاعتماد الخاصة بك. عند إعادة توجيهك إلى صفحة نجاح الخطوة السابقة، يمكنك إغلاق المتصفح.
قم بالاتصال بالمركز IoT واسترد سلسلة اتصال المركز.
في القسم السفلي من مستكشف Visual Studio Code، حدد Azure IoT Hub frame لتوسيعها.
في الإطار الموسع، انقر على Select IoT Hub.
عند مطالبتك، حدد اشتراك Azure ثم مركز IoT الخاص بك.
انقر فوق ... على يمين Azure IoT Hub لمزيد من الإجراءات. حدد Copy IoT Hub connection string.

شغل مشروع DeviceHarness
حدد View>Terminal لفتح Visual Studio Code terminal.
إذا لم تشاهد مطالبة، فاضغط على Enter .
أدخل
dotnet runفي الوحدة الطرفية.عند المطالبة بـ IoT Hub Connection String، قم بلصق سلسلة الاتصال المنسوخة في القسم السابق.
في إطار Azure IoT Hub devices، اضغط على زر refresh.

لاحظ أنه تتم إضافة الأجهزة إلى مركز IoT وأن الأجهزة تظهر باللون الأخضر للإشارة إلى أنه يتم إرسال البيانات عبر هذا الجهاز. بعد أن ترسل الأجهزة رسائل إلى مركز IoT، تفصل الأجهزة وتظهر باللون الأزرق.
يمكنك عرض الرسائل المرسلة إلى المركز وذلك بالنقر بزر الماوس الأيمن على أي جهاز واختيار Start Monitoring Built-in Event Endpoint. ستظهر الرسائل في لوحة الإخراج في Visual Studio Code.
توقف عن المراقبة بالنقر على Azure IoT Huboutput واختر Stop Monitoring Built-in Event Endpoint.
دع التطبيق يعمل حتى الانتهاء، الأمر الذي يستغرق بضع دقائق.
التحقق من مركز IoT للنشاط
تذهب البيانات المرسلة من DeviceHarness إلى مركز IoT الخاص بك، حيث يمكنك التحقق منها في مدخل Azure.
افتح Azure portal وانتقل إلى مركز LoT المُنشأ لهذا البرنامج التعليمي.
من قائمة اللوحة اليسرى، تحت Monitoring، حدد Metrics.
في صفحة تعريف المخطط، انقر على القائمة المنسدلة Metric، قم بالتمرير لأسفل القائمة، وحدد Routing: data delivered to storage. يجب أن يظهر المخطط الإدخال الخاص عند توجيه البيانات إلى التخزين.

التحقق من صحة البيانات في تخزين Azure
تم توجيه البيانات التي أرسلناها للتو إلى مركز IoT الخاص بك إلى حاوية التخزين التي أنشأناها في المقالة السابقة. لنلق نظرة على البيانات الموجودة في حساب التخزين الخاص بنا.
في Azure portal، انتقل إلى حساب التخزين الخاص بك.
من متصفح حساب التخزين، حدد Storage Explorer (preview).
في مستكشف التخزين، حدد Blob Containers ثم
devicedata.في لوحة المحتوى، انقر فوق المجلد الخاص باسم مركز IoT، متبوعًا بالسنة والشهر واليوم والساعة. سترى عدة مجلدات تمثل الدقائق عند كتابة البيانات.

انقر داخل أحد هذه المجلدات للعثور على ملفات البيانات المسماة بـ 00 و01 المطابقة للقسم.
الملفات مكتوبة بتنسيق Avro. انقر نقرًا مزدوجًا على أحد هذه الملفات لفتح علامة تبويب متصفح آخر وعرض البيانات جزئيًا. إذا تمت مطالبتك بفتح الملف في برنامج، يمكنك اختيار VS Code وسيتم عرضه بشكل صحيح.
ليست هناك حاجة لمحاولة قراءة أو تفسير البيانات في الوقت الحالي ؛ سنفعل ذلك في المقالة القادمة.
تنظيف الموارد
يمثل هذا البرنامج التعليمي جزءًا من مجموعة حيث تعتمد كل مقالة على العمل المنجز في المقالات السابقة. يرجى الانتظار، إذ يتم تنظيف أي موارد، وبعدها يمكنك إكمال البرنامج التعليمي النهائي.
الخطوات التالية
في هذه المقالة، استخدمنا مشروع .NET Core لإنشاء مجموعة من أجهزة IoT الظاهرية وإرسال البيانات من خلالها إلى مركز IoT الخاص بنا وإلى حاوية تخزين Azure. يحاكي هذا المشروع سيناريو في العالم الحقيقي حيث ترسل أجهزة IoT الفعلية البيانات إلى مركز IoT وما بعده إلى وحدة تخزين منسقة. تتضمن هذه البيانات قراءات المستشعرات، وإعدادات التشغيل، وإشارات الفشل والأوضاع، وما إلى ذلك. بمجرد جمع ما يكفي من البيانات، نستخدمها لتدريب النماذج التي تتنبأ بفترة الصلاحية المتبقية للجهاز (RUL). سنوضح هذا التعلم الآلي في المقالة التالية.
تابع المقالة التالية للتدريب على نموذج التعلم الآلي مع البيانات.