۳۰ آذر ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

انتقال داده های اینترنت اشیا با MQTT

میلیاردها دستگاه متصل نیاز به برقراری ارتباط و انتقال داده ها به طور موثر در شبکه ها و پلتفرم های ابری دارند. در اینجا چرا MQTT پروتکل استاندارد است.

میلیاردها دستگاه متصل نیاز به برقراری ارتباط و انتقال داده ها به طور موثر در شبکه ها و پلتفرم های ابری دارند. در اینجا چرا MQTT پروتکل استاندارد است.

اینترنت اشیا (IoT) همچنان در حال گسترش است. Transforma Insights پیش‌بینی می‌کند که امسال تعداد دستگاه‌های متصل در سراسر جهان از ۱۳.۱ میلیارد فراتر رود. با این تعداد زیاد دستگاه ها نیاز به ارتباط و انتقال داده ها در شبکه ها و پلتفرم های ابری وجود دارد، جایی که پروتکل های اینترنت اشیا وارد عمل می شوند.

پروتکل MQTT در سال ۱۹۹۹ توسط اندی استنفورد-کلارک و آرلن نیپر برای نظارت بر خطوط لوله نفت و گاز از طریق ماهواره اختراع شد. شبکه های. در طی چندین سال گذشته، این استاندارد عملاً برای پیام‌رسانی اینترنت اشیا تبدیل شده است. این مقاله به اصول اولیه MQTT، مزایای آن برای انتقال داده های IoT و نحوه شروع استفاده از MQTT می پردازد.

معماری انتشار/اشتراک MQTT

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

mqtt انتشار اشتراک

معماری انتشار/اشتراک MQTT.

معماری انتشار/اشتراک نشان داده شده در شکل بالا، ناشر (مشتری که پیام را ارسال می کند) از مشترکین (مشتریانی که پیام ها را دریافت می کنند) جدا می کند. آنها هرگز مستقیماً با یکدیگر تماس نمی گیرند. در عوض یک کارگزار MQTT اتصالات را مدیریت می‌کند و به درستی همه پیام‌های دریافتی را فیلتر کرده و بین مشترکین توزیع می‌کند. هر پیام MQTT شامل یک موضوع است. مشتریان MQTT در موضوعاتی که می خواهند دریافت کنند مشترک می شوند و کارگزار MQTT پیام ها را به مشتریان مناسب ارسال می کند.

یک کارگزار MQTT می‌تواند پیام‌هایی را که در صورت قطع ارتباط به مشتریان MQTT ارسال نمی‌شوند، بافر کند. این برای شرایطی که اتصالات شبکه غیرقابل اعتماد هستند بسیار مفید است. برای پشتیبانی از تحویل مطمئن پیام، این پروتکل از سه نوع مختلف پیام های کیفیت خدمات (QoS) پشتیبانی می کند:

تهدیدات امنیتی بومی ابر را با Tracee شناسایی کنید

۰ – حداکثر یک بار
۱ – حداقل یک بار
۲ – دقیقا یک بار

QoS به مشتری این قدرت را می دهد که سطحی از خدمات را انتخاب کند که با قابلیت اطمینان شبکه و منطق برنامه مطابقت دارد.

MQTT به جلسات دائمی بین مشتری و کارگزار اجازه می دهد که حتی در صورت قطع شدن شبکه، جلسات را قادر می سازد ادامه پیدا کنند. از آنجایی که MQTT اطلاعات پیام رسانی را در طول اتصال غیر شبکه نگهداری می کند، سیستم جلسه مشتری به کارگزار را پس از اتصال مجدد به خاطر می آورد. این سطح از قابلیت اطمینان یکی از ویژگی های کلیدی است که پروتکل MQTT را برای استفاده در شبکه های سلولی غیرقابل اعتماد کارآمدتر از HTTP می کند.

انتقال مقادیر زیادی داده به و از ده‌ها هزار دستگاه و برنامه کاربردی متصل به یک پروتکل پیام‌رسانی متناسب با این هدف نیاز دارد. مخترعان به صراحت MQTT را برای پاسخ به نیاز به نظارت بر تجهیزات از راه دور با اتصال غیرقابل اعتماد ایجاد کردند. معماری آن برای انتقال داده های اینترنت اشیاء ایده آل است.

مزایای فنی و تجاری MQTT

دلایل مختلفی وجود دارد که معماران فنی و توسعه دهندگان نرم افزار برای کار با MQTT انتخاب می کنند و اینکه چرا پلتفرم های IoT از پروتکل به عنوان راه ایده آل برای دریافت داده ها در پلتفرم های خود پشتیبانی و ترویج می کنند. مزایای فنی:

  • سبک و کارآمد: گزارش‌های MQTT بر اساس استثنا و سرصفحه‌های پیام بسیار کوچک هستند و منابع مورد نیاز برای پهنای باند مشتری و شبکه را به حداقل می‌رسانند.
  • دو جهته: MQTT امکان ارسال پیام از دستگاه‌ها به ابر و از ابر به دستگاه‌ها را می‌دهد که امکان پخش پیام‌ها را به گروه‌هایی از چیزها فراهم می‌کند.
  • از شبکه‌های غیرقابل اطمینان پشتیبانی می‌کند: پشتیبانی MQTT از جلسات مداوم، زمان اتصال مجدد مورد نیاز نسبت به شبکه‌های غیرقابل اعتماد را کاهش می‌دهد.
  • مقیاس‌پذیر: MQTT می‌تواند برای اتصال میلیون‌ها دستگاه اینترنت اشیا به طور همزمان مقیاس‌پذیر باشد.
  • امنیت فعال است: MQTT رمزگذاری پیام‌ها با استفاده از TLS (امنیت لایه انتقال) و احراز هویت مشتریان با استفاده از پروتکل‌های احراز هویت مدرن، مانند OAuth را آسان می‌کند.
  • قابل اعتماد: عملکرد انتشار/اشتراک و قابلیت صف بندی پیام ها به معنای عدم از دست دادن داده از طریق MQTT است. MQTT همچنین از تحویل قابل اعتماد پیام از طریق سه سطح کیفیت تعریف شده خدمات پشتیبانی می کند.
