coap چیست؟

coap چیست؟

coap چیست؟
coap چیست؟

CoAP چیست ، وقتی صحبت از دنیای دیجیتال و خانه های هوشمند و تکنولوژی روز دنیا در خصوص چیزنت می‌شه،همه چیز به اندازه کافی جذاب و سرگرم کننده است که شاید کمتر کسی به بستر ارتباطی فکر کنه ، در صورتی که تمام این اتفاقات ممکن نیست مگر با اسنفاده از یک بستر سریع و چالاک و البته سبک. سبک منظور به لحاظ پیاده سازی است ، همانطور که آگاه هستید بیشتر دستگاه های IOT امروزه از میکروپردازنده ها و میکروپروسسور ها استفاده می کنند و امکان ندارد قادر به پیاده سازی پروتکل های پیچیده نظیر ssh یا https یا حتی http به صورت کاربردی باشند، نمی توان انتظار داشت که درون لامپ های led که هوشمند هستند یک پردازنده قوی به همراه مقدار قابل توجهی RAM و ROM وجود داشته باشد. پس لازم است پروتکل های ارتباطی به نحوی طراحی شوند که در دستگاه هایی با مقدار حافظه و قدرت پردازشی محدود قابل پیاده سازی باشند. قبلا در مقاله ” MQTT چیست؟ ” پروتکل MQTT را معرفی کردیم در این مقاله قصد داریم که به معرفی پروتکل CoAP بپردازیم. پس با سیسوگ همراه باشید.

 

CoAP – Constrained Application Protocol چیست؟

وقتی صحبت از اینترنت اشیاء ( چیزنت  , اینترنت چیزها ) میشه بی شک CoAP در کنار MQTT خودنمایی می‌کند. CoAP نیز شبیه MQTT یک پروتکل سبک ارتباطی است که در اینترنت چیزها کاربرد زیادی دارد. این پروتکل برای ارتباط ماشین و  ماشین ( M2M ) طراحی شده  که کلیه موارد مصرف اینترنت چیزها را شامل می‌گردد. بگذارید کمی وارد جزئیات پروتکل CoAP شویم و با مشخص کردن برخی تفاوت‌های این پروتکل نسبت به MQTT در مورد آن کمی بیشتر بدانیم.

 

برخی خصایص ویژه CoAP:

  • توانایی انتقال اطلاعات RESTful API (در ادامه توضیح مختصری در مورد این پروتکل داده شده) در شبکه هایی با منابع محدود
  • طراحی شده جهت سیستمهایی با منابع بسیار کم مثلا IOT Device – اینترنت چیزها
  • استفاده از پروتکل UDP جهت انتقال اطلاعات (شاید یکی از نقاط ضعیف)
  • جهت ارتباط به حافظه و قدرت پردازشی کمی نیاز دارد (منابع محدود).
  • پروتکل طراحی شده برای شبکه هایی با منابع محدود ( مثلا سیستمهای IOT)

 

 

RESTful API چیست ؟

که REST مخفف Representational State Transfer  میباشد که یک پروتکل ساده در دنیای وب جهت تبادل اطلاعات مبتنی بر وب می‌باشد. برای استفاده  از RESTful API، چهار متد تعریف گردیده است :
– GET: برای دریافت و خواندن اطلاعات
– POST: برای ساخت و ارسال اطلاعات
– PUT: برای تغییر و جایگزین کردن اطلاعات
– DELETE: برای حذف اطلاعات

برای اطلاعات بیشتر در مورد این پروتکل میتوانید به این ادرس  مراجعه کنید.

 

مقایسه coap و MQTT :

در تصویر زیر پروتکل MQTT و نحوه ارتباط بین Broker ( کارگزار ) و Node ها یا همان دیوایس ها مشخص شده است

ارتباط MQTT و بروکر

