MQTT چیست و بروکر MQTT چه کاری انجام می‌دهد؟
معرفی

MQTT چیست و بروکر MQTT چه کاری انجام می‌دهد؟

۵ آبان ۱۴۰۵۵ دقیقه مطالعه

MQTT چطور کار می‌کند، بروکر چه نقشی دارد و چرا یک بروکر MQTT مدیریت‌شده برای پروژه‌های اینترنت اشیا از راه‌اندازی سرور شخصی ساده‌تر است.

MQTT در یک نگاه#

MQTT یک پروتکل پیام‌رسانی سبک برای ارتباط دستگاه‌هاست. به‌جای اینکه هر دستگاه مستقیماً با دستگاه دیگر صحبت کند، همه به یک سرور مرکزی به نام «بروکر» وصل می‌شوند.

مدل کار «انتشار و اشتراک» (publish/subscribe) است: یک حسگر دما پیامی را روی تاپیکی مثل alice/warehouse/temp منتشر می‌کند و هر برنامه‌ای که روی همان تاپیک مشترک شده باشد، پیام را دریافت می‌کند. فرستنده لازم نیست بداند چه کسی گیرنده است و گیرنده‌ها هم می‌توانند هر زمان اضافه یا کم شوند.

چرا MQTT برای IoT مناسب است؟#

  • سربار بسیار کم: هدر پیام‌ها چند بایت است و روی میکروکنترلرهایی مثل ESP32 هم به‌راحتی اجرا می‌شود.
  • اتصال دائمی: دستگاه یک بار وصل می‌شود و پیام‌ها بی‌درنگ در هر دو جهت جابه‌جا می‌شوند؛ نیازی به درخواست‌های پشت‌سرهم نیست.
  • سطوح تضمین تحویل: با QoS می‌توانید بین سرعت و اطمینان از تحویل پیام انتخاب کنید.
  • کتابخانه برای همه زبان‌ها: از C++ روی بردهای کوچک تا پایتون، Node.js و حتی مرورگر.

بروکر چه کاری انجام می‌دهد؟#

بروکر قلب سیستم است: اتصال دستگاه‌ها را می‌پذیرد، هویت آن‌ها را بررسی می‌کند، مشخص می‌کند هر دستگاه به کدام تاپیک‌ها دسترسی دارد و هر پیام را به همه مشترک‌های آن تاپیک می‌رساند. اگر بروکر از دسترس خارج شود، کل ارتباط دستگاه‌ها متوقف می‌شود؛ به همین دلیل پایداری و امنیت آن اهمیت زیادی دارد.

بروکر روی سرور خودتان یا بروکر مدیریت‌شده؟#

راه‌اندازی یک بروکر روی سرور شخصی در ظاهر ساده است، اما بعد از آن باید گواهی TLS را تمدید کنید، کاربرها و رمزها را مدیریت کنید، دسترسی هر کاربر به تاپیک‌ها را محدود کنید، سرور را به‌روز نگه دارید و وضعیت اتصال دستگاه‌ها را پایش کنید.

در یک بروکر مدیریت‌شده مثل mqttcloud.ir این کارها از قبل انجام شده‌اند: از داشبورد یک اکانت MQTT می‌سازید، دستگاه‌هایتان را ثبت می‌کنید و با TLS روی پورت 8883 وصل می‌شوید. هر اکانت فقط به تاپیک‌هایی دسترسی دارد که با نام کاربری خودش شروع می‌شوند، و وضعیت آنلاین بودن دستگاه‌ها و پیام‌های اخیر را در همان داشبورد می‌بینید.

قدم بعدی#

اگر می‌خواهید همین حالا امتحان کنید، پلن رایگان بدون کارت بانکی یک اکانت MQTT و دو دستگاه در اختیارتان می‌گذارد. در مقاله اتصال اولین دستگاه به بروکر MQTT قدم‌به‌قدم این کار را انجام می‌دهیم. جزئیات پلن‌ها را در صفحه تعرفه‌ها ببینید.

#MQTT#IoT#بروکر