فهرست مطالب:

ارتباطات بی سیم SmartHome: اصول اساسی MQTT: 3 مرحله
ارتباطات بی سیم SmartHome: اصول اساسی MQTT: 3 مرحله

تصویری: ارتباطات بی سیم SmartHome: اصول اساسی MQTT: 3 مرحله

تصویری: ارتباطات بی سیم SmartHome: اصول اساسی MQTT: 3 مرحله
تصویری: وقتی خدا میاد ایران 💀😂 یا خدا😂 2024, نوامبر
Anonim
ارتباطات بی سیم SmartHome: اصول اساسی MQTT
ارتباطات بی سیم SmartHome: اصول اساسی MQTT
ارتباطات بی سیم SmartHome: اصول اساسی MQTT
ارتباطات بی سیم SmartHome: اصول اساسی MQTT

اصول MQTT:

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

اینترنت اشیا:

اینترنت اشیا جهان را فرا گرفته است و به ویژه در جوامعی مانند جامعه ما در Instructables. از زمانی که به این انجمن پیوسته ام ، مردم با آن سازگار شده اند

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

MQTT چیست:

MQTT (Message Queuing Telemetry Transport) یک پروتکل ارتباطی سبک وزن است که از معماری انتشار/اشتراک استفاده می کند. HTTP ، که بیشتر اینترنت از آن استفاده می کند ، بر اساس یک سیستم درخواست/پاسخ ساخته شده است. این بدان معناست که از مشتری یک درخواست دریافت می کند و ارسال می کند پاسخ به آن مشتری. MQTT همچنین دارای یک سرور (به نام بروکر) و همچنین بسیاری از مشتریان است. بر خلاف HTTP ، MQTT به مشتریان امکان می دهد تا "موضوعات" خاصی را منتشر یا مشترک شوند. آنچه این اجازه می دهد ارتباط گسترده تر از طریق یک نقطه متمرکز ، کارگزار. هر گره می تواند موضوعی را در بروکر منتشر کند و هر گره ای که در آن موضوع مشترک باشد پیام را دریافت می کند. مشتریان می توانند در چندین موضوع نیز مشترک شوند و سپس می توانند چندین دستورالعمل یا به روز رسانی دریافت کنند.

کل سیستم مبتنی بر رویداد است و اجازه می دهد تا پیام های کارگزار به هر مشتری مشترک منتقل شود. بنابراین به جای HTTP ، جایی که سرویس گیرنده اطلاعات را درخواست می کند ، مشتری هنگام دریافت اطلاعات مستقیماً از کارگزار رانده می شود. خدمات داخلی وجود دارد و همچنین برای حفاظت های مختلف مانند مشخصات QOS امکان پذیر است. مشخصات QOS به یک کارگزار اجازه می دهد تا تعیین کند که آیا پیام باید حداکثر یکبار ، حداقل یکبار یا دقیقا یکبار ارسال شود یا خیر. این اطمینان می دهد که داده ها به روش مورد نیاز به هر مشتری تحویل داده می شود. مشتریان همچنین می توانند درخواست کنند که پیامهای منتشر شده به موضوع خود در صورت عدم قطع ارتباط به دلایلی در کارگزار بافر شوند. پس از بازگشت آنلاین ، این داده ها به مشتری منتقل می شوند.

یک موضوع چیز خاصی نیست ، فقط رشته های گوناگونی است که با خطوط کوچک ترکیب شده و از هم جدا می شوند. قالب موردی که در زیر مورد استفاده قرار می گیرد به شرح زیر است: خانه/اتاق خواب/سقف_نور. هر اسلش بعد از یک موضوع برای نشان دادن یک موضوع فرعی قرار می گیرد. بنابراین می توان پیامی را در خانه منتشر کرد ، جایی که همه دستگاه های خانه آن را دریافت می کنند. این می تواند مستقیماً در خانه/اتاق خواب منتشر شود ، جایی که همه دستگاه های موجود در اتاق خواب پیام را دریافت می کنند. و می تواند به دستگاه خاصی برود که برای اولین بار در خانه/اتاق خواب/سقف نشان داده شده است ، جایی که فقط نور سقف اتاق خواب پیام را دریافت می کند. روشی که ما می توانیم دستگاه های شخصی مانند این را تا کل یک اکوسیستم انتزاع کنیم ، بسیار مفید است ، به ویژه هنگامی که صحبت از اتوماسیون خانگی می شود. روشهای دیگری برای تجزیه موضوعات وجود دارد ، و من در دستورالعمل های آینده که کاربرد آنها بیشتر منطقی است به آنها می پردازم.

تدارکات

فقط یکی از موارد زیر مورد نیاز است:

اوبونتو:

زیر سیستم ویندوز برای لینوکس: https://ubuntu.com/wsl (فقط اگر لینوکس/MacOS ندارید)

