راهنمای جامع روشهای اتصال در اینترنت اشیا (Internet of Things) — بخش ششم: پروتکلهای اختصاصی اینترنت اشیا
در بخشهای قبلی این سلسله آموزشها به معرفی انواع شبکه، انواع شبکههای بیسیم و فناوریهای مختلف پرداختیم. در مطلب حاضر به پروتکلهای اختصاصی مربوط به شبکههای اینترنت اشیا میپردازیم. با ما تا انتهای مطلب همراه باشید.
پروتکلهای اختصاصی اتصالات اینترنت اشیا
ما شاهد هستیم که چگونه اینترنت نحوه ارتباط و همکاری ما را دگرگون ساخته است. عصر جدید اینترنت تنها به افراد مربوط نمیشود، بلکه همه دنیای پیرامون ما را در بر گرفته است و این شامل دستگاههای هوشمند متصلبههم نیز میشود. پروتکلهایی که در این سلسله مطالب بررسی کردیم همگی به منظور استفاده در اینترنت اشیا طراحی نشدهاند، اما ثابت کردهاند که بهخوبی قابلیت استفاده برای پروژههای اینترنت اشیا را دارند.
با رشد اینترنت اشیا، ناگزیر پروتکلهای جدیدتر و اختصاصیتر ایجاد شده اند که به طور خاص برای شبکههای اینترنت اشیا طراحی شدهاند. این دستگاههای هوشمند متصلبههم الزاماتی دارند که شاید از اینترنت امروزی که داریم و برای انسانها طراحی شده است متفاوت باشد. در ادامه سه نوع مختلف ارتباط در این پروتکلها را بررسی کردهایم:
دستگاه به دستگاه (D2D): در این اتصال دستگاهها با یکدیگر ارتباط میگیرند.
دستگاه به سرور (D2S): در این اتصال دادههای دستگاه گردآوری شده و به سرور ارسال میشود.
سرور به سرور (S2S): در این اتصال دادههای سرور در میان سرورهای دیگر برای تحلیل و ارسال مجدد به دستگاه به اشتراک گذاشته میشود.
ما در مورد چهار مورد از این پروتکلها صحبت خواهیم کرد که به همه انواع مختلف اتصالهایی در بخش بالا اشاره کردیم وصل میشود:
- MQTT (انتقال تلهمتری صف پیامها)- این پروتکل برای گردآوری دادههای دستگاه و انتقال به سرور استفاده میشود.
- XMPP (پروتکل حضور و پیامرسانی قابلگسترش) - این پروتکل برای اتصال دستگاهها به افرادی که به سرورها متصل هستند استفاده میشود.
- DDS (خدمات توزیع داده) – این پروتکل برای ارتباط سریع بین دستگاههای هوشمند استفاده میشود.
- AMQP (پروتکل صفبندی پیشرفته پیام) – این پروتکل برای ارتباط مؤثر بین سرورهای مختلف استفاده میشود.
MQTT
وبسایت MQTT تعریفی از MQTT ارائه کرده است: پروتکل ارتباطی دستگاه به دستگاه (M2M) در اینترنت اشیا. این پروتکل به عنوان یک پروتکل انتقال پیام بسیار سبک انتشار/ثبتنام طراحی شده است. ین پروتکل برای اتصالهایی به مکانهای دور که کدنویسی اندکی مورد نیاز است و/یا پهنای باند گران است استفاده میشود. برای نمونه، این پروتکل میتواند در حسگرهایی که از طریق یک لینک ماهوارهای با یک بروکر ارتباط میگیرند، اتصال دایالآپ موردی که با خدمات دهنده خدمات سلامت برقرار میشود و در برخی سناریوهای اتوماسیون خانگی و دستگاههای کوچک استفاده میشود. این پروتکل همچنین برای کاربردهای سیار مناسب است، زیرا اندازه کوچکی دارد، توان مصرفی آن کم است، بستههای داده کوچکی دارد و توزیع اطلاعات کارآمدی به یک یا چند گیرنده دارد.
هدف MQTT گردآوری دادهها از دستگاههای زیاد و انتقال دادهها به زیرساخت فناوری اطلاعاتی است. این پروتکل در مواردی که دادههای حسگر از هزاران حسگر باید به یک مکان واحد برای تحلیل انتقال یابد، میتواند یکی از بهترین راهحلها باشد.
XMPP
وبسایت XMPP این پروتکل را چنین تعریف کرده است: پروتکل حضور و پیامرسانی قابلگسترش، مجموعهای از فناوریهای باز برای پیامرسانی آنی، حضور، چت چند طرفه و تماسهای ویدیویی، همکاری، میانافزارهای سبک، گردآوری محتوا، و مسیریابی عمومی دادههای XML.
XMPP به عنوان ابزاری برای دستگاههای متصل جهت کشف همدیگر و شروع گفتگو است، برای آغاز مبادله اطلاعات به همان شیوهای که ما انجام میدهیم.
DDS
DDS از MQTT و XMPP که پروتکلهای دستگاه به سرور هستند متفاوت است. DDS از دستگاههایی استفاده میکند که به طور مستقیم از دادههای دستگاه استفاده میکنند. DDS یک پروتکل برای توزیع دادههای یک دستگاه به دستگاه دیگر است. DDS میتواند به طور کارآمدی میلیونها پیام را در ثانیه به بسیاری از گیرندههای همزمان تحویل دهد.
DDS یک ارتباط همتا به همتا است. حذف سرورها و بروکرهای پیام باعث سادهتر شدن ارتباط، کاهش تأخیر و کاهش پیچیدگی شده است. این پروتکل برای استفادههای اینترنت اشیا که نیازمند معماری مطمئن و با عملکرد بالا هستند مناسب است.
AMQP
AMQP یک نوع پروتکل سرور به سرور است. این پروتکل پیامها را بین سرورها منتقل میکند. خصوصیت اصلی AMQP پایداری بالای آن است که آن را قادر میسازد تا هزاران تراکنش صفبندی شده را بدون از دست رفتن هیچ دادهای ارسال کند.
وبسایت AMQP این پروتکل را چنین تعریف کرده است: یک استاندارد باز برای تبادل پیامهای تجاری بین برنامهها و سازمانها. این پروتکل سیستمها را به هم متصل میکند، اطلاعات مورد نیاز فرایندهای تجاری را وارد آنها میکند و دستورالعملهایی که به اهداف آنها منتهی میشود را ارسال میکند.
این پروتکل نخستین بار به عنوان یک میانافزار برای ردگیری و تحویل پیامهای بسیار مهم برای صنعت بانکداری توسعه یافت. در زمینه اینترنت اشیا، AMQP برای کارکردهای تحلیل سمت سرور که در آنها دادهها از چندین سرور باید برای تحلیل کارآمد مبادله شوند بسیار مناسب است.
در مجموع باید گفت که نمیتوان گفت کدام پروتکل برای اینترنت اشیا بهترین است چون در مرحلهای هستیم که هنوز نتوانستهایم آن را استاندارد کنیم و شاید هرگز هم نتوانیم. ماهیت متنوع کاربردها و میلیونها نوع مختلف دستگاههای متصل این حوزه به حوزهای منحصربهفرد تبدیل کرده است. بنابراین بهترین پروتکل به نوع کاربرد بستگی دارد.