20.04.2026

UDP protokoli yordamida boshqaruv [18+]

Quyidagi misollarda UDP protokoli yordamida yuqori tezlikda ma’lumot almashish, xususan, bir mikrokontrollerga ulangan tugma yordamida boshqa mikrokontroller svetodiodini boshqarish, shuningdek, datchik ko’rsatkichlarini tezkor yuborish jarayonlarini ko’rib chiqamiz.

1-misol. Ko’plab oldingi darslardagidek, Wemos D1 mini svetodiodini boshqa shunday plataga ulangan tugma yordamida boshqarish, shuningdek, birinchi platadan yuborilgan datchik ko’rsatkichlarini ikkinchisida qabul qilib, portga chiqarish vazifalarini bajaruvchi sketchlarga (2-3-misollar) o’tishdan oldin, ESP8266 mikrokontrollerlari uchun mo’ljallangan “udp.h” standart bibliotekasi asosidagi namunaviy sketch bilan tanishamiz.  Buning uchun Arduino IDE dasturi “/Примеры/ESP8266WiFi/Udp” menyusidagi “Udp” namunaviy sketchini ishga tushiramiz (ayrim o’zgarishlar va izohlar kiritilgan).

Ushbu sketchning vazifasi udp-server rolidagi mikrokontrollerga UDP protokoli yordamida ma’lum bir port orqali kiruvchi UDP-paketlarni o’qish va tegishli hisobot xabarini udp-mijozga qaytarish hisoblanadi. Udp-mijoz sifatida “UDP-TCP-REST-Network utility” 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’rdsatiladi. Agar, mobil ilovada chiquvchi xabar sifatida faqat “1” yoki “0” raqamlarini yuborish orqali, udp-server mikrokontrolleri ichki svetodiodini boshqarish mumkin. Mustaqil yaratilgan mobil ilovadan boshqaruv uchun esa, kerakli UDP-server IP-manzili kiritilib “ON” yoki “OFF” tugmalarini bosish yetarli.

Yangi mobil ilovaning MIT App Inventor platformasidagi tashqi ko’rinishi va blokli kodi quyidagich bo’ladi:

Qabul qiluvchida faqat Wemos D1 mini platasidan foydalanilganligi uchun sxema keltirilmaydi.

Sketch (“UDP-receiver”, tahrirlangani):

Natija:

Universal mobil ilova yordamida boshqaruv:

Yangi mobil ilova yordamida boshqaruv:

2-misol. Ushbu misolda bir mikrokontrollerdan (yuqoridagi udp-serverdan) boshqa mikrokontrollerga (udp-mijozga) termistor ko’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’rsatib qo’yiladi.

1-sxema. “UDP-receiver” (qabul qiluvchi, ijrochi) sketchi uchun. R1 va R2 rezistorlar o’rni almashtirilishi bizning misolda ahamiyatga ega emas.

2-sxema. “UDP-sender” (boshqaruvchi) sketchi uchun:

Sketch (“UDP-sender”, tahrirlangani):

Natija:

Bu yerda 3 xonali raqamlar – qabul qiluvchi (server)dagi termistor ko’rsatkichlarini, “1” va “0” – undagi ichki svetodiod holatini bildiradi.

Добавить комментарий