تطوير أجهزة IoT

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

يوضح الرسم التخطيطي التالي طريقة عرض عالية المستوى للمكونات في حل IoT نموذجي. تركز هذه المقالة على الأجهزة والبوابة المعروضة في الرسم التخطيطي.

رسم تخطيطي يوضح بنية حل IoT عالية المستوى التي تسلط الضوء على مناطق اتصال الجهاز.

في Azure IoT، يكتب مطور الجهاز التعليمات البرمجية لتشغيلها على الأجهزة في الحل. عادة ما تكون هذه التعليمة البرمجية:

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

أنواع الأجهزة

يمكن فصل أجهزة IoT إلى فئتين واسعتين، وهما أجهزة التحكم الدقيقة (MCUs) والمعالجات الدقيقة (MPUs):

  • وحدات MCUs أقل تكلفة وأبسط للعمل من وحدات MPUs.
  • يحتوي MCU على العديد من الوظائف، مثل الذاكرة والواجهات والإدراق/الإخراج على الشريحة نفسها. يصل MPU إلى هذه الوظيفة من المكونات في رقائق الدعم.
  • غالبا ما يستخدم MCU نظام تشغيل في الوقت الحقيقي (RTOS) أو يعمل بنظام تشغيل بلا نظام تشغيل (بدون نظام تشغيل) ويوفر استجابات في الوقت الحقيقي وردود فعل حتمية للغاية للأحداث الخارجية. تشغل وحدات MPUs بشكل عام نظام تشغيل للأغراض العامة، مثل Windows أو Linux أو macOS الذي يوفر استجابة غير محددة في الوقت الفعلي. لا يوجد عادة ما يضمن متى ستكتمل المهمة.

تتضمن أمثلة الأجهزة وأنظمة التشغيل المتخصصة ما يلي:

Windows for IoT هو إصدار مضمن من Windows لوحدات MPUs مع اتصال سحابي يتيح لك إنشاء أجهزة آمنة مع توفير وإدارة سهلة.

Eclipse ThreadX هو نظام تشغيل في الوقت الحقيقي ل IoT وأجهزة الحافة التي تعمل بوحدات MCUs. تم تصميم Eclipse ThreadX لدعم الأجهزة المقيدة للغاية التي تعمل بالبطارية والتي تحتوي على أقل من 64 كيلوبايت من الذاكرة الفلاشة.

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

أوليات

يمكن لجهاز Azure IoT استخدام البدائيات التالية للتفاعل مع السحابة:

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

لمعرفة المزيد، راجع إرشادات الاتصالات من جهاز إلى سحابة وإرشادات الاتصالات من السحابة إلى الجهاز.

عدد تطوير البرامج للجهاز

توفر SDKs للجهاز تجريدات عالية المستوى تتيح لك استخدام البدائيات دون معرفة بروتوكولات الاتصالات الأساسية. تتعامل SDKs للجهاز أيضا مع تفاصيل إنشاء اتصال آمن بالسحابة ومصادقة الجهاز.

بالنسبة لأجهزة MPU، تتوفر حزم SDK للجهاز للغات التالية:

بالنسبة لأجهزة MCU، راجع:

عينات وإرشادات

تتضمن جميع SDKs للجهاز عينات توضح كيفية استخدام SDK للاتصال بالسحابة وإرسال القياس عن بعد واستخدام البدائيات الأخرى.

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

يمكنك العثور على المزيد من العينات في متصفح نموذج التعليمات البرمجية.

لمعرفة المزيد حول تنفيذ عمليات إعادة الاتصال التلقائية بنقاط النهاية، راجع إدارة عمليات إعادة توصيل الجهاز لإنشاء تطبيقات مرنة.

تطوير الجهاز بدون SDK لجهاز

على الرغم من أنه يوصى باستخدام أحد SDKS للجهاز، فقد تكون هناك سيناريوهات تفضل عدم استخدامها. في هذه السيناريوهات، يجب أن تستخدم التعليمات البرمجية لجهازك مباشرة أحد بروتوكولات الاتصال التي يدعمها IoT Hub وخدمة توفير الأجهزة (DPS).

لمزيد من المعلومات، راجع:

نمذجة الجهاز

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

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

يمكنك تجميع هذه العناصر في واجهات لإعادة استخدامها عبر النماذج لتسهيل التعاون وتسريع التطوير.

يتم تحديد النموذج باستخدام لغة تعريف التوائم الرقمية (DTDL).

استخدام أجهزة التوصيل و التشغيل IoT والنمذجة وDTDL اختياري. يمكنك استخدام البدائيات لجهاز IoT دون استخدام أجهزة التوصيل و التشغيل IoT أو النمذجة. تستخدم خدمة Azure Digital Twins أيضا نماذج DTDL لإنشاء رسوم بيانية مزدوجة استنادا إلى نماذج رقمية للبيئات مثل المباني أو المصانع.

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

لمعرفة المزيد، راجع:

رمز الجهاز المضمن في حاويات

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

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

تلميح

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

أدوات التطوير

يسرد الجدول التالي بعض أدوات تطوير IoT المتوفرة:

أداة ‏‏الوصف
Azure IoT Hub (ملحق VS Code) يتيح لك ملحق VS Code هذا إدارة موارد وأجهزة IoT Hub من داخل VS Code.
مستكشف Azure IoT تتيح لك هذه الأداة عبر الأنظمة الأساسية إدارة موارد وأجهزة IoT Hub من تطبيق سطح المكتب.
ملحق Azure IoT ل Azure CLI يتضمن ملحق CLI هذا أوامر مثل az iot device simulateو az iot device c2d-messageو az iot hub monitor-events التي تساعدك على اختبار التفاعلات مع الأجهزة.

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

الآن بعد أن رأيت نظرة عامة على تطوير الأجهزة في حلول Azure IoT، تتضمن بعض الخطوات التالية المقترحة ما يلي: