MQTT — پیام‌رسانی سبک اینترنت اشیا

الگوی انتشار و اشتراک برای حسگرها و ماشین‌ها. حسگر داده را روی یک موضوع منتشر می‌کند و کارگزار آن را به همهٔ مشترکان می‌رساند.

  • لایهٔ OSI: 7 (کاربرد)
  • انتقال: TCP
  • پورت: 1883 / 8883
  • استاندارد: OASIS MQTT 3.1.1 / 5.0
  • سطح: متوسط · حدود 8 دقیقه

نکته‌های کلیدی

  • انتشار و اشتراک: فرستنده و گیرنده یکدیگر را نمی‌شناسند و فقط موضوع مشترک دارند.
  • سه سطح QoS: ۰ (حداکثر یک بار)، ۱ (حداقل یک بار)، ۲ (دقیقاً یک بار).
  • پیام ماندگار (Retained) و وصیت (Last Will) برای وضعیت دستگاه‌ها کاربرد دارند.

مراحل شبیه‌سازی (8 بسته)

  1. CONNECT: حسگر به کارگزار وصل می‌شود. Keep Alive شصت ثانیه است و نشست تمیز شروع می‌شود.
  2. CONNACK: کارگزار اتصال را می‌پذیرد.
  3. SUBSCRIBE: داشبورد در موضوع دمای همهٔ کوره‌ها مشترک می‌شود. «+» یعنی هر مقدار در آن سطح.
  4. SUBACK: کارگزار اشتراک را با QoS 1 تأیید می‌کند.
  5. PUBLISH: حسگر دمای کوره را با QoS 1 منتشر می‌کند؛ کل سرآیند MQTT فقط دو بایت است.
  6. PUBACK: کارگزار دریافت را تأیید می‌کند؛ در QoS 1 حسگر تا رسیدن PUBACK پیام را نگه می‌دارد.
  7. تحویل به مشترک: کارگزار پیام را به همهٔ مشترکان آن موضوع می‌رساند. حسگر و داشبورد هیچ‌وقت مستقیم با هم حرف نمی‌زنند.
  8. PINGREQ: اگر داده‌ای برای ارسال نباشد، حسگر با PINGREQ زنده بودن اتصال را نشان می‌دهد. با قطع ناگهانی، کارگزار «وصیت» (Last Will) حسگر را منتشر می‌کند.

درس‌های مرتبط

  • Modbus/TCP — پروتکل صنعتی مادباس
  • SNMP — پروتکل سادهٔ مدیریت شبکه
  • Syslog — ثبت رویداد متمرکز
  • NTP — پروتکل زمان شبکه