{"id":4852,"date":"2024-12-20T01:47:36","date_gmt":"2024-12-19T20:47:36","guid":{"rendered":"https:\/\/yarat.uz\/?p=4852"},"modified":"2025-01-16T13:23:11","modified_gmt":"2025-01-16T08:23:11","slug":"ichki-tarmoqda-udp-protokoli-yordamida-boshqaruv-18","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=4852","title":{"rendered":"UDP protokoli yordamida boshqaruv [18+]"},"content":{"rendered":"<p style=\"text-align: justify;\">Quyidagi misollarda UDP protokoli yordamida yuqori tezlikda ma&#8217;lumot almashish, xususan, bir mikrokontrollerga ulangan tugma yordamida boshqa mikrokontroller svetodiodini boshqarish, shuningdek, datchik ko&#8217;rsatkichlarini tezkor yuborish jarayonlarini ko&#8217;rib chiqamiz.<\/p>\n<p style=\"text-align: justify;\">1-misol. Ko&#8217;plab oldingi darslardagidek, Wemos D1 mini svetodiodini boshqa shunday plataga ulangan tugma yordamida boshqarish, shuningdek, birinchi platadan yuborilgan datchik ko&#8217;rsatkichlarini ikkinchisida qabul qilib, portga chiqarish vazifalarini bajaruvchi sketchlarga (2-3-misollar) o&#8217;tishdan oldin, ESP8266 mikrokontrollerlari uchun mo&#8217;ljallangan &#8220;udp.h&#8221; standart bibliotekasi asosidagi namunaviy sketch bilan tanishamiz.\u00a0 Buning uchun Arduino IDE dasturi &#8220;<strong>\/\u041f\u0440\u0438\u043c\u0435\u0440\u044b\/ESP8266WiFi\/Udp<\/strong>&#8221; menyusidagi &#8220;<strong>Udp<\/strong>&#8221; namunaviy sketchini ishga tushiramiz (ayrim o&#8217;zgarishlar va izohlar kiritilgan).<\/p>\n<p style=\"text-align: justify;\">Ushbu sketchning vazifasi udp-server rolidagi mikrokontrollerga UDP protokoli yordamida ma&#8217;lum bir port orqali kiruvchi UDP-paketlarni o&#8217;qish va tegishli hisobot xabarini udp-mijozga qaytarish hisoblanadi. Udp-mijoz sifatida &#8220;UDP-TCP-REST-Network utility&#8221; nomli universal mobil ilovadan va mustaqil yaratiladigan mobil ilovadan foydalanamiz. Universal mobil ilovaning UDP rejimida Wemos D1 mini platasi (mikrokontroller)ga IP-manziliga xabar yuboramiz, mikrokontrollerda qabul qilingan xabarni port monitoriga chiqaramiz. Udp-server mikrokontroller IP-manzili sketchni ishga tushirilganidan keyin port manzilida ko&#8217;rdsatiladi. Agar, mobil ilovada chiquvchi xabar sifatida faqat &#8220;1&#8221; yoki &#8220;0&#8221; raqamlarini yuborish orqali, udp-server mikrokontrolleri ichki svetodiodini boshqarish mumkin. Mustaqil yaratilgan mobil ilovadan boshqaruv uchun esa, kerakli UDP-server IP-manzili kiritilib &#8220;ON&#8221; yoki &#8220;OFF&#8221; tugmalarini bosish yetarli.<\/p>\n<p>Yangi mobil ilovaning MIT App Inventor platformasidagi tashqi ko&#8217;rinishi va blokli kodi quyidagich bo&#8217;ladi:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4869\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock1.png\" alt=\"\" width=\"950\" height=\"639\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock1.png 950w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock1-300x202.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock1-768x517.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4870\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock2.png\" alt=\"\" width=\"950\" height=\"639\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock2.png 950w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock2-300x202.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp_ardublock2-768x517.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><\/p>\n<p>Qabul qiluvchida faqat Wemos D1 mini platasidan foydalanilganligi uchun sxema keltirilmaydi.<\/p>\n<p><em>Sketch (&#8220;UDP-receiver&#8221;, tahrirlangani):<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natija:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4861\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-receiver.png\" alt=\"\" width=\"897\" height=\"352\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-receiver.png 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-receiver-300x118.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-receiver-768x301.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p>Universal mobil ilova yordamida boshqaruv:<\/p>\n<div class=\"epyt-video-wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_19437\"  width=\"800\" height=\"450\"  data-origwidth=\"800\" data-origheight=\"450\"  data-relstop=\"1\" src=\"https:\/\/www.youtube.com\/embed\/UNq0XYuhztE?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=0&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;hl=ru_RU&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" data-vol=\"25\"  title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div>\n<p>Yangi mobil ilova yordamida boshqaruv:<\/p>\n<div class=\"epyt-video-wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_53500\"  width=\"800\" height=\"450\"  data-origwidth=\"800\" data-origheight=\"450\"  data-relstop=\"1\" src=\"https:\/\/www.youtube.com\/embed\/0GxmbepZbbY?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=0&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;hl=ru_RU&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" data-vol=\"25\"  title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div>\n<p style=\"text-align: justify;\">2-misol. Ushbu misolda bir mikrokontrollerdan (yuqoridagi udp-serverdan) boshqa mikrokontrollerga (udp-mijozga) termistor ko&#8217;rsatkichlarini yuboramiz, ikkinchisida esa, qabul qilamiz. Shuningdek, udp-mijoz rolidagi mikrokontrollerdan viklyuchatelni yoki tugmani boshqarish orqali yuboriladigan xabar yordamida udp-serverdagi mikrokontroller ichki svetodiodini ham boshqaramiz. Bundan tashqari, har ikki mikrokontrollerlar orqali qabul qilingan xabarlarni port monitorida kuzatamiz. Bunda, udp-server IP-manzilini bevosita udp-mijoz sketchida ko&#8217;rsatib qo&#8217;yiladi.<\/p>\n<p style=\"text-align: justify;\"><em>1-sxema. &#8220;UDP-receiver&#8221; (qabul qiluvchi, ijrochi) sketchi uchun. R1 va R2 rezistorlar o&#8217;rni almashtirilishi bizning misolda ahamiyatga ega emas.<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2519 aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb.jpg\" alt=\"\" width=\"618\" height=\"572\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb.jpg 618w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/04\/wemos_termistor_bb-300x278.jpg 300w\" sizes=\"auto, (max-width: 618px) 100vw, 618px\" \/><\/p>\n<p><em>2-sxema. &#8220;UDP-sender&#8221; (boshqaruvchi) sketchi uchun:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4776 aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/wemos-viklyuchatel_bb-e1733315302989.jpg\" alt=\"\" width=\"613\" height=\"575\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/wemos-viklyuchatel_bb-e1733315302989.jpg 613w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/02\/wemos-viklyuchatel_bb-e1733315302989-300x281.jpg 300w\" sizes=\"auto, (max-width: 613px) 100vw, 613px\" \/><\/p>\n<p><em>Sketch (&#8220;UDP-sender&#8221;, tahrirlangani):<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natija:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4862 aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-sender.png\" alt=\"\" width=\"897\" height=\"352\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-sender.png 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-sender-300x118.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/12\/udp-sender-768x301.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: justify;\">Bu yerda 3 xonali raqamlar &#8211; qabul qiluvchi (server)dagi termistor ko&#8217;rsatkichlarini, &#8220;1&#8221; va &#8220;0&#8221; &#8211; undagi ichki svetodiod holatini bildiradi.<\/p>\n<div class=\"epyt-video-wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_60623\"  width=\"800\" height=\"450\"  data-origwidth=\"800\" data-origheight=\"450\"  data-relstop=\"1\" src=\"https:\/\/www.youtube.com\/embed\/OrBk-8irrJ4?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=0&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;hl=ru_RU&#038;theme=dark&#038;color=red&#038;controls=1&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" data-vol=\"25\"  title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Quyidagi misollarda UDP protokoli yordamida yuqori tezlikda ma&#8217;lumot almashish, xususan, bir mikrokontrollerga ulangan tugma yordamida boshqa mikrokontroller svetodiodini boshqarish, shuningdek, datchik ko&#8217;rsatkichlarini tezkor yuborish jarayonlarini ko&#8217;rib chiqamiz. 1-misol. Ko&#8217;plab oldingi darslardagidek, Wemos D1 mini svetodiodini boshqa shunday plataga ulangan tugma yordamida boshqarish, shuningdek, birinchi platadan yuborilgan datchik ko&#8217;rsatkichlarini ikkinchisida qabul qilib, portga chiqarish vazifalarini bajaruvchi [&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-4852","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\/4852","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=4852"}],"version-history":[{"count":18,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/4852\/revisions"}],"predecessor-version":[{"id":5027,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/4852\/revisions\/5027"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}