MacOS: به MacBook نیاز دارد

این مورد الزامی است:

Mosquitto MQTT Broker - بارگیری با استفاده از apt -get (مستندات:

مرحله 1: راه اندازی اولیه (بسته به سیستم عامل شما)

MacOS/Linux:

راه اندازی لازم نیست فقط ترمینال خود را باز کرده و به Mosquitto Setup بروید!

پنجره ها:

اگر از ویندوز استفاده می کنید ، باید زیر سیستم Windows را برای لینوکس نصب کنید. این یک ابزار فوق العاده آسان برای استفاده و بسیار ارزشمند است که به شما امکان می دهد یک ترمینال اوبونتو را در ویندوز اجرا کنید. فقط برای آزمایش توسعه در ترمینال نیازی به نصب و بوت دوگانه اوبونتو نیست!

مراحل نصب:

1. به Windows Store رفته و ubuntu را جستجو کنید

2. زیر سیستم Windows را برای لینوکس بارگیری و نصب کنید

3. برنامه را باز کنید و دستورالعمل ها را برای تکمیل راه اندازی دنبال کنید و آماده ادامه کار هستید!

مرحله 2: راه اندازی پشه:

راه اندازی پشه
راه اندازی پشه
راه اندازی پشه
راه اندازی پشه
راه اندازی پشه
راه اندازی پشه

بنابراین همانطور که در مقدمه در مورد MQTT بحث شد ، پروتکل به یک کارگزار (سرور) نیاز دارد. این کارگزار نقطه اصلی همه ارتباطات ایجاد شده با هر مشتری است. همه پیام ها در این کارگزار منتقل می شوند و در صف قرار می گیرند. گزینه های زیادی برای انتخاب یک کارگزار وجود دارد و می توانید آنها را به صورت آنلاین پیدا کنید ، اما گزینه ای که ما از آن استفاده می کنیم احتمالاً رایج ترین است: Mosquitto.

Mosquitto یک کارگزار MQTT مبتنی بر لینوکس است که دارای قابلیت های زیادی است. من در حال حاضر به جزئیات آن عملکرد نمی پردازم ، اما چند مورد اساسی که احراز می کند احراز هویت کاربر/رمز عبور و پشتیبانی از رمزگذاری TLS است که همه آنها در توسعه دستگاه های اینترنت اشیاء مفید هستند.

مراحل:

همه این مراحل باید در پنجره ترمینال انجام شود.

1. Mosquitto و MQTT Clients را نصب کنید

sudo apt-get mosquitto mosquitto-client را نصب کنید

2. مشترک شدن در یک موضوع

mosquitto_sub -t "test"

کاری که این می کند مشترک شدن در یک موضوع است. این مبحث با "-t" نشان داده می شود و ارزش موضوع "آزمون" است. این مقدار زیر "-t" می تواند هر چیزی باشد که می خواهید برای چند رزرو ویژه ذخیره کنید.

3. یک پنجره ترمینال جدید باز کنید و پیام مربوط به موضوع "test" را منتشر کنید

mosquitto_pub -t "test" -m "Hello World with MQTT!"

این یک پیام به موضوع "تست" منتشر می کند و به نمونه پایانی دیگر ما اجازه می دهد پیام را در سمت اشتراک دریافت کند. پیام منتشر شده با "-m" مشخص می شود و مقدار پیام "Hello World With MQTT" است. این پیام ، درست مانند موضوع ، می تواند به هر چیزی که می خواهید تغییر کند!

4. برای مشاهده نتایج خود به اولین پنجره ترمینال بروید! باید پیامی دریافت کنید که می گوید "Hello World With MQTT" نمایش داده می شود. اگر این را نمی بینید ، مطمئن شوید که موضوع مناسب را وارد کرده اید. اگر این کار را با موفقیت انجام داده اید ، با آن بازی را ادامه دهید. موضوعات مختلف را با موضوعات فرعی و پیام های مختلف امتحان کنید!

مرحله 3: جمع بندی کنید

خودشه! پس از اتمام همه چیز ، اصول اولیه نحوه عملکرد MQTT را درک می کنید. این یک آموزش بسیار ابتدایی است که فقط حداقل پروتکل MQTT را نشان می دهد. دستورالعمل های آینده نحوه عملکرد پروتکل در عمل با اینترنت اشیاء ، به ویژه با ماژول های ESP8266 که از آردوینو استفاده می کنند را عمیق تر بررسی می کند. اولین کاربرد عملی من قهوه ساز هوشمندی است که در حال حاضر در اتاقم دارم. اگر می خواهید نحوه تهیه قهوه ساز قابل کنترل از طریق تلفن و الکسا را بیاموزید ، برای آموزش های بیشتر حتماً من را دنبال کنید.

توصیه شده: