MQTT آموزش رزبری پای رزبری پای پروژه رزبری پای

مدیریت وسایل برقی با برد Wemos توسط پروتکل MQTT نرم افزار Node Red

Wemos-device-control-with-MQTT-Protocol---Digispark
نوشته شده توسط اروند طباطبایی

همانطور که قبلا هم گفته‌ام، “در پروژه اینترنت اشیاء IOT اطلاعات بر بستر اینترنت جابجا میشوند. در فاز صنعتی امنیت اطلاعاتی بسیار اهمیت پیدا میکنند. همچنین اطلاعات یا دیتا به صورت مستقیم و کد گذاری شده، به سرور ارسال میشود و سپس از سرور بر روی دیوایس‌های مختلف ارسال میشود.” برد Wemos D1 Mini بر پایه ESP8266 طراحی شده است. در این آموزش شیوه مدیریت یک LED را با پروتکل MQTT بر بستر اینترنت مدیریت میکنیم. البته این LED به صورت نمادین است و میتوانید بجای ال ای دی با رله یک سیستم تهویه را مدیریت کنید. نرم افزار نود رد Node Red بدون نیاز به دانش برنامه نویسی به شما کمک میکند تا ایده‌هایتان را عملی کنید. کلیه آموزش‌های نودرد Node red را میتوانید در دیجی اسپارک مطالعه کنید. در ادامه این آموزش جذاب با مرجع تخصصی اینترنت اشیاء IOT دیجی اسپارک همراه باشید.

 


۱- ساختار عملکرد پروتکل MQTT


ساختار برد کنترل اینترنت اشیاء Wemos D1 mini

برد D1 mini توسط کمپانی Wemos متولد شده است. البته پس از موفقیت و استقبال کاربران از برد D1 که هم ابعاد برد آردوینو Arduino Uno بود. برد کنترلی Wemos D1 Miniدارای یک پایه آنالوگ و یک رابط SPI و یک رابط I2CC می‌باشد. با توجه به سنسورها و ماژول‌های که با این برد ارتباط میگیرند، اتصالات را برقرار میکنیم. ابعاد این برد ۲۵ * ۳۵ میلی متر است. همچنین دارای انواع شیلد Shield از جمله دما، نمایشگر، باتری بک آپ، درایور موتور و… برای پروژه‌های مختلف اینترنت اشیاء IOT می‌باشد.

پروتکل MQTT

این پروتکل در حقیقت یک زبان ارسال داده برای پروژه‌های اینترنت اشیاء IOT است. پروتکل MQTT برای اولین بار در اواخر قرن ۲۰ام معرفی شد و برای انتقال دیتا در خطوط لوله نفت به کار رفت. پروتکل MQTT دارای ۳ ویژگی بسیار مهم است. حجم کم، سرعت انتقال زیاد و امنیت قابل توجه، این سه پارامتر باعث شده که امروزه در پروژه‌های اینترنت اشیاء IOT کاربرد داشته باشد. پروتکل MQTT به صورت اوپن سورس است. مخفف شده Message Queue Telemetry Transport میباشد. استفاده از پروتکل MQTT را در پروژه‌های اینترنت اشیاء فقط زمانی که نیاز است دیتا از سنسورهای مختلف ارسال شود. و یا فرمان از راه دور ارسال شود؛ اکیدا توصیه میکنم.

 

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

برد کنترلی اینترنت اشیاء Wemos بر پایه ESP8266

ال ای دی LED

برد رزبری پای

 

اتصالات مدار مدیریت وسایل برقی

ساده‌تر از این اتصال نداریم. پایه بلند ال ای دی قطب مثب و پایه کوتاه قطب منفی است. پایه کوتاه را به پین G روی برد Wemos D1 Mini و پایه بلند ال ای دی را به پین ۴ متصل کنید. همانند تصویر زیر

 


۲- کدهای MQTT برد Wemos


 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر ویژه شوید.

 


۳- نرم افزار اینترنت اشیا Node Red


تنظیمات نرم افزار Node Red

ابتدا نود MQTT را وارد محیط نودرد میکنیم. سپس یک نود دیباگ را وارد محیط میکنیم. سپس بر روی MQTT دبل کلیک میکنیم. پنجره تنظیمات باز میشود. اولین گزینه Add new mqtt-broker را انتخاب میکنیم. در این پنجره تنظیمات اصلی سرور و کلاینت آی دی و تنظیمات پیشرفته تر دیگری وجود دارند. در قسمت Topic عنوانی را که در کدها زیر client.subscribe قرار دارد؛ را همانند تصویر زیر وارد میکنیم.

MQTT-with-esp8266-Wemos-d1-Mini--digispark

 

سپس Deploy میکنیم. حالا در قسمت Debug پیغام Salam Doostan را که در کدهای آردوینو وارد کرده‌ایم، میبینم. در این حالت اگر پنجره سریال را در نرم افزار آردوینو باز کنیم، همین پیغام مشاهده میشود.

 

تنظیمات نود MQTT Publisher

نود MQTT در حالت پابلیشر یا نود خروجی یا نود منتشر کننده اطلاعات ورودی را به سمت سرور ارسال می‌کند. این نود را وارد صفحه می‌کنیم و دو نود UI که من از نودهای Switch استفاده کرده‌ام. وارد صفحه می‌کنیم و همانند تصویر زیر اتصال می‌دهیم. حالا یک نود دیباگ Debug هم به برنامه اضافه می‌کنیم. دقت داشته باشید که می‌توانید تنظیمات اضافی ماننده اسم و رنگ به نودهای UI اضافه کنید. سپس Deploy کنید. حالا می‌توانید از محیط گرافیکی نود رد با تغییر وضعیت دکمه‌ها، ال ای دی را مدیریت کنید. به این روش از راه دور با برد اینترنت اشیاء بر پایه ESP8266 و نرم افزار نود رد Node red میتوانیم وسایل برقی را مدیریت کنیم.

نکته بسیار مهم، در ارتباط MQTT قسمت Topic بسیار اهمیت دارد. این تاپیک باید در نود فرستنده و نود گیرنده و دستگاهی که به سرور اطلاعات ارسال میکند، یکسان باشد. در غیر این صورت دچار ارور خواهید شد. در ادامه نودهای UI را جهت مدیریت پروژه به صورت گرافیکی را همانند تصویر به پنل اضافه می‌کنیم. با این روش میتوانید دکمه و آیکون برای مدیریت تعریف کنید.

MQTT-with-esp8266-Wemos-d1-Mini-UI-digispark

 

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

 

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک و دانشجوکیت  و digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۰۳۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. در حال حاضر مدیریت تولید مقطع کارشناسی ارشد هستم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۸ دیدگاه