تطوير جهاز Azure IoT

Azure IoT عبارة عن مجموعة من الخدمات المدارة وخدمات النظام الأساسي التي تتصل بأجهزة IoT وتراقبها وتتحكم بها. تقدم Azure IoT مجموعة شاملة من الخيارات للمطورين. تتضمن خياراتك الأنظمة الأساسية للأجهزة، ودعم الخدمات السحابية، وSDKs، ودعم MQTT، وأدوات لبناء تطبيقات سحابية ممكنة للجهاز.

تقدم هذه المقالة للمطورين الذين بدؤوا استخدام Azure IoT نظرة عامة حول اعتبارات رئيسية عديدة.

مسارات تطوير الأجهزة

تتناول هذه المقالة مسارين شائعين لتطوير الجهاز. يتضمن كل مسار مجموعة من خيارات التطوير ذات الصلة والمهام.

  • تطوير الجهاز العام: يتوافق مع ممارسات التطوير الحديثة، ويستهدف لغات ذات ترتيب أعلى، وينفذ على نظام تشغيل للأغراض العامة مثل Windows أو Linux.

    إشعار

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

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

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

يقوم بعض المطورين بتكييف الأجهزة الحالية ذات الأغراض العامة للاتصال بالسحابة والتكامل في حلول IoT الخاصة بهم. يمكن أن تدعم هذه الأجهزة اللغات ذات الترتيب الأعلى، مثل C# أو Python، وغالباً ما تدعم نظام تشغيل قوياً للأغراض العامة مثل Windows أو Linux. تشمل الأجهزة المستهدفة المشتركة أجهزة الكمبيوتر والحاويات وأجهزة راسبيري باي والأجهزة المحمولة.

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

هام

للحصول على معلومات حول SDKs لاستخدامها لتطوير الجهاز العام، راجع Device SDKs.

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

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

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

تستهدف حزم SDKs المضمنة الحالية لغة C. لا توفر SDKs المضمنة أي نظام تشغيل أو دعم Eclipse ThreadX. تم تصميمها مع وضع أهداف مضمنة في الاعتبار. تشمل اعتبارات التصميم الحاجة إلى الحد الأدنى من المساحة، والتصميم غير المخصص للذاكرة.

هام

للحصول على معلومات حول SDKs لاستخدامها مع تطوير الجهاز المضمن، راجع SDKs الجهاز المضمن.

اختيار الجهاز

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

لمزيد من المعلومات حول الفرق بين أنواع الأجهزة المشمولة في هذه المقالة، راجع حول أنواع أجهزة IoT.

اختيار حزمة تطوير البرامج

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

هناك خياران رئيسيان لتوصيل الأجهزة والتواصل مع IoT Hub:

  • استخدم Azure IoT SDKs. في معظم الحالات، نوصي باستخدام Azure IoT SDKs مقابل استخدام MQTT مباشرة. تبسط SDKs جهود التطوير الخاصة بك وتبسط تعقيد توصيل الأجهزة وإدارتها. يدعم IoT Hub بروتوكول MQTT v3.1.1 ، وتبسط IoT SDKs عملية استخدام MQTT للاتصال ب IoT Hub.
  • استخدم بروتوكول MQTT مباشرة. هناك بعض المزايا لبناء حل IoT Hub لاستخدام MQTT مباشرة. على سبيل المثال، يمكن إنشاء حل يستخدم MQTT مباشرة دون SDKs على معيار MQTT المفتوح. يجعل النهج القائم على المعايير الحل أكثر قابلية للنقل، ويمنحك مزيدا من التحكم في كيفية اتصال الأجهزة والتواصل بها. ومع ذلك، فإن IoT Hub ليس وسيط MQTT كامل الميزات ولا يدعم جميع السلوكيات المحددة في معيار MQTT v3.1.1. يضيف الدعم الجزئي ل MQTT v3.1.1 تكلفة التطوير والتعقيد. يجب أن يزن مطورو الأجهزة مفاضلات استخدام حزم SDK لجهاز IoT مقابل استخدام MQTT مباشرة. لمزيد من المعلومات، راجع الاتصال بمركز IoT باستخدام بروتوكول MQTT.

