{"id":5089,"date":"2025-01-24T03:57:30","date_gmt":"2025-01-23T22:57:30","guid":{"rendered":"https:\/\/yarat.uz\/?p=5089"},"modified":"2025-01-25T21:58:46","modified_gmt":"2025-01-25T16:58:46","slug":"wifi-modem-tushunchasi-va-at-buyruqlar-18","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=5089","title":{"rendered":"WiFi-modem tushunchasi va AT-buyruqlar [18+]"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>WiFi-modem va AT-buyruqlar.<\/strong><\/p>\n<p style=\"text-align: justify;\">Ma&#8217;lumki, WiFi orqali boshqaruvni soddalashtirish uchun tayyor bibliotekalar hamda ularning funksiya, klass hamda metodlaridan foydalaniladi. Bundan tashqari turli bog&#8217;lanish protokollarining har biri uchun ham alohida bibliotekalar mavjud. Biz ham asosan darslar davomida shunday bibliotekalardan foydalanib, turli protokollar yordamida boshqarish jarayonlarini ko&#8217;rib chiqamiz.<\/p>\n<p style=\"text-align: justify;\">Biroq WiFi orqali bibliotekalar yordamida boshqaruv bo&#8217;limiga o&#8217;tishdan avval, mikrokontrollerning modem sifatidagi roli haqida qisqacha to&#8217;xtalib o&#8217;tamiz. Chunki, masofadan boshqarish uchun AVR, STM va boshqa mikrokontrollerlar asosida yaratiladigan loyihalarda aynan modem rolidagi boshqa mikrokontrollerlardan bog&#8217;lanish interfeysi sifatida foydalaniladi.<\/p>\n<p style=\"text-align: justify;\">Oxirgi yillarda Internet orqali boshqaruv va IoT loyihalarini yaratishda mikrokontrollerlar orasida yetakchi o&#8217;rinni Expressif Systems kompaniyasining ESP8266 hamda ESP32 oilasidagi mikrokontrollerlari egallab kelmoqda. Ularning ilgari ma&#8217;lum qilingan qulayliklaridan tashqari yana bir afzalligi &#8211; ulardan IoT loyihalarini yaratishda keng foydalanilish mumkinligi hisoblanadi.<\/p>\n<p style=\"text-align: justify;\">Asosiy mikrokontrollerdan axborotni uzatish uchun ularning kerakli pinlari WiFi-modemning RX va TX pinlaridaga ulanadi, ESPning boshqa pinlaridan umuman foydalanilmaydi. Shuning uchun, ko&#8217;p hollarda pinlari soni cheklangan ESP01 kabi arzon modullaridan foydalanish optimal variant hisoblanadi.<\/p>\n<p style=\"text-align: justify;\">Modem rejimida foydalanish uchun ESP mikrokontrolleriga AT-buyruqlar bilan ishlashga mo&#8217;ljallangan maxsus proshivkaning <a href=\"https:\/\/www.espressif.com\/en\/products\/socs\/esp8266ex\/resources\">oxirgi versiyasi<\/a> oldindan yozilgan bo&#8217;lishi kerak (odatda, zavod tomonidan ularga aynan shunday proshivka yozilgan bo&#8217;ladi, uni kompyuterga Internetdan yuklab olish va &#8220;Flash download tool&#8221; yoki boshqa proshivkalash dasturi yordamida ESP platasiga yuklash mumkin). AT-buyruqlar soni ortishi va qo&#8217;shimcha imkoniyatlar yuzaga kelishi bilan, zaruratga qarab proshivkani ham yangilab borishga to&#8217;g&#8217;ri kelishi mumkin.<\/p>\n<p style=\"text-align: justify;\">Proshivka dastlab ishga tushirilganda port ma&#8217;lumot almashish tezligi <strong>74880<\/strong> bodga o&#8217;tkazib olinsa, dastlabki ma&#8217;lumotni o&#8217;qish mumkin.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5110\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start1.png\" alt=\"\" width=\"897\" height=\"520\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start1.png 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start1-300x174.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start1-768x445.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: justify;\">WiFi-modemga AT-buyruqlarni bevosita Arduino IDE port monitori yoki boshqa terminal dasturlar yordamida ham yuborish mumkin. Dasturlash yo&#8217;li bilan yuborish uchun esa, AT-buyruqlar asosiy mikrokontroller uchun yaratiladigan sketch kodida ko&#8217;rsatib ketiladi. Asosiy mikrokontroller va WiFi-modemni bog&#8217;lash uchun bevosita ularning RX\/TX portlaridan yoki asosiy mikrokontroller dasturida SoftwareSerial bibliotekasidan foydalanib hosil qilingan virtual portlardan foydalanish mumkin.<\/p>\n<p style=\"text-align: justify;\">Yuqoridagilardan kelib chiqib, biz amaliyotda o&#8217;zimiz tez-tez qo&#8217;llaydigan buyruqlar bilan qoisqacha tanishamiz. Barcha AT-buyruqlar ro&#8217;yxati va ularning vazifasi bilan tanishish uchun <a href=\"https:\/\/www.espressif.com\/sites\/default\/files\/documentation\/4a-esp8266_at_instruction_set_en.pdf\">ushbu<\/a>, <a href=\"https:\/\/docs.espressif.com\/projects\/esp-at\/en\/release-v2.2.0.0_esp32c3\/Get_Started\/index.html\">ushbu<\/a>, <a href=\"https:\/\/microsin.net\/adminstuff\/hardware\/esp8266-at-commands-reference.html?ysclid=m6255gpl4484518273\">ushbu<\/a>,\u00a0<a href=\"https:\/\/microsin.net\/adminstuff\/hardware\/esp8266-at-commands-reference.html?ysclid=m6255gpl4484518273\">ushbu<\/a> yoki <a href=\"https:\/\/esp8266.ru\/esp8266-at-commands-v021\/\">ushbu<\/a> (rus tilida) havolalardan foydalanish mumikin (ESP8266 va ESP32 uchun ayrim buyruqlar farq qiladi).<\/p>\n<p style=\"text-align: justify;\">Buyruqlar 4 xil rejimda qo&#8217;llaniladi (aksariyat buyruqlar uchun): 1) <strong>sinov<\/strong> rejimi (&#8220;=?&#8221; bilan), masalan &#8220;AT+CMD=?&#8221; kabi; 2) <strong>so&#8217;rov<\/strong> rejimi (&#8220;?&#8221; bilan), masalan &#8220;AT+CMD?&#8221; kabi; 3) <strong>sozlamani o&#8217;rnatish<\/strong> (&#8220;=&#8221; bilan), masalan &#8220;AT+CMD=&lt;&gt;&#8221; kabi; 4) <strong>bajarish<\/strong> (parametrsiz), masalan &#8220;AT+CMD&#8221; kabi.<br \/>\nPort tezligi 115000 bod qiymatiga o&#8217;rnatilgan bo&#8217;lishi kerak.<\/p>\n<p style=\"text-align: justify;\"><strong>AT<\/strong> &#8211; WiFi modul ishga tushganligini tekshirish;<br \/>\n<strong>AT+RST<\/strong> &#8211; modulni qayta yuklash;<br \/>\n<strong>AT+GMR<\/strong> &#8211; modul proshivkasi versiyasini ko&#8217;rish;<br \/>\n<strong>ATE&lt;rejim&gt;<\/strong> &#8211; &#8220;Exo&#8221; rejimini ulash (ATE1) yoki uzish ATE0;<br \/>\n<strong>AT+GSLP<\/strong> &#8211; &#8220;chuqur uyqu&#8221; rejimiga o&#8217;tish;<strong><br \/>\nAT+CWMODE<\/strong> -WiFi rejimini tanlash (STA &#8211; stansiya, AP &#8211; kirish nuqtasi, AP+STA &#8211; har ikki rejimni birdaniga qo&#8217;llash);<br \/>\n<strong>AT+CWJAP<\/strong> &#8211; AP rejimida tarmoq hosil qilish;<br \/>\n<strong>AT+CWLAP<\/strong> &#8211; WiFi-tarmoqlarni (kirish nuqtalarini) izlash;<br \/>\n<strong>AT+CWSAP\u00a0<\/strong>&#8211; AP parametrlarini o&#8217;rnatish;<strong><br \/>\nAT+CIPSEND<\/strong> &#8211; yuborilayotgan ma&#8217;lumot miqdorini ko&#8217;rsatish (baytlar soni), agar CIPMUX=1 bo&#8217;lsa, bog&#8217;lanish ID si va baytlar soni ko&#8217;rsatiladi;<br \/>\n<strong>AT+CIFSR<\/strong> &#8211; lokal IP-manzilni olish;<br \/>\n<strong>AT+CIPSERVER\u00a0<\/strong>&#8211; veb-serverni ishga tushirish;<br \/>\n<strong>AT+CIPSTART<\/strong> &#8211; TCP rejimida bog&#8217;lanish yoki UDP rejimida portni ko&#8217;rsatish;<br \/>\n<strong>AT+CIPCLOSE<\/strong> &#8211; TCP yoki UDP bog&#8217;lanishini yakunlash (uzilish);<br \/>\n<strong>AT+CIUPDATE<\/strong> &#8211; proshivkani tarmoq orqali yangilash.<\/p>\n<p style=\"text-align: justify;\">va hokazo.<strong><br \/>\n<\/strong><\/p>\n<p style=\"text-align: justify;\">Quyida ayrim AT-buyruqlarning bajarilishini bevosita port monitoriga kiritish orqali ko&#8217;rib chiqamiz. Port monitorini ochamiz va AT-buyruqlar bilan ishlash uchun port tezligini <strong>115200<\/strong> bodga va xabarni yakunlash rejimini &#8220;NL &amp; CR&#8221; ga o&#8217;tkazib olamiz. Agar proshivka to&#8217;g&#8217;ri yozilgan bo&#8217;lsa, mikrokontroller ishga tushirilganda port monitorida tushunarsiz yozuvlar (bu yozuvlar faqat 74480 tezligida to&#8217;g&#8217;ri ko&#8217;rsatiladi) va oxirgi qatorda &#8220;ready&#8221; yozuvi ko&#8217;rsatiladi. Shundan keyin quyidagi buyruqlarni ketma-ket kiritamiz va natijalarni kuzatamiz:<\/p>\n<p style=\"text-align: justify;\"><strong>AT<\/strong> &#8211; modulni dastlabki tekshiruv (OK javobini kutamiz. Xatolik yuz bersa, port tezligi yoki rejimi noto&#8217;g&#8217;ri o&#8217;rnatilgan bo&#8217;lishi yoki mikrokontrollerga mos kelmagan proshivka yozilganligini bildiradi). &#8220;OK&#8221; yozuvi qaytarilishi kerak;<br \/>\n<strong>AT+CWMODE=1<\/strong> &#8211; modulni stansiya (STA) rejimiga o&#8217;tkazish. &#8220;OK&#8221; yozuvi qaytarilishi kerak;<br \/>\n<strong> AT+CWJAP=&#8221;Ofis&#8221;,&#8221;12345678&#8243;<\/strong> &#8211; ko&#8217;rsatilgan parametrlar (SSID va parol) asosida modulni tegishli kirish nuqtasiga yoki routerga bog&#8217;lash. Ulanish muvaffaqiyatli bo&#8217;lsa, modulga router tomonidan IP manzil ajratiladi va ulanish haqida hisobot beriladi, oxirida &#8220;OK&#8221; yozuvi qaytariladi;<br \/>\n<strong>AT+CIFSR<\/strong> &#8211; modulning IP-manzili va MAC-manzilini ko&#8217;rish. Oxirida &#8220;OK&#8221; yozuvi qaytarilishi kerak.<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-5109\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start2.png\" alt=\"\" width=\"897\" height=\"416\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start2.png 897w, https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start2-300x139.png 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/start2-768x356.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/p>\n<p style=\"text-align: justify;\">Quyidagi misolda esa, WiFi-modemga AT-buyruqlarni asosiy mikrokontroller uchun yaratiladigan sketch kodida ko&#8217;rsatib ketamiz. Buning uchun sketchda SoftwareSerial bibliotekasidan foydalanamiz.<\/p>\n<p><em>Kerakli materiallar:<\/em><\/p>\n<p>1) Arduino UNO (asosiy mikrokontroller) + USB-kabel + o&#8217;tkazgichlar to&#8217;plami;<br \/>\n2) ESP01 moduli (modem);<br \/>\n3) rezistorlar &#8211; 1 kOm (1 ta) va 2 kOm (1 ta).<\/p>\n<p style=\"text-align: justify;\">Oxirgi 2 ta rezistorlar &#8220;kuchlanishni bo&#8217;lgich&#8221; rolini bajaradi. Natijada, Arduino UNO TX pinidan chiquvchi kuchlanish maksimal qiymati 5V dan 3,3V gacha pasayadi va ESP01 moduli RX pinining ishdan chiqish ehtimoli yo&#8217;qoladi.<\/p>\n<p><em>Sxema:<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5113 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/esp01-wifi-modem.jpg\" alt=\"\" width=\"533\" height=\"323\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/esp01-wifi-modem.jpg 533w, https:\/\/yarat.uz\/wp-content\/uploads\/2025\/01\/esp01-wifi-modem-300x182.jpg 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/p>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>WiFi-modem va AT-buyruqlar. Ma&#8217;lumki, WiFi orqali boshqaruvni soddalashtirish uchun tayyor bibliotekalar hamda ularning funksiya, klass hamda metodlaridan foydalaniladi. Bundan tashqari turli bog&#8217;lanish protokollarining har biri uchun ham alohida bibliotekalar mavjud. Biz ham asosan darslar davomida shunday bibliotekalardan foydalanib, turli protokollar yordamida boshqarish jarayonlarini ko&#8217;rib chiqamiz. Biroq WiFi orqali bibliotekalar yordamida boshqaruv bo&#8217;limiga o&#8217;tishdan avval, mikrokontrollerning [&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-5089","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\/5089","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=5089"}],"version-history":[{"count":7,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/5089\/revisions"}],"predecessor-version":[{"id":5115,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/5089\/revisions\/5115"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}