تعریف پروتکل MQTT (جلسه اول)

تاریخ انتشار : 2020/07/16

اهداف

این اولین جلسه از سری آموزش پروتکل MQTT به عنوان مهم ترین پروتکل ارتباطی اینترنت اشیا می باشد. در این جلسه نگاهی خواهیم داشت بر تعریف پروتکل MQTT و همچنین ویژگی ها و امتیازات کلیدی این پروتکل. بعد از معرفی و تعریف پروتکل MQTT، مبانی انتشار/اشتراک یا همان publish/subscribe را در این پروتکل شرح خواهیم داد. 

mqtt protocol

شماتیک کلی پروتکل MQTT

 

معرفی پروتکل MQTT

پروتکل MQTT یک پروتکل شبکه سبک وزن بر مبنای انتشار/اشتراک است که برای ارتباط دستگاه ها باهمدیگر به کار می رود. MQTT معمولا بر روی پروتکل TCP/IP کار می کند. با این حال، هر پروتکلی که از ویژگی های صف، نگهداری (عدم از بین رفتن پیام در ارتباط) و ارتباط دوطرفه بهره می گیرد، می تواند برای بکارگیری MQTT استفاده شود. این پروتکل برای ارتباط دستگاه ها در فاصله دور از هم و در زمانی که پهنای باند شبکه محدود است طراحی شده است.

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

پروتکل MQTT دو مولفه اساسی دارد، یکی بروکر (broker) و یکی کلاینت (client). بروکر MQTT یک سروری است که همه پیام ها را از کلاینت ها گرفته و هر پیام را به مقصد مورد نظر (کلاینت مقصد) ارسال می کند. کلاینت ها شامل هر دستگاهی است که از طریق پروتکل MQTT به بروکر متصل باشد. پیام ها در قالب تاپیک ها (Topic) ارسال شده و حاوی متنی است که در پی لود (Payload) ذخیره می شود. در رابطه با این مفاهیم در جلسات بعد به طور مفصل بحث خواهیم کرد.

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

 

لیست موضوعات

در جدول زیر لیست موضوعات آموزش داده شده در سری آموزش پروتکل MQTT را مشاهده می کنید.

جلسه موضوع
جلسه اول تعریف پروتکل MQTT
جلسه دوم انتشار-اشتراک در پروتکل MQTT
جلسه سوم کلاینت و بروکر در پروتکل MQTT
جلسه چهارم اتصال کلاینت به بروکر در پروتکل MQTT
جلسه پنجم انتشار، اشتراک و لغو اشتراک در پروتکل MQTT
جلسه ششم تاپیک ها در پروتکل MQTT
جلسه هفتم راه اندازی بروکر MQTT بر روی سرور مجازی VPS
جلسه هشتم
جلسه نهم
جلسه دهم
جلسه یازدهم

ادامه دارد…

 

نتیجه گیری

در این جلسه تعریف پروتکل MQTT ارائه شد. فهمیدیم که این پروتکل مهم ترین پروتکل ارتباطی دستگاه ها در اکوسیستم اینترنت اشیا بوده و یادگیری آن برای کسب و کارهایی که با خدمات یا محصولات اینترنت اشیا سرو کار دارند بسیار مهم است. در جلسه بعد الگوی انتشار-اشتراک در پروتکل MQTT را شرح خواهیم داد. با ما همراه باشید..

برخی از مشتریان

لوگو شریف
لوگو آمد
لوگو شهرداری تهران
لوگو دانشگاه تهران
لوگو ساتکاپ
لوگو دانشگاه ارومیه
logofa