نحوه پیاده سازی احراز هویت در حداقل API ها در ASP.NET Core

مزایای فنی MQTT مزایای تجاری متعددی را به همراه دارد و MQTT را به انتخاب خوبی برای هر شرکتی تبدیل می‌کند که به دنبال تغییر دیجیتالی جمع‌آوری داده‌ها و ارتباطات برای اتخاذ تصمیمات تجاری بهتر است. مزایای کسب و کار:

  • کاهش هزینه‌های شبکه: پروتکل‌هایی مانند HTTP و OPC UA اندازه پیام بزرگ‌تری دارند و همچنین از نظرسنجی/پاسخ برای جمع‌آوری داده‌ها در یک بازه زمانی مشخص استفاده می‌کنند، حتی اگر داده‌ها تغییر نکرده باشند. ردپای کوچک پیام های MQTT به اضافه گزارش های استثنایی باعث صرفه جویی در هزینه های پهنای باند شبکه می شود.
  • تجربه مشتری بهبود یافته: تمرکز MQTT بر قابلیت اطمینان و پشتیبانی از جلسات مداوم، تجربه مشتری را افزایش می‌دهد. در مورد سرویس اشتراک خودرو BMW، هنگام استفاده از SMM/HTTP برای انتقال پیام، مشتری می‌تواند تا ۳۰ ثانیه منتظر بماند تا قفل درب خودرو را باز کند. انتقال به MQTT مشکل را حل کرد.
  • کاهش هزینه‌های ناشی از از دست دادن داده‌ها: داده‌های از دست رفته می‌تواند به طرق مختلف بر کسب‌وکار تأثیر منفی بگذارد، مانند از دست دادن رویدادهای کلیدی، جمع‌آوری نادرست داده‌ها، و حتی از دست دادن درآمد زمانی که از دست دادن داده بر مشتری تأثیر می‌گذارد. صف پیام MQTT هزینه های مرتبط با از دست دادن داده ها را کاهش می دهد زیرا هنگام اتصال مجدد شبکه، داده ها را ارسال می کند.
  • زمان سریع‌تر به بازار: رابطه مشتری/کارگزار در معماری MQTT تکرار سریع آسان را تضمین می‌کند، به این معنی که محصولات می‌توانند سریع‌تر وارد بازار شوند. هنگامی که یک سازمان یک کارگزار MQTT را به عنوان مرکز سیستم راه اندازی می کند، هر تعداد برنامه یا مشتری جدید را می توان به سرعت با حداقل تلاش در هر زمان اضافه یا به روز کرد.

شروع با MQTT

کمیته فنی OASIS MQTT دو نسخه از مشخصات را مدیریت می کند: MQTT 3.1.1 و MQTT 5. اکثر کارگزاران تجاری MQTT اکنون از MQTT 5 پشتیبانی می کنند، اما بسیاری از خدمات ابری تحت مدیریت اینترنت اشیا فقط از MQTT 3.1.1 پشتیبانی می کنند. استقرارهای جدید اینترنت اشیا باید از نسخه ۵ استفاده کنند، زیرا ویژگی‌های جدیدی بر روی سیستم‌های قوی‌تر و مقیاس‌پذیری بومی ابری تمرکز دارد.

بهترین کتابخانه های پایتون برای پردازش موازی

MQTT 5 به روز رسانی مهم پروتکل MQTT است. در پاسخ به بازخورد کاربران MQTT، MQTT 5 ویژگی هایی را اضافه می کند که برنامه های کاربردی مدرن اینترنت اشیا به آن نیاز دارند. این ویژگی‌های جدید به برنامه‌هایی که در فضای ابری مستقر شده‌اند، برنامه‌هایی که برای اجرای پیام‌های حیاتی مأموریتی نیاز به استحکام و مدیریت خطا دارند، و توسعه‌دهندگان برنامه‌ای که به دنبال ادغام آسان‌تر پیام‌های MQTT در زیرساخت‌های محاسباتی خود هستند، می‌شوند.

در چند سال آینده، انتظار داریم که شاهد رشد گسترده ای در پذیرش MQTT در تمام صنایع، از جمله تولید، خودروسازی، زیرساخت های حیاتی، تدارکات و شهرهای هوشمند باشیم. MQTT در آستانه تبدیل شدن به استاندارد برای همه اینترنت اشیا است.

بسیاری از مشتریان و کارگزاران منبع باز MQTT به زبان های برنامه نویسی مختلف در دسترس هستند. می‌توانید فهرست دقیقی را در mqtt.org پیدا کنید. پس از درک اصول اولیه، بهترین راه برای شروع کار با MQTT مطالعه استقرار نمونه های واقعی است. می‌توانید چندین نمونه را در مخزن GitHub ما بیابید.

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

Georg Held رئیس توسعه محصول در HiveMQ است. او مسئول توسعه پلتفرم HiveMQ Enterprise MQTT و اکوسیستم HiveMQ است.

New Tech Forum مکانی برای کاوش و بحث در مورد فناوری سازمانی نوظهور در عمق و وسعت بی سابقه ای فراهم می کند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه سوالات را به newtechforum@infoworld.com ارسال کنید.