پایشگر آب و هوا و کنترل از طریق MQTT با نرم افزار IOT Dashboard
در این پست به بررسی نحوه ساخت یک پایشگر آب و هوا با استفاده از میکروپایتون بر ESP32 با استفاده از پروتکل ارتباطی MQTT می نماییم و داده های نمایشی را از طریق اپلیکیشن مربوطه با استفاده از ویجت های مخصوص به نمایش در می آوریم و سپس با استفاده از کلید و سویچ بورد را کنترل می نماییم.
برای درک بهتر می توانید به رپو مربوطه مراجعه نمایید:
پروتکل MQTT چیست؟
پروتکل MQTT یک پروتکل پیام رسانی ساده است که برای دستگاههای با پهنای باند کم طراحی شده است.بنابراین راه حلی مناسب برای تبادل داده بین چندین دستگاه IoT است.ارتباطات MQTT به عنوان یک سیستم انتشار و دریافت (Publish و Subscribe) کار می کند. دستگاهها پیامهایی را درباره یک موضوع خاص(Topic) منتشر میکنند.و تمامی دستگاه ها و نرم افزار هایی که بر روی تاپیک مد نظر subscribe کرده باشند توانایی دیدن پیام مربوطه را پیدا خواهند کرد. البته این تعداد از دستگاه ها می تواند 1 عدد و یا بیشتر باشد بسته به تنظیمات در نظر گرفته شده در شاخص رفتاری ACL یا Access Control List در broker مربوطه.
مفاهیم اولیه MQTT
در MQTT چند مفهوم اساسی وجود دارد که باید آنها را درک کنید:
- Publish/Subscribe
- Messages
- Topics
- Broker
بروکر (MQTT – Broker)
یک Broker عامل میانی بین ارتباطات کلاینت ها است، به طوری که هر پیام ورودی را به گیرنده های خود مرتبط می کند و کار مدیریت کاربران و پیام ها را در سطوح مختلف بر عهده دارد. بروکر ها مدل های مختلفی دارند اعم از AMQP که خاصیت های مدیریتی و کنترل ترافیک بیشتری را می تواند داشته باشد.
برو کر های متعدد برای توسعه نرم افزار های اینترنت اشیا وجود دارد که موارد زیر جزو آن ها هستند.
- Mosquitto
- Mosca
- emqttd
- EMQ X
- Emitter
ارسال و دریافت (MQTT – Publish/Subscribe)
هر عاملی که می خواهد پیامی را ارسال کند عمل publish را انجام می دهد و هر عاملی که می خواهد دریافت داده را انجام دهد می بایتس قبل از آن خود را در بروکر اضافه کرده و بر روی یک تاپیک خاص گوش فرا دهد که به آن subscribe می گویند.
پیام (MQTT – Messages)
پیام ها اطلاعاتی هستند که می خواهید بین دستگاه های خود مبادله کنید. برای مثال میتواند پیامی مانند فرمان یا دادههایی مانند قرائت سنسور باشد.
تاپیک (MQTT – Topics)
تاپیک ها مانند تانل های ارتباطی هستند که زمانی که شما در هر تاپیک ثبت می شوید اجزا دریافت پیام و یا حتی ارسال بدون ثبت نام در آن را پیدا خواهید کرد.
استفاده در MicroPython
برای اینکه بتوانید از mqtt در میکروپایتون ساتفاده نمایید کتابخانه های متعدد وجود دارد اما برای راحتی عملکرد می خواهیم از umqtt استفاده کنیم. این کتابخانه می تواند به سرعت عملکرد لازم را جهت استفاده از mqtt برای شما فراهم نماید که می توانید در لینک زیر اطلاعات مربوط به این ماژول را بیابید:
micropython-lib/micropython/umqtt.simple at master · micropython/micropython-lib (github.com)
ثبت دیدگاه
دیدگاه کاربران (0)
دوره های من در مکتبخونه
آموزش طراحی فروشگاه با جنگو
- سطح: پیشرفته 5
آموزش جنگو پیشرفته
- سطح: پیشرفته 4.9
آموزش جنگو Django
- سطح: مقدماتی 4.6
آموزش شیءگرایی در پایتون
- سطح: متوسط 4.3
آموزش میکروپایتون در اینترنت اشیا
- سطح: متوسط 3.8
آخرین پست ها
انتقال پروژه Django از پلتفرم Liara به پلتفرم Hamravesh
- خوب رسیدیم به بخش ترسناکی که برای خیلی ها می تونه کابوس باشه اونم انتقال پروژه از یک پلتفرم به پلتفرم دیگه، اما با این ویدئو مسائل رو براتون خیلی…
- django 1403/05/28
پیاده سازی پروژه Django Channels (ASGI/Websocket) بر روی پلتفرم Hamravesh
- توی این ویدئو درباره نحوه پیاده سازی پروژه های ASGI در جنگو با استفاده از ماژول Channels و Daphne صحبت خواهم کرد و یک نمونه پروژه برای تست رو در…
- django 1403/05/19
پیاده سازی پروژه django بر روی پلتفرم Caprover به همراه Media
- توی این ویدئو نحوه پیاده سازی پروژه جنگو رو به صورت کامل بر روی پلتفرم caprover شرح دادم به طوری که یک پروژه قالب رو آماده سازی کردم و در…
- django 1403/05/15
آخرین دوره ها
آموزش برنامه نویسی Async در پایتون
- 0 61 دانشجو
آموزش ساخت ربات تلگرام با پایتون
-
500000 35000026 دانشجو
آموزش Arduino
- 0 135 دانشجو