إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يسمح IoT Hub للأجهزة باستخدام البروتوكولات التالية للاتصالات من جانب الجهاز:
- MQTT
- MQTT عبر WebSockets
- بروتوكول الانتظار المتقدم للرسائل (AMQP)
- AMQP عبر WebSockets
- HTTPS
إشعار
يوفر IoT Hub دعما محدودا للميزات ل MQTT. إذا كان حلك يحتاج إلى دعم MQTT v3.1.1 أو v5، راجع نظرة عامة على ميزة وسيط MQTT في Azure Event Grid. لمزيد من المعلومات، راجع قسم مقارنة دعم MQTT في مركز إنترنت الأشياء وشبكة الأحداث في قسم التواصل مع مركز إنترنت الأشياء باستخدام بروتوكول MQTT.
للحصول على معلومات حول كيفية دعم هذه البروتوكولات لميزات IoT Hub محددة، راجع إرشادات الاتصالات من جهاز إلى سحابة وإرشادات الاتصالات من السحابة إلى الجهاز.
يوفر الجدول التالي توصيات عالية المستوى لاختيار البروتوكول:
| البروتوكول | متى يجب استخدام هذا البروتوكول |
|---|---|
| MQTT MQTT عبر WebSockets |
استخدم على جميع الأجهزة التي لا تتطلب اتصالا بأجهزة متعددة، لكل منها بيانات اعتماد خاصة به لكل جهاز، عبر نفس اتصال TLS. |
| AMQP AMQP عبر WebSockets |
استخدمه على بوابات الحقول والسحابة للاستفادة من تعدد الاتصال عبر الأجهزة. |
| HTTPS | استخدم للأجهزة التي لا يمكنها دعم البروتوكولات الأخرى. |
ضع في اعتبارك النقاط التالية عند اختيار البروتوكول للاتصالات من جانب الجهاز:
نمط السحابة إلى الجهاز. لا يحتوي HTTPS على طريقة فعالة لتنفيذ دفع الخادم. على هذا النحو، عند استخدام HTTPS، تقوم الأجهزة باستطلاع IoT Hub للرسائل من السحابة إلى الجهاز. هذا النهج غير فعال لكل من الجهاز وIoT Hub. بموجب إرشادات HTTPS الحالية، يجب على كل جهاز استطلاع الرسائل كل 25 دقيقة أو أكثر. يؤدي إصدار المزيد من HTTPS إلى تلقي نتائج في IoT Hub مما يؤدي إلى تقييد الطلبات. يدعم MQTT وAMQP دفع الخادم عند تلقي رسائل من سحابة إلى جهاز. فهما يتيحان الدفع الفوري للرسائل من IoT Hub إلى الجهاز. إذا كان زمن انتقال التسليم يمثل مصدر قلق، فإن MQTT أو AMQP هما أفضل بروتوكولات يمكن استخدامها. بالنسبة للأجهزة التي نادراً ما يتم توصيلها، فيمكن استخدام HTTPS أيضًا.
بوابات الحقول. يدعم MQTT وHTTPS هوية جهاز واحد فقط (معرف الجهاز بالإضافة إلى بيانات الاعتماد) لكل اتصال TLS. لهذا السبب، هذه البروتوكولات غير مدعومة لسيناريوهات بوابة الحقل التي تتطلب رسائل متعددة الإرسال، باستخدام هويات أجهزة متعددة، عبر اتصال واحد أو مجموعة من الاتصالات المصدر إلى IoT Hub. يمكن لهذه البوابات استخدام بروتوكول يدعم هويات أجهزة متعددة لكل اتصال، مثل AMQP، لنسبة استخدام الشبكة المصدر الخاصة بها.
أجهزة بموارد منخفضة. مكتبات MQTT وHTTPS لها بصمة أصغر من مكتبات AMQP. وبالتالي، إذا كان الجهاز يوفر موارد محدودة (على سبيل المثال، أقل من 1 ميجابايت من الذاكرة)، فقد تكون هذه البروتوكولات هي التنفيذ الوحيد المتاح للبروتوكولات.
اجتياز الشبكة. يستخدم بروتوكول AMQP القياسي المنفذ 5671، وينصت MQTT على المنفذ 8883. قد يتسبب استخدام هذه المنافذ في حدوث مشكلات في الشبكات المغلقة أمام بروتوكولات HTTPS. لذا استخدم MQTT عبر WebSockets أو AMQP عبر WebSockets أو HTTPS في هذا السيناريو.
حجم البيانات الأساسية. إن MQTT وAMQP هما بروتوكولات ثنائية، ينتج عنهما بيانات أساسية مضغوطة أكثر من HTTPS.
تحذير
عندما تستخدم الأجهزة بروتوكول HTTPS، يجب على كل جهاز استطلاع رسائل السحابة إلى الجهاز على الأقل مرة واحدة كل 25 دقيقة. في التطوير، يمكن لكل جهاز الاستقصاء بشكل أكثر تكراراً، إذا رغبت في ذلك.
أرقام المنافذ
يمكن للأجهزة الاتصال بـ IoT Hub في Azure باستخدام بروتوكولات مختلفة. عادة، تحدد المتطلبات المحددة للحل اختيار البروتوكول. يسرد الجدول التالي منافذ الصادرة التي يجب أن تكون مفتوحة لجهاز ما ليتمكن من استخدام بروتوكول معين:
| البروتوكول | المنفذ |
|---|---|
| MQTT | 8883 |
| MQTT عبر WebSockets | 443 |
| AMQP | 5671 |
| AMQP عبر WebSockets | 443 |
| HTTPS | 443 |
عنوان IP لمركز إنترنت الأشياء عرضة للتغيير دون إشعار. لمعرفة كيفية التخفيف من تأثيرات تغييرات عنوان IP لمركز IoT على حل IoT والأجهزة، راجع قسم أفضل الممارسات في عناوين IP لمركز IoT.
الخطوات التالية
لمزيد من المعلومات حول كيفية تنفيذ IoT Hub لبروتوكول MQTT، راجع التواصل مع مركز إنترنت الأشياء باستخدام بروتوكول MQTT.