هناك ثلاث مجموعات من IoT SDKs لتطوير الجهاز:

  • حزم SDK للجهاز (لاستخدام لغات ذات ترتيب أعلى لتوصيل أجهزة الأغراض العامة الحالية بتطبيقات IoT)
  • حزم SDK للجهاز المضمنة (لتوصيل الأجهزة المقيدة بالموارد بتطبيقات IoT)
  • حزم SDK للخدمة (لبناء حلول Azure IoT التي تربط بين الأجهزة والخدمات)

لمعرفة المزيد حول اختيار جهاز Azure IoT أو خدمة SDK، راجع Azure IoT SDKs.

تحديد خدمة

إحدى الخطوات الرئيسية في عملية التطوير هي تحديد خدمة لتوصيل أجهزتك بها. هناك خياران أساسيان لخدمة Azure IoT لتوصيل الأجهزة وإدارتها: IoT Hub وIoT Central.

  • Azure IoT Hub. استخدم Iot Hub لاستضافة تطبيقات IoT وتوصيل الأجهزة. IoT Hub هو تطبيق نظام أساسي كخدمة (PaaS) يعمل كمركز رسائل مركزي للاتصال ثنائي الاتجاه بين تطبيقات IoT والأجهزة المتصلة. يمكن ل IoT Hub توسيع نطاقه لدعم ملايين الأجهزة. مقارنة بخدمات Azure IoT الأخرى، يوفر IoT Hub أكبر قدر من التحكم والتخصيص على تصميم التطبيق الخاص بك. كما يوفر معظم خيارات أدوات المطور للعمل مع الخدمة، على حساب بعض الزيادة في تعقيد التطوير والإدارة.
  • Azure IoT Central. تم تصميم IoT Central لتبسيط عملية العمل مع حلول IoT. يمكنك استخدامه كدليل على المفهوم لتقييم حلول IoT الخاصة بك. IoT Central هو تطبيق خدمة تأجير البرامج (SaaS) يوفر واجهة مستخدم ويب لتبسيط مهام إنشاء التطبيقات وتوصيل الأجهزة وإدارتها. يستخدم IoT Central IoT Hub لإنشاء التطبيقات وإدارتها، ولكنه يحافظ على معظم التفاصيل شفافة للمستخدم.

أدوات لتوصيل الأجهزة وإدارتها

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

أداة الوثائق ‏‏الوصف
مدخل Azure إنشاء مركز IoT باستخدام مدخل Azure مدخل مستند إلى المستعرض ل IoT Hub والأجهزة. يعمل أيضا مع موارد Azure الأخرى بما في ذلك IoT Central.
Azure IoT Explorer Azure IoT Explorer لا يمكن إنشاء مراكز IoT. الاتصال إلى مركز IoT موجود لإدارة الأجهزة. غالبا ما يستخدم مع CLI أو المدخل.
Azure CLI إنشاء مركز IoT باستخدام CLI واجهة سطر الأوامر لإنشاء تطبيقات IoT وإدارتها.
Azure PowerShell إنشاء مركز IoT باستخدام PowerShell واجهة PowerShell لإنشاء تطبيقات IoT وإدارتها
Azure IoT Tools للتعليمات البرمجية VS إنشاء مركز IoT باستخدام أدوات ل VS Code ملحق VS Code لتطبيقات IoT Hub.

إشعار

بالإضافة إلى الأدوات المذكورة سابقا، يمكنك إنشاء تطبيقات IoT وإدارتها برمجيا باستخدام قوالب REST API أو Azure SDKs أو Azure Resource Manager. تعرف على المزيد في وثائق خدمة IoT Hub .

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

لمعرفة المزيد حول SDKs للجهاز الذي يمكنك استخدامه لتوصيل الأجهزة ب Azure IoT، راجع المقالة التالية.

للبدء في تطوير الأجهزة العملية، حدد أن البرنامج التعليمي لتطوير الأجهزة ذو صلة بالأجهزة التي تستخدمها. تعد البرامج التعليمية التالية نقاط بداية جيدة لتطوير الجهاز العام أو تطوير الجهاز المضمن.