مهندسی برق

اختراع برق باعث دگرگونی صنعت در ابعاد مختلف شد. برق یعنی زندگی

مهندسی برق

اختراع برق باعث دگرگونی صنعت در ابعاد مختلف شد. برق یعنی زندگی

مهندسی برق

با سلام

محمد حسین متانت دانش‌ آموخته رشته مهندسی برق هستم .در این وبلاگ اطلاعات مربوط به،مقالات،جزوات و کتاب ها و مطالب علمی مربوط به رشته برق ارائه می گردد.

هرگاه در پی چیزى هستى، بلند همت باش و آن‏گاه که چیره شدى، در پیروزى کریم باش.
حضرت علی (علیه السلام)

همراهان عزیز جهت خبر دار شدن از جدید ترین مطالب سایت،سایت را به دنبال داشته باشید.👇🏻

پیوندها

راهنمای جامع پروتکل MQTT

سه شنبه, ۲۰ ارديبهشت ۱۴۰۱، ۰۷:۲۰ ب.ظ

در این پست, پروتکل MQTT را معرفی خواهیم کرد. کلمه MQTT مخفف عبارت (Message Queuing Telemetry Transport) می باشد.

پروتکل MQTT چیست؟ – آی تک

مقدمه و معرفی

در این پست, پروتکل MQTT را معرفی خواهیم کرد. کلمه MQTT مخفف عبارت (Message Queuing Telemetry Transport) می باشد.

نحوه علمکرد پروتکل MQTT

نحوه علمکرد پروتکل MQTT

 

پروتکل MQTT از پرکاربردترین پروتکل ها در اینترنت اشیا می باشد. از جمله ویژگی های این پروتکل ارتباطی می توان به: سبک بودن, امنیت بالا, حجم کم اشاره کرد. پروتکل MQTT از مدل publish / subscribe استفاده می کند:

پروتکل MQTT_مدل publish / subscribe

پروتکل MQTT_مدل publish / subscribe

 

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

نحوه عملکرد MQTT

هر دستگاه یا سنسور در این پروتکل، دیتا خود را که topic آن می تواند از سنسور دما , رطوبت و … باشد، به سرور MQTT می دهد یا publish می کند. بنابراین هر کسی (هر دستگاه دیگری) اجازه دسترسی به این data را بخواهد باید آن topic خاص را بداند.

همانطور که در تصویر زیر مشاهده می کنید؛

  • شما از طریق یک کلاینت client (مانند محیط گرافیکیNode-RED)، دستوری (command) را برای کنترل یک خروجی (LED ON/OFF) ارسال می کنید:
MQTT_کنترل لامپ_رزبری پای_NodeRED
MQTT_کنترل لامپ_رزبری پای_NodeRED

 

  • اطلاعات از از یک سنسور بخوانید و به یک client (مانند محیط گرافیکیNode-RED)، publish کنید:
MQTT_خواندن سنسور_رزبری پای_NodeRED

MQTT_خواندن سنسور_رزبری پای_NodeRED

مفاهیم اساسی در MQTT

در این قسمت چند مفهوم پایه برای پروتکل MQTT که باید با آنها آشنا باشید، را به صورت زیر داریم:

  • Publish/Subscribe
  • Messages
  • Topics
  • Broker

مفاهیم پایه_MQTT

مفاهیم پایه_MQTT

 

در ادامه آموزش، به بررسی و تحلیل هر یک می پردازیم.

مفهوم Publish/Subscribe در پروتکل MQTT

مفهوم publish بدین صورت است که یک دستگاه پیغامی را با استفاده از یک topic ، منتشر publish و دستگاه دیگری پیغام دریافت شده را subscribe می کند.

publish/subscribe_پروتکل MQTT

publish/subscribe_پروتکل MQTT

 

  • Device 1؛ یک topic تاپیک را publish می کند.
  • Device 2؛ همان topic که از دستگاه 1 publish شد را subscribe می کند.
  • در نتیجه؛ دستگاه 2 پیغام را دریافت می کند.

مفهوم Messages در پروتکل MQTT

Messages ؛ سری اطلاعاتی می باشد که می تواند data یا command باشند که بین دستگاه هایتان در حال تبادل هستند.

مفهوم Messages_پروتکل MQTT

مفهوم Messages_پروتکل MQTT

مفهوم Topics در پروتکل MQTT

یکی دیگر از مفاهیم مهم در MQTT، تاپیک ها هستند.

  • برای پروژه های اینترنت اشیا IOT با topics کار می کنیم. 
  • topic ها از نوع  string رشته ای هستند، که توسط یک / از یکدیگر جدا می شوند.
  • تاپیک مشخص می کند که داده / کامند از کجا publish شده است و حاوی چه پیامی است و به کجا می رود.

 

مفهوم Topics-پروتکل MQTT

مفهوم Topics-پروتکل MQTT

 

نکته

 

نحوه وارد کردن topic ها از جمله موارد مهمی است که باید رعایت کنید. در همین راستا به تصویر زیر توجه کنید.

 

ساختن topic

ساختن topic

 

در شماتیک زیر؛ سناریوی ON/OFF یک لامپ در home office را به عنوان مثال داریم:

publish/subscribe/example

publish/subscribe/example

 

  1. دیوایسی دارید که پیغام های “on” و “off” را در topic home/office/lamp  پابلیش publish می کند.
  2. از طرفی هم دیوایسی برای کنترل لامپ (ESP32،ESP8266 یا هر برد دیگری) دارید که topic را subscribe می کند.
  3. بنابراین زمانی که پیغامی جدید در تاپیک publish می شود. ESP32 پیغامی مبنی  “on” یا “off” دریافت کرده و لامپ را خاموش یا روشن می کند.

 

 

دستگاه 1 که می تواند؛ ESP32،ESP8266 یا یک پلتفرم کنترلر اتوماسیون خانگی باشد. مانند: Node-RED، Home Assistant، Domoticz یا OpenHAB

 

broker وظایف زیر را بر عهده دارد:

  • receiving: همه پیغام ها را دریافت می کند.
  • filtering: پیام ها را از فیلتر عبور می دهد.
  • decide: طبق درخواستها تصمیم می گیرد که هر دیوایس خواستار کدام پیغام است.
  • publishing: در نهایت پیغام را به همه کلاینت های subscrib شده، publish می کند.
مفهوم Broker در MQTT 

مفهوم Broker در MQTT

 

از چندین broker می توانید در پروژه های IOT خود، استفاده کنید. توصیه ما این است که از Mosquitto broker استفاده کنید که بر روی رزبری پای قابل نصب می باشد. در مقاله زیر نحوه نصب راه اندازی این broker را بر روی رزبری پای، به طور کامل آموزش داده ایم :

استفاده از MQTT در پروژه های IOT و اتوماسیون  لوازم خانگی

همانطور که در این آموزش متوجه شدید،MQTT برای اینترنت اشیا بسیار مناسب و کامل است. برای شروع با پروتکل MQTT برای پروژه های خود، به مراحل زیر رجوع کنید:

پروتکل MQTT_پروژه های خانگی و اینترنت اشیا

پروتکل MQTT_پروژه های خانگی و اینترنت اشیا

موافقین ۱ مخالفین ۰ ۰۱/۰۲/۲۰
Mohammad hossein Metanat

متانت

محمد حسین متانت

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی