تقدم هذه النظرة المفاهيم الرئيسية حول تطوير الأجهزة التي تتصل بحلول Azure IoT النموذجية. يتضمن كل قسم ارتباطات إلى محتوى يوفر المزيد من التفاصيل والإرشادات.
في الحل المتصل بالسحابة، تتصل الأجهزة مباشرة بالخدمات المتصلة بالسحابة مثل IoT Hub، بينما في الحل المتصل بالحافة تتصل الأجهزة بخدمات متصلة بالحافة في بيئتك مثل عمليات Azure IoT.
يوضح الرسم البياني التالي عرضا على مستوى عال للمكونات في حل إنترنت الأشياء النموذجي المتصل بالحواف. تركز هذه المقالة على الأجهزة والأصول والموصلات الموضحة في الرسم التخطيطي:
تحتوي الأصول عادة على برامج ثابتة مضمنة تنفذ بروتوكولات قياسية. على سبيل المثال، قد يكون الذراع الروبوتي عميل OPC UA وقد تقوم كاميرا فيديو الأمان بتنفيذ ONVIF. يتضمن عمليات Azure IoT عدة موصلات يمكنها استخدام هذه البروتوكولات للتواصل مع الأصول وترجمة الرسائل من الأصول إلى رسائل MQTT. يمكن أن تتلقى بعض الأصول رسائل تمكنك من تنفيذ عمليات عليها مثل:
- تحريك كاميرا أمان أو إمالتها.
- تغيير مستوى التسجيل على ذراع آلية.
- بدء تحديث البرنامج الثابت.
يمكنك إنشاء موصلات مخصصة خاصة بك للاتصال بأصول تستخدم بروتوكولات غير مدعومة أصليا من عمليات Azure IoT.
يوضح الرسم البياني التالي عرضا عاما للمكونات في حل إنترنت الأشياء النموذجي المتصل بالسحابة. تركز هذه المقالة على الأجهزة والبوابة الموضحة في الرسم التخطيطي:
في Azure IoT، يكتب مطور الأجهزة الكود ليعمل على الأجهزة في الحل. عادة ما تكون هذه التعليمة البرمجية:
- إنشاء اتصال آمن بنقطة نهاية سحابية.
- يرسل بيانات تتبع الاستخدام التي تم جمعها من أدوات الاستشعار المرفقة إلى السحابة.
- إدارة حالة الجهاز ومزامنة هذه الحالة مع السحابة.
- يستجيب للأوامر المرسلة من السحابة.
- تمكين تثبيت تحديثات البرامج من السحابة.
- تمكين الجهاز من الاستمرار في العمل أثناء قطع الاتصال بالسحابة.
أنواع الأجهزة
يمكن أن يحتوي حل IoT على العديد من أنواع الأصول والأجهزة.
تشمل أمثلة الأصول في الحل المتصل بالحافة ما يلي:
- الأسلحة الروبوتية والأحزمة الناقلة والمصاعد.
- آلات CNC الصناعية والمخربلات والمناشير والحفر.
- أجهزة التصوير التشخيصية الطبية.
- كاميرات فيديو الأمان.
- وحدات التحكم المنطقية القابلة للبرمجة.
تحتوي هذه الأصول عادة على برامج ثابتة مضمنة تنفذ بروتوكولات قياسية. على سبيل المثال، قد يكون الذراع الروبوتي عميل OPC UA وقد تنفذ كاميرا فيديو الأمان بروتوكول ONVIF. في الحل المتصل بالحواف، تستخدم موصلات متخصصة للاتصال بهذه الأصول وترجمة الرسائل منها إلى صيغة مشتركة.
بالنسبة للأصول، لا يوجد مكافئ مباشر لدور مطور الجهاز. بدلا من ذلك، يمكن للمشغل تكوين الموصلات للاتصال بالأصول. ومع ذلك، قد تحتاج إلى تطوير موصلات مخصصة للاتصال بالأصول التي تستخدم بروتوكولات غير مدعومة أصليا من قبل حلك المتصل بالحافة الخاص بك.
أمثلة على الأجهزة في حل متصل بالسحابة تشمل:
- مستشعر ضغط على مضخة زيت عن بعد.
- أجهزة استشعار درجة الحرارة والرطوبة في وحدة تكييف هواء.
- مقياس تسارع في مصعد.
- أجهزة استشعار التواجد في غرفة.
عادة ما يتم إنشاء هذه الأجهزة باستخدام متحكمات دقيقة (MCUs) أو معالجات دقيقة (MPUs):
- وحدات MCUs أقل تكلفة وأبسط للعمل من وحدات MPUs.
- يحتوي MCU على العديد من الوظائف، مثل الذاكرة والواجهات والإدراق/الإخراج على الشريحة نفسها. يصل MPU إلى هذه الوظيفة من المكونات في رقائق الدعم.
- غالبا ما يستخدم MCU نظام تشغيل في الوقت الحقيقي (RTOS) أو يعمل بنظام تشغيل بلا نظام تشغيل (بدون نظام تشغيل) ويوفر استجابات في الوقت الحقيقي وردود فعل حتمية للغاية للأحداث الخارجية. عادة ما تشغل وحدات MPU نظام تشغيل عام مثل Windows أو Linux أو macOS يوفر استجابة زمنية غير حتمية. عادة ما لا يكون هناك أي ضمان عند اكتمال المهمة.
تتضمن أمثلة الأجهزة وأنظمة التشغيل المتخصصة ما يلي:
Windows لـ IoT هو نسخة مدمجة من Windows لوحدات MPU ذات الاتصال السحابي تتيح لك إنشاء أجهزة آمنة مع توفير وإدارة سهلة.
Eclipse ThreadX هو نظام تشغيل في الوقت الحقيقي ل IoT وأجهزة الحافة التي تعمل بوحدات MCUs. تم تصميم Eclipse ThreadX لدعم الأجهزة المقيدة للغاية التي تعمل بالبطارية والتي تحتوي على أقل من 64 كيلوبايت من الذاكرة الفلاشة.
FreeRTOS هو نظام تشغيل في الوقت الحقيقي للأجهزة المضمنة. يمكنك استخدام FreeRTOS مع برنامج Azure IoT Middleware ل FreeRTOS لتوصيل الأجهزة إلى Azure IoT. للحصول على نظرة عامة على خيارات RTOS لتطوير الجهاز، راجع سيناريوهات استخدام C SDK وC SDK المضمنة.
Azure Sphere (متكامل) هو منصة تطبيقات آمنة وعالية المستوى تحتوي على ميزات اتصال وأمان مدمجة للأجهزة المعتمدة على الإنترنت. وهو يتألف من وحدة تحكم مركزية آمنة ومتصلة ومتداخلة، ونظام تشغيل مخصص عالي المستوى يستند إلى Linux، وخدمة أمان مستندة إلى السحابة توفر أمانا مستمرا ومتجددا.
بدائيات الجهاز
يقوم مطور الجهاز عادة بتنفيذ البدائيات التالية في التعليمات البرمجية للجهاز للتفاعل مع السحابة:
-
رسائل من جهاز إلى سحابة لإرسال بيانات تتبع الاستخدام للسلسلة الزمنية إلى السحابة. على سبيل المثال، بيانات درجة الحرارة التي تم جمعها من أداة استشعار متصلة بالجهاز.
-
تحميلات الملفات لملفات الوسائط مثل الصور الملتقطة والفيديو. يمكن للأجهزة المتصلة بشكل متقطع إرسال دفعات بيانات تتبع الاستخدام. يمكن للأجهزة ضغط التحميلات لحفظ النطاق الترددي.
-
توائم الجهاز لمشاركة بيانات الحالة ومزامنتها مع السحابة. على سبيل المثال، يمكن للجهاز استخدام توأم الجهاز للإبلاغ عن الحالة الحالية للم صمام يتحكم فيه إلى السحابة ولاستلام درجة الحرارة المستهدفة المطلوبة من السحابة.
-
التوائم الرقمية لتمثيل جهاز في العالم الرقمي. على سبيل المثال، يمكن أن يمثل التوأم الرقمي الموقع الفعلي للجهاز وقدراته وعلاقاته مع الأجهزة الأخرى.
-
أساليب مباشرة لتلقي الأوامر من السحابة. يمكن أن يكون للأسلوب المباشر معلمات وإرجاع استجابة. على سبيل المثال، يمكن للسحابة استدعاء أسلوب مباشر لطلب إعادة تشغيل الجهاز في 30 ثانية.
-
رسائل من السحابة إلى الجهاز لتلقي إعلامات أحادية الاتجاه من السحابة. على سبيل المثال، إعلام بأن التحديث جاهز للتنزيل.
لمعرفة المزيد، راجع إرشادات الاتصالات من جهاز إلى سحابة وإرشادات الاتصالات من السحابة إلى الجهاز.
SDKs والمكتبات
توفر SDKs للجهاز تجريدات عالية المستوى تتيح لك استخدام البدائيات دون معرفة بروتوكولات الاتصالات الأساسية. تتعامل SDKs للجهاز أيضا مع تفاصيل إنشاء اتصال آمن بالسحابة ومصادقة الجهاز.
بالنسبة لأجهزة MPU، تتوفر حزم SDK للجهاز للغات التالية:
بالنسبة لأجهزة MCU، راجع:
عينات وإرشادات
تتضمن جميع SDKs للجهاز عينات توضح كيفية استخدام SDK للاتصال بالسحابة وإرسال القياس عن بعد واستخدام البدائيات الأخرى.
يمكنك العثور على المزيد من العينات في متصفح نموذج التعليمات البرمجية.
تطوير الجهاز بدون SDK لجهاز
على الرغم من أنه يوصى باستخدام أحد SDKS للجهاز، فقد تكون هناك سيناريوهات تفضل عدم استخدامها. في هذه الحالات، يجب أن يستخدم رمز جهازك مباشرة أحد بروتوكولات الاتصال التي تدعمها IoT Hub وخدمة توفير الأجهزة (DPS).
لمزيد من المعلومات، راجع:
النمذجة والمخططات
تحدد نماذج الأجهزة والأصول البيانات التي تتبادلها الأجهزة والأصول مع السحابة. تمكن النماذج مجموعة من سيناريوهات التعليمات البرمجية المنخفضة أو بدون تعليمات برمجية لدمج أجهزتك وأصولك مع حل IoT الخاص بك.
في الحل المتصل بالحواف، يقوم المشغل بتكوين الموصلات للاتصال بالأصول. يتضمن هذا التكوين تعيينا بين بيانات الأصل ومخطط السحابة. على سبيل المثال، يتيح موصل OPC UA للمشغل تعيين معرفات عقدة OPC UA إلى نقاط البيانات والأحداث في رسالة JSON المتبادلة مع وسيط MQTT. تظهر لقطة الشاشة التالية مثالا في واجهة مستخدم الويب الخاصة بتجربة العمليات الرقمية التي تحدد تعيينين من هذا القبيل:
في مكان آخر في الحل، يمكن للمشغل الرجوع مباشرة إلى علامات Temperature و Tag 10 دون الحاجة إلى معرفة تفاصيل معرفات عقدة OPC UA.
في حل متصل بالسحابة، تمكن IoT Plug and Play بناة الحلول من دمج أجهزة إنترنت الأشياء مع حلولهم دون الحاجة إلى تكوين يدوي. في جوهر IoT Plug and Play، يوجد نموذج جهاز يستخدمه الجهاز للإعلان عن قدراته في تطبيق مدعوم ب IoT Plug and Play مثل IoT Central. يتم تنظيم هذا النموذج على أنه مجموعة من العناصر التي تحدد:
-
الخصائص التي تمثل حالة القراءة فقط أو القابلة للكتابة لجهاز أو كيان آخر. على سبيل المثال، قد يكون الرقم التسلسلي للجهاز خاصية للقراءة فقط وقد تكون درجة حرارة الهدف على منظم الحرارة خاصية قابلة للكتابة.
-
بيانات تتبع الاستخدام هي البيانات المنبعثة من الجهاز، سواء كانت البيانات عبارة عن دفق منتظم من قراءات المستشعر، أو خطأ عرضي، أو رسالة معلومات.
-
الأوامر التي تصف وظيفة أو عملية يمكن إجراؤها على جهاز. على سبيل المثال، يمكن للأمر إعادة تشغيل بوابة أو التقاط صورة باستخدام كاميرا بعيدة.
يمكنك تجميع هذه العناصر في واجهات لإعادة استخدامها عبر النماذج لتسهيل التعاون وتسريع التطوير.
يتم تحديد النموذج باستخدام لغة تعريف التوائم الرقمية Digital Twins (DTDL).
استخدام IoT Plug and Play، والنمذجة، وDTDL اختياري. يمكنك استخدام بدائيات أجهزة إنترنت الأشياء دون الحاجة إلى IoT Plug and Play أو النمذجة. تستخدم خدمة Azure Digital Twins أيضا نماذج DTDL لإنشاء رسوم بيانية مزدوجة تعتمد على نماذج رقمية لبيئات مثل المباني أو المصانع.
كمطور أجهزة، عند تنفيذ جهاز IoT Plug and Play، هناك مجموعة من القواعد التي يجب اتباعها. توفر هذه الاصطلاحات طريقة قياسية لتنفيذ نموذج الجهاز في التعليمات البرمجية باستخدام البدائيات المتوفرة في حزم SDK للجهاز.
التعبئة في حاويات
التعبئة في حاويات هي طريقة لحزم وتشغيل التعليمات البرمجية الخاصة بك في بيئة خفيفة الوزن ومعزولة. الحاويات قابلة للنقل ويمكن تشغيلها على أي نظام أساسي يدعم وقت تشغيل الحاوية. الحاويات هي طريقة جيدة لحزم ونشر التعليمات البرمجية الخاصة بك لأنها توفر بيئة وقت تشغيل متسقة للتعليمات البرمجية الخاصة بك. تتضمن بيئة وقت التشغيل عادة الخدمات والمكتبات والحزم التي تحتاج التعليمات البرمجية لتشغيلها.
يقوم عمليات Azure IoT بتعبئة جميع موصلاته ووسطاءه ومكوناته الأخرى التي تعمل على الحافة. عمليات Azure IoT ينشر على عنقود Kubernetes، وهو منصة تنسيق حاويات. نشر أي موصلات مخصصة أو مكونات أخرى تقوم بإنشائها إلى مجموعة Kubernetes.
يمكنك اعتبار الحل الذي يستخدم Azure IoT Edge كبوابة متصلة بالحافة إلى IoT Hub كحل هجين يشمل عناصر من الحلول المتصلة بالحافة والسحابة.
إذا كنت تستخدم حاويات، كما هو الحال في Docker، لتشغيل التعليمات البرمجية لجهازك، يمكنك نشر التعليمات البرمجية على أجهزتك باستخدام قدرات البنية الأساسية للحاوية. تتيح لك الحاويات أيضا تحديد بيئة وقت التشغيل للتعليمات البرمجية الخاصة بك مع تثبيت جميع إصدارات المكتبة والحزمة المطلوبة. تسهل الحاويات نشر التحديثات وإدارة دورة حياة أجهزة IoT الخاصة بك.
Azure IoT Edge يشغل كود الجهاز في الحاويات. يمكنك استخدام Azure IoT Edge لنشر وحدات الكود على أجهزتك. للمزيد من المعلومات، راجع طور وحداتك الخاصة IoT Edge.
تلميح
يتيح Azure IoT Edge عدة سيناريوهات. بالإضافة إلى تشغيل كود جهاز إنترنت الأشياء الخاص بك في الحاويات، يمكنك استخدام Azure IoT Edge لتشغيل خدمات Azure على أجهزتك وتنفيذ <بوابات الحقل c0>field. لمزيد من المعلومات، راجع ما هو Azure IoT Edge؟
يسرد الجدول التالي بعض أدوات تطوير أجهزة IoT المتوفرة:
| أداة |
الوصف |
|
Azure IoT Hub (امتداد كود VS) |
يتيح لك هذا الامتداد الخاص ب VS Code إدارة موارد وأجهزة IoT Hub من داخل VS Code. |
|
Azure IoT explorer |
تتيح لك هذه الأداة متعددة المنصات إدارة موارد وأجهزة IoT Hub الخاصة بك من تطبيق سطح مكتب. |
|
Azure IoT امتداد Azure CLI |
يتضمن ملحق CLI هذا أوامر مثل az iot device simulateو az iot device c2d-messageو az iot hub monitor-events التي تساعدك على اختبار التفاعلات مع الأجهزة. |
المحتويات ذات الصلة