{"id":2494,"date":"2024-04-10T19:01:33","date_gmt":"2024-04-10T14:01:33","guid":{"rendered":"https:\/\/yarat.uz\/?p=2494"},"modified":"2025-03-19T15:27:03","modified_gmt":"2025-03-19T10:27:03","slug":"mqtt-protokoli-yordamida-boshqaruv-18","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=2494","title":{"rendered":"MQTT protokoli yordamida boshqarish [18+]"},"content":{"rendered":"<p style=\"text-align: justify;\">MQQT protokoli orqali qurilmadan Wemos D1 mini platasiga ulangan analog datchik ma&#8217;lumotlarini olish uchun Arduinoning ichki &#8220;ArduinoMqttClient.h&#8221; bibliotekasi va Mosquitto brokeridan foydalanamiz. Biblioteka Arduino IDE ga o&#8217;rnatilganidan so&#8217;ng, &#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b&#8221; menyusida &#8220;<strong>ArduinoMqttClient<\/strong>&#8221; bo&#8217;limi paydo bo&#8217;ladi. Biz ushbu bo&#8217;limdagi &#8220;<strong>WiFiSimpleSender<\/strong>&#8221; (nashrchi rolida), &#8220;<strong>WiFiSimpleReceiver<\/strong>&#8221; (obunachi rolida) hamda ularning umumlashgan ko&#8217;rinishi &#8211; &#8220;<strong>WiFiEcho<\/strong>&#8221; (ham nashrchi ham obunachi rolida) namunaviy sketchlarining o&#8217;zimizga moslashtirilgan ko&#8217;rinishlaridan foydalanamiz (barcha sketchlarda &#8211; <strong>Mosquitto<\/strong> serveri broker vazifasini bajaradi). Lekin, yuqoridagi sketchlarga kichik o&#8217;zgartirishlar kiritamiz: sketchdagi mikrokontrollerdan WiFi tarmoqqa ulanish qismini alohida funksiya tarzida ifodalangan, o&#8217;zimizga tanish bo&#8217;lgan ko&#8217;rinishga keltiramiz, shuningdek, yuboriladigan ma&#8217;lumot sifatida termistor ko&#8217;rsatkichlaridan foydalanamiz.<\/p>\n<p style=\"text-align: justify;\">Yana bir (4-) misolda esa, Wemos D1 mini platasiga raqamli DHT11 termodatchigini ulaymiz va uning ko&#8217;rsatkichlarini brokerga yuboramiz, shuningdek, yuboriladigan xabar yordamida platadagi ichki svetodiodni boshqaramiz. Lekin biblioteka sifatida &#8220;knolleary&#8221; muallifligidagi universal bibliotekadan foydalanamiz. Har doimgidek, yangi tushunchalar izohlab boriladi.<strong><br \/>\n<\/strong><\/p>\n<p style=\"text-align: justify;\"><em>1-misol.<\/em> Wemos D1 mini platasiga ulangan NTC-termorezistor (termistor) ko&#8217;rsatkichini aniqlab, MQTT brokerga yuboramiz. Ya&#8217;ni, Arduino qurilmasi &#8211; nashrchi rolini bajaradi. Obunachi sifatida esa, <strong>&#8220;<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.doikov.mqttclient&amp;hl=ru\">MQQT Dashboard client<\/a>&#8220;<\/strong> nomli tayyor mobil ilovadan foydalanamiz (shunga o&#8217;xshash boshqa ilovalardan ham foydalanish mumkin). Ilovani Google Play Marketdan yuklab olamiz va unga MQQT-broker sozlamalarini kiritamiz:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2521 size-medium\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_dashboard-186x300.jpg\" alt=\"\" width=\"186\" height=\"300\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_dashboard-186x300.jpg 186w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_dashboard-636x1024.jpg 636w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_dashboard.jpg 720w\" sizes=\"auto, (max-width: 186px) 100vw, 186px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><em>Kerakli materiallar:<\/em><\/p>\n<p><em>1) Wemos D1 mini, maket platasi, USB-kabel, o&#8217;tkazgichlar;<\/em><br \/>\n<em>2) termistor;<\/em><br \/>\n<em>3) rezistor 10 kOm.<\/em><\/p>\n<p><em>Sxema:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2519 size-medium\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb-300x278.jpg\" alt=\"\" width=\"300\" height=\"278\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb-300x278.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb.jpg 618w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<pre><code><\/code><\/pre>\n<p style=\"text-align: justify;\">Natijani port monitori (yuborilayotgan xabarni ko&#8217;rish uchun) va <strong>&#8220;MQQT Dashboard client&#8221;<\/strong> nomli tayyor mobil ilovada kuzatamiz:<\/p>\n<p style=\"text-align: justify;\"><div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/x43Se7FXfxM?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"MQQT universal app\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><em>2-misol.<\/em> MQTT nashrchidan broker orqali yuborilgan ma&#8217;lumotlarni Wemos D1 mini platasi orqali qabul qilib, portga chiqaramiz, shu bilan birga, qabul qilingan ma&#8217;lumotdagi buyruq kodi yordamida ichki svetodiodni boshqaramiz. Ya&#8217;ni, ushbu holda Arduino qurilmasi &#8211; obunachi rolini bajaradi. Boshqaruv buyruqlarini yana &#8220;MQQT Dashboard client&#8221; universal mobil ilovasi yordamida yuboramiz.<\/p>\n<p><em>Kerakli materiallar:<\/em><\/p>\n<p>1) <em>Wemos D1 mini, maket platasi, USB-kabel.<\/em><br \/>\n<em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natija:<\/em><\/p>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/OEVtDtWmFY0?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"MQQT universal app\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><em>3-misol.<\/em> Wemos D1 mini platasiga ulangan NTC-termorezistor (termistor) ko&#8217;rsatkichini aniqlab, MQTT brokerga yuboramiz. Shuningdek, MQTT nashrchidan broker orqali yuborilgan ma&#8217;lumotlarni plata orqali qabul qilib, portga chiqaramiz va qabul qilingan ma&#8217;lumotdagi buyruq kodi yordamida ichki svetodiodni boshqaramiz. Ya&#8217;ni, ushbu holda Arduino qurilmasi &#8211; ham nashrchi, ham obunachi rolini bajaradi. Natijalarni kuzatish uchun yana yuqoridagi universal mobil ilovadan (2-obunachi rolida) foydalanamiz.<\/p>\n<p><em>Kerakli materiallar:<\/em><\/p>\n<p>1) <em>Wemos D1 mini, maket platasi, USB-kabel.<\/em><br \/>\n<em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natija:<\/em><\/p>\n<p style=\"text-align: justify;\"><div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/X35vy5JmAmM?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"MQQT universal app\"><\/iframe><\/div>\n<p style=\"text-align: justify;\">Oxirgi sketch ishga tushirish natijasini kuzatganda, ba&#8217;zida platadagi ichki svetodiod o&#8217;zidan-o&#8217;zi ham o&#8217;chib-yonayotganini kuzatish mumkin. Bu &#8211; tabiiy hol, chunki &#8220;WifiEcho&#8221; sketchiga deyarli qo&#8217;shimcha kiritilmagan va qabul qilingan termistor ko&#8217;rsatkichlarida ham &#8220;0&#8221; va &#8220;1&#8221; raqamlari uchrashi mumkin hamda ular ham buyruq sifatida qabul qilinishi mumkin. Bunday holning oldini olish uchun sketchga, xabar matnini tahlil qilib, svetodiodni faqat maxsus buyruq kodi asosida boshqarishga mo&#8217;ljallangan tegishli qo&#8217;shimchalarni kiritish zarur bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\"><em>4-misol.<\/em> Wemos D1 mini platasi D2 piniga ulangan DHT11 datchigi ko&#8217;rsatkichlarini tayyor universal MQQT-ilova va o&#8217;zimiz yaratadigan oddiy mobil ilova orqali kuzatamiz, shuningdek, ilovalardan yuborilgan buyruq yordamida ichki svetodiodni boshqaramiz. Ya&#8217;ni, Arduino qurilmasi &#8211; ham nashrchi, ham obunachi rolini bajaradi.<\/p>\n<p style=\"text-align: justify;\">O&#8217;zimiz Mit App Inventor vositasi yordamida yaratadigan mobil ilova tashqi ko&#8217;rinishi va blokli kodi quyidagicha bo&#8217;ladi (Mit App Inventorda MQQT-brokerlar bilan ishlash bo&#8217;yicha ichki vosita va bloklar mavjud bo&#8217;lmaganligi sababli, Internetdan <strong>&#8220;UrsPahoMqqtClient&#8221;<\/strong> nomli tashqi kengaytmani yuklab, qo&#8217;shib olamiz. Kengaytma dastur oynasining chap tomonidagi &#8220;Extension&#8221; bo&#8217;limiga qo&#8217;shiladi):<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2610 size-large\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app1-1024x658.jpg\" alt=\"\" width=\"640\" height=\"411\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app1-1024x658.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app1-300x193.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app1-768x494.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app1.jpg 1268w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2611 size-large\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app2-1024x654.jpg\" alt=\"\" width=\"640\" height=\"409\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app2-1024x654.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app2-300x191.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app2-768x490.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/mqqt_app2.jpg 1280w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><br \/>\n<em>Kerakli materiallar:<\/em><\/p>\n<p><em>1) Wemos D1 mini, maket platasi, USB-kabel, o&#8217;tkazgichlar;<\/em><br \/>\n<em>2) DHT11 termodatchigi.<\/em><br \/>\n<em>Sxema:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2290 size-medium\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/wemos_dht11_bb-e1711018992877-255x300.jpg\" alt=\"\" width=\"255\" height=\"300\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/wemos_dht11_bb-e1711018992877-255x300.jpg 255w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/03\/wemos_dht11_bb-e1711018992877.jpg 574w\" sizes=\"auto, (max-width: 255px) 100vw, 255px\" \/><br \/>\n<em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p style=\"text-align: justify;\"><em>Natija: <\/em><br \/>\n<em>1) Tayyor universal MQQT-ilova yordamida boshqarish (<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.doikov.mqttclient&amp;hl=ru\">yuklab olish<\/a>):<\/em><br \/>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/bS9eELQwh7U?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"MQQT universal app\"><\/iframe><\/div>\n<em>2) O&#8217;zimiz yaratgan oddiy mobil ilova yordamida boshqarish (<a href=\"https:\/\/disk.yandex.uz\/d\/P3-plSlvmTRNxw\">yuklab olish<\/a>):<\/em><br \/>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/D7KYVl9mbfk?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"MQQT simple app\"><\/iframe><\/div>\n<p style=\"text-align: center;\"><em>Mustahkamlash topshiriqlari:<\/em><\/p>\n<p style=\"text-align: justify;\"><em>1) Yuqoridagi 1-misol sketchiga termistor qiymatlari asosida haroratni aniqlash kodini qo&#8217;shing va mobil ilovada termistor qiymatlari bilan birga haroratni ham kuzating.<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><em>2)<\/em> <em>Yuqoridagi 2-misol sketchiga o&#8217;zgartirishlar kiritib, uni 4 ta raqamli pinni boshqarishga moslashtiring.<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><em>3) Yuqoridagi 3-misol sketchiga o&#8217;zgartirishlar kiritib, uni 1 ta analog, 1 ta raqamli termodatchik qiymatlarini yuborishga, shuningdek 2 ta raqamli pinni boshqarishga moslashtiring.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>4) Yuqoridagi 4-sketchga o&#8217;zgartirishlar kiritib,\u00a0<\/em> <em>uni 1 ta analog, 1 ta raqamli termodatchik qiymatlarini yuborishga va shuningdek 2 ta raqamli pinni boshqarishga moslashtiring. Shuningdek, natijalarni kuzatish uchun 4-misolda keltirilgan mobil ilovaga ham tegishli o&#8217;zgartirishlarni kiriting.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>5) Yuqoridagi sketchdan foydalanib ushbu dars mavzusiga doir shaxsiy o&#8217;quv loyihasi taklifini bering va uni amalda bajaring, uning videosini tayyorlang (muvaffaqiyatli unikal loyihalar videosiga havolalar o&#8217;quvchining nomidan saytning shu joyiga joylashtirib boriladi).<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MQQT protokoli orqali qurilmadan Wemos D1 mini platasiga ulangan analog datchik ma&#8217;lumotlarini olish uchun Arduinoning ichki &#8220;ArduinoMqttClient.h&#8221; bibliotekasi va Mosquitto brokeridan foydalanamiz. Biblioteka Arduino IDE ga o&#8217;rnatilganidan so&#8217;ng, &#8220;\u041f\u0440\u0438\u043c\u0435\u0440\u044b&#8221; menyusida &#8220;ArduinoMqttClient&#8221; bo&#8217;limi paydo bo&#8217;ladi. Biz ushbu bo&#8217;limdagi &#8220;WiFiSimpleSender&#8221; (nashrchi rolida), &#8220;WiFiSimpleReceiver&#8221; (obunachi rolida) hamda ularning umumlashgan ko&#8217;rinishi &#8211; &#8220;WiFiEcho&#8221; (ham nashrchi ham obunachi rolida) namunaviy [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-2494","post","type-post","status-publish","format-standard","hentry","category-namunaviy-sketchlar"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/2494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2494"}],"version-history":[{"count":68,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/2494\/revisions"}],"predecessor-version":[{"id":5131,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/2494\/revisions\/5131"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}