در تصویر بالا کاملا مشخص است که یک NODE (کلاینت یا وسیله) نمیتواند به وسیله دیگری ارسال اطلاعات داشته باشد مگر اینکه از بستر Broker (سرور و یا کارگزار مربوطه)استفاده نماید. همچنین در پروتکل MQTT به محض رسیدن یک پیام به بروکر یا کارگزار بقیه کلاینت ها نیز می‌توانند اطلاعات را برداشته و یا مشاهده نمایند. در پروتکل MQTT تغییر اطلاعات توسط Broker و یا واسطه ای دیگر دیده نشده است و صرفا بروکر ها وظیفه تبادل اطلاعات بین دستگاه ها را بر عهده دارند و اگر تمایل به تغییر اطلاعات دارید باید پیام های خاصی جهت تغییر ایجاد و ارسال نمایید.

در پروتکل CoAP کلاینت یا NODE به عنوان مرکز ارتباطی مطرح می‌شود و می‌تواند همزمان با چندین سرور و ارایه دهنده سرویس ارتباط برقرار کند که البته این نوع ساختار محاسن و معایب خاص خود را دارد. یکی از معایت بالارفتن حجم پردازشی و ترافیک مصرفی است آن هم در هنگامی که لازم است دیتای Node توسط چند مرکز مختلف دنبال و بررسی شوند در این صورت لازم است که Node داده را به چند مقصد مختلف مخابره کند این شیوه عمل باعث کند شدن و مصرف ترافیک خواهد شد.

 

coap بهتر است یا MQTT ؟

بگذارید در آخر برخی موارد را جمع بندی کنیم؛ مطمئنا پروتکل MQTT پروتکل بهتری جهت ارتباط چندین دیوایس (کلاینت) با هم، آن هم وقتی که ارتباطات ضعیف و احتمال قطعی دارند می‌باشد در MQTT بروکر و یا کارگزار مرکز این ارتباط می‌باشد از طرفی به دلیل استفاده از TCP دارای امنیت بالاتری هم هست.

MQTT چیست و چگونه کار میکند

 

اما CoAP پروتکل بهتری می‌باشد در مواقعی که ارتباط مبتنی بر ارتباط کلاینت با سرور می‌باشد و  ارتباطات با سرور پایدار باشد و البته یک کلاینت می‌تواند در اطلاعات موجود در سرور دستکاری هم نماید.

Coap چیست و چگونه کار می‌کند

هر دو پروتکل جهت شبکه های کوچک و و کلاینتهایی با مصرف انرژی پایین طراحی شده اند هر دو پروتکل جهت IOT پرکاربرد می‌باشند. هر دو پروتکل می‌تواند امنیت اطلاعات را تضمین نماید پروتکل MQTT مبتنی بر SSL و CoAP  مبتنی بر DTLS

در صورتیکه سسیتم شما بصورت کلاینت سرور طراحی شده است و شبکه مطمئن ارتباطی با سرور دارد شاید CoAP بهترین گزینه باشد ولی در صورتیکه مصرف انرژی در کلاینت بسیار اهمیت دارد و لزوم به حالت کم مصرف رفتن کلاینت ها و همچنین ارتباط ناپایدار شبکه ای وجود دارد بی شک MQTT بهترین گزینه خواهد بود.

البته واقعیتی که در سرچ گوگل مشخص هست محبوبیت و کاربرد بیشتر MQTT نسبت به COAP می باشد:

 

مقایسه COAP و MQTT در سرچ گوگل

 

آموزش تصویری زیر نیز میتواند دید مناسبی از CoAP و مقایسه اون با MQTT بدهد:

 

 

حمایت از Sisoog Os

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Sisoog Os
Sisoog Os

کارآفرین, تولید کننده, طراح الکترونیک و ....

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

درآمد زایی به سبک پینوکیو

ما مهندسین, بخصوص مهندسین برق و الکترونیک … علاقه خاصی به طراحی و ساختن داریم علاقه زیادی به تکنولوژی , بخصوص از...

Sisoog Os Sisoog Os
  • 3 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک