{"id":2896,"date":"2024-05-03T14:41:48","date_gmt":"2024-05-03T09:41:48","guid":{"rendered":"https:\/\/yarat.uz\/?p=2896"},"modified":"2025-03-19T15:28:22","modified_gmt":"2025-03-19T10:28:22","slug":"gsm-tarmogi-orqali-boshqaruvga-misollar-18","status":"publish","type":"post","link":"https:\/\/yarat.uz\/?p=2896","title":{"rendered":"GSM tarmog&#8217;i (SMS\/GPRS\/RING\/DTMF) orqali boshqaruv [18+]"},"content":{"rendered":"<p style=\"text-align: justify;\">Bevosita GSM tarmog&#8217;i orqali boshqaruvga doir misollarga o&#8217;tishdan oldin AT-buyruq tushunchasi bilan tanishib olamiz.<\/p>\n<p style=\"text-align: justify;\"><strong>AT-buyruqlar<\/strong> &#8211; yuboruvchi qurilmadan qabul qiluvchi qurilmaga (modemga) bog&#8217;lanish, uni sozlash yoki boshqarish uchun yuboriladigan buyruqlar to&#8217;plami. Ular har doim &#8220;AT&#8221; yoki &#8220;at&#8221; kodi bilan boshlanadi. Terminaldan yuborilayotgan har bir buyruq oxirida &#8220;Enter&#8221; klavishasi bosiladi, dasturiy kodidan yuborilayotganda esa, xabar oxirida &#8220;(char)26&#8221; kodi ham yuboriladi.<\/p>\n<p>AT-buyruqlar quyidagi usullarda qo&#8217;llanilishi mumkin:<\/p>\n<ul>\n<li style=\"text-align: justify;\"><b>AT<i>&lt;x&gt;&lt;n&gt;<\/i><\/b> yoki <b>AT&amp;<i>&lt;x&gt;&lt;n&gt;<\/i><\/b><i> &#8211; bazaviy buyruqlar (&lt;x&gt; &#8211; yuboriladigan buyruq, &lt;n&gt; &#8211; yuboriladigan parametr. Masalan, ATI &#8211; GSM-modul indentifikatsiya ma&#8217;lumotlarini ko&#8217;rish, AT&amp;V &#8211; modulning hozirgi konfiguratsiyasini ko&#8217;rish)<\/i><b><i><br \/>\n<\/i><\/b><\/li>\n<li style=\"text-align: justify;\"><b>ATS<i>&lt;i&gt;<\/i>=<i>&lt;m&gt;<\/i><\/b><i> &#8211; S parametrli buyruq (&lt;i&gt; &#8211; S registr indeksi, &lt;m&gt; &#8211; unga o&#8217;zlashtiriladigan qiymat. Masalan, &#8220;ATS0=2&#8221; &#8211; kiruvchi qo&#8217;ng&#8217;iroqqa 2 ta gudokdan keyin avtomatik javob berish, &#8220;ATS0&#8221; &#8211; umuman javob bermaslik kerakligi)<br \/>\n<\/i><\/li>\n<li style=\"text-align: justify;\"><strong>AT+&lt;x&gt;=? <\/strong>(ma&#8217;lumot olish)<strong>, AT+&lt;x&gt;? <\/strong>(ma&#8217;lumot olish)<strong>, AT+&lt;x&gt;=&lt;&#8230;&gt; <\/strong>(parametrni o&#8217;rnatish, saqlash)<strong>, AT+&lt;x&gt;<\/strong> (oddiy buyruq) &#8211; kengaytirilgan buyruqlar guruhi. Masalan, <b>AT+IPR=?<\/b> &#8211; AT+IPR buyrug&#8217;i bilan o&#8217;rnatish mumkin bo&#8217;lgan parametr qiymatlari ro&#8217;yxatini olish, <b>AT+IPR?<\/b> &#8211; o&#8217;rnatilgan qiymatni olish, <b>AT+IPR=<i>&lt;&#8230;&gt;<\/i><\/b> &#8211; yangi qiymatni o&#8217;rnatish.<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Bir nechta <strong>AT-buyruqlarni bitta xabar ko&#8217;rinishida birlashtirish<\/strong> mumkin, bunda AT yozuvi faqat xabar boshda 1 marta ko&#8217;rsatiladi. Har bir kengaytirilgan AT-buyruqlar oxirida &#8220;;&#8221; belgisi bilan ajratib qo&#8217;yilishi kerak (bazaviy va S turidagi buyruqlarda &#8220;;&#8221; belgisi ko&#8217;rsatilmaydi).<\/p>\n<p style=\"text-align: justify;\">Masalan, quyidagi xabarda <strong>ATV0<\/strong> (AT-buyruq javobini qisqa formatda qaytarish),\u00a0 <strong>ATE1<\/strong> (AT-buyruqlar exosini ulash), <strong>AT+DDET=1,0,1<\/strong> (DTMF ton yordamida boshqarish rejimini faollashtirish), <strong>AT+Q0S0=1<\/strong> (Natija kodini taqdim etish rejimini o&#8217;rnatish), <strong>AT+CLIP=1<\/strong> (qo&#8217;ng&#8217;iroqqa avtomatik javob berish rejimini faollashtirish), <strong>AT<\/strong><strong>+CMGF=1<\/strong> (SMS uchun matn rejimini faollashtirish),\u00a0 <strong>AT&amp;W<\/strong> (oxirgi AT-buyruq parametrini xotiraga saqlab qo&#8217;yish) AT-buyruqlarni birlashtirgan holda keltirilgan:<\/p>\n<p><strong>ATV0E1+DDET=1,0,1;Q0S0=1+CLIP=1;+CMGF=1;&amp;W<\/strong><\/p>\n<p style=\"text-align: justify;\">Bulardan tashqari, modemdan foydalanish jarayonida turli vaziyatlarda so&#8217;ralmagan eslatma ko&#8217;rinishidagi quyidagi xabarlar ham kelishi mumkin: <strong>RING<\/strong> &#8211; kiruvchi qo&#8217;ng&#8217;iroq mavjudligi, <strong>+CMTI<\/strong> &#8211; yangi SMS-xabar kelganligi va uning tartib raqami (masalan: +CMTI: &#8220;SM&#8221;,2), <strong>+CLIP<\/strong> &#8211; kiruvchi qo&#8217;ng&#8217;iroq raqami avtomatik aniqlanganligi (masalan: +CLIP: &#8220;+9980000000&#8243;,145,&#8221;&#8221;,0,&#8221;&#8221;,0), <strong>+CUSD<\/strong> &#8211; USSD-so&#8217;rov javobi (masalan, +CUSD: 0, &#8221; Vash balans 198.02 sum) va hokazo.<\/p>\n<p style=\"text-align: justify;\">SIM800L GSM-mouduli orqali Arduino qurilmasini boshqarish uchun dastur kodida asosan quyidagi AT-buyruqlardan foydalanamiz:<\/p>\n<p style=\"text-align: justify;\"><strong><span class=\"strings\">AT+GSN<\/span><\/strong><span class=\"strings\"> &#8211; modulning IMEI-kodini ko&#8217;rish;<\/span><strong><span class=\"strings\"><br \/>\n<b>AT+CSQ<\/b><\/span><\/strong><span class=\"strings\"> &#8211; signal sifatini (0&#8230;98) aniqlash (99 &#8211; aniqlab bo&#8217;lmasligini bildiradi). Masalan <\/span><span class=\"strings\">+CSQ: 8,0 javobidagi 8<\/span><span class=\"strings\"> qiymati signal qoniqarli ekanligini bildiradi;<\/span><strong><span class=\"strings\"><b><br \/>\nAT&amp;V<\/b><\/span><\/strong><span class=\"strings\"> &#8211; modulning faol konfiguratsiyasini ko&#8217;rish;<\/span><strong><span class=\"strings\"><b><br \/>\n<\/b><\/span><\/strong><strong><span class=\"strings\">AT+CREG?<\/span><\/strong><span class=\"strings\"> &#8211; <\/span><span class=\"strings\">tarmoqda<\/span><span class=\"strings\"> ro&#8217;yxatdan o&#8217;tish turi (+CREG: 0,<strong>1<\/strong> &#8211; tarmoqda ro&#8217;yxatdan o&#8217;tilgan);<br \/>\n<strong>AT+COPS?<\/strong> &#8211; uyali tarmoq operatori haqida ma&#8217;lumot;<br \/>\n<strong>AT+COPS=?<\/strong> &#8211; hududdagi uyali tarmoq operatorlari haqida ma&#8217;lumot (qisqa ro&#8217;yxat);<br \/>\n<\/span><strong><span class=\"strings\"><b>ATD<i>+998xxxxxxxx<\/i>;<\/b><\/span><\/strong><span class=\"strings\"> &#8211; ko&#8217;rsatilgan raqamga qo&#8217;ng&#8217;iroq qilish (&#8220;;&#8221; belgisi bilan ko&#8217;rsatilishi shart);<\/span><strong><span class=\"strings\"><br \/>\nAT+CLIP=1<\/span><\/strong> &#8211; kiruvchi qo&#8217;ng&#8217;iroq telefon raqamini avtomatik aniqlash (AON) rejimini o&#8217;rnatish (<span class=\"strings\">AT+CLIP=0<\/span> &#8211; uzish);<br \/>\n<b>ATA<\/b> &#8211; kiruvchi qo&#8217;ng&#8217;iroqqa javob berish (&#8220;trubkani ko&#8217;tarish&#8221;);<br \/>\n<b>ATH <\/b>&#8211; kiruvchi qo&#8217;ng&#8217;iroqni bekor qilish;<br \/>\n<b>ATS0=3<\/b> &#8211; kiruvchi qo&#8217;ng&#8217;iroqqa avtomatik javob berish uchun gudoklar soni (1&#8230;255 &#8211; gudoklar soni, 0 &#8211; avtomatik javob bermaslik);<br \/>\n<strong><span class=\"strings\">AT+CMGF=1 <\/span><\/strong>&#8211; SMS uchun TextMode (matn) rejimini o&#8217;rnatish (0 &#8211; PDU formati);<br \/>\n<b>AT+CMGS=<i>&lt;telefon_raqami&gt;<\/i>[,<i>&lt;2-raqam&gt;<\/i>]<i>&lt;CR&gt;<\/i>xabar matni<i>&lt;ctrl-Z&gt;<\/i><\/b>&#8211; ko&#8217;rsatilgan raqamga (2-raqam shart emas) SMS-xabar yuborish (dastur kodi yordamida &#8220;<span class=\"mono\">Ctrl+Z<\/span>&#8221; klavishasi bosilishini <strong>(char)26<\/strong> kodi yordamida, &#8220;CR&#8221; vazifasini <strong><span class=\"strings\">&#8220;\\r\\n&#8221;<\/span><\/strong> matnli kodi yordamida bajarish mumkin. Masalan, <em>Serial.println(&#8220;AT+CMGS=\\&#8221;+9980000000;\\&#8221;\\r\\nSalom!&#8221;); Serial.println((<span class=\"types\">char<\/span>)26);<\/em> kabi); Ushbu misolda, 2 ta matnni qo&#8217;shishga to&#8217;g&#8217;ri kelmasligi uchun ular alohida funksiyalar argumenti sifatida qo&#8217;llanilgan;<br \/>\n<strong>AT+CMGR=4,1<\/strong> &#8211; ko&#8217;rsatilgan tartibdagi SMS-xabarni o&#8217;qish (4 &#8211; tartib, 1 &#8211; &#8220;o&#8217;qilmagan&#8221; (0-&#8220;o&#8217;qilgan&#8221;) statusida qoldirish);<br \/>\n<b>AT+CMGDA=<i>&lt;xabar_turi&gt;<\/i><\/b> &#8211; barcha kiruvchi yoki chiquvchi SMS-xabarlarni o&#8217;chirish (xabar turlari: &#8220;DEL READ&#8221; \u2014 o&#8217;qilgan SMSlar, &#8220;DEL UNREAD&#8221; \u2014 o&#8217;qilmagan SMSlar, &#8220;DEL SENT&#8221; \u2014 yuborilgan SMSlar, &#8220;DEL UNSENT&#8221; \u2014 yuborilmagan SMSlar, &#8220;DEL INBOX&#8221; \u2014 qabul qilingan SMSlar, &#8220;DEL ALL&#8221; &#8211; barcha turdagi SMSlar);<br \/>\n<b>AT+CUSD=1,&#8221;*100#&#8221;<\/b> &#8211; USSD-kod yuborish. USSD-kod qo&#8217;shtirnoq ichida ko&#8217;rsatiladi. Masalan, <em>Serial.println(&#8220;AT+CUSD=1,\\&#8221;*100#\\&#8221;&#8221;);<\/em> kabi;<br \/>\n<strong><span class=\"strings\"><b>AT+CPAS<\/b><\/span><\/strong><span class=\"strings\"> &#8211; modulning joriy ishga tayyorlik holati (tayyor, noma&#8217;lum, kiruvchi qo&#8217;ng&#8217;iroq, tovushli bog&#8217;lanish holatlaridan biri)<\/span><strong><span class=\"strings\">;<\/span><\/strong><br \/>\n<b>AT+COLP=1<\/b> &#8211; chiquvchi qo&#8217;ng&#8217;iroq qabul qilinganidan xabar berish rejimini o&#8217;rnatish (0 &#8211; uzish). Javob <b>BUSY<\/b>, <b>NO DIAL TONE<\/b>, <b>NO CARRIER <\/b>matnlari ko&#8217;rinishida qaytadi;<br \/>\n<strong>AT+CCALR?<\/strong> &#8211; modulning qo&#8217;ng&#8217;iroqlarni bajarishga tayyotligini aniqlash (javob variantlari: <strong>1<\/strong> &#8211; tayyor, <strong>0<\/strong> &#8211; tayyor emas);<br \/>\n<strong><span class=\"strings\"><b>AT+CSPN?<\/b><\/span><\/strong><span class=\"strings\"> &#8211; <\/span><span class=\"strings\">uyali tarmoq operatori haqida ma&#8217;lumot, GPRS rejimi uchun;<\/span><strong><span class=\"strings\"><br \/>\nAT+COPN<\/span><\/strong><span class=\"strings\"> &#8211; barcha operatorlar ro&#8217;yxatini olish (bazadagi barcha operatorlar);\u00a0<\/span><strong><span class=\"strings\"><br \/>\n<\/span>AT+CBC<\/strong> &#8211; modul elektr ta&#8217;moni kuchlanishini ko&#8217;rish (kuchlanish darajasi &#8211; javobdagi oxirgi oxirgi parametr, millivoltlarda ko&#8217;rsatiladi);<br \/>\n<b>AT+CCLK?<\/b> &#8211; modul vaqtini yoki ishga tushganidan keyin o&#8217;tgan vaqtni ko&#8217;rish;<br \/>\n<b>AT+CCLK=&#8221;yy\/mm\/dd,hh:mm:ss+zz&#8221;<\/b> &#8211; <em>yil\/oy\/kun,soat:daqiqa:sekund+vaqt_zonasi<\/em> formatida modul vaqtini o&#8217;rnatish;<br \/>\n<b>AT+CSCA?<\/b> &#8211; servis-markazi telefon raqamini ko&#8217;rish (SIM-karadan olinadi);<br \/>\n<b>AT+CPBS<\/b>? &#8211; SIM-kartada yoki telefon xotirasida saqlangan telefon raqamlari soni (+CPBS: &#8220;SM&#8221;,1,200 javobi ma&#8217;nosi &#8211; SIM-kartada (&#8220;SM&#8221; parametri) jami 200 ta joydan 1 tasi band);<br \/>\n<b>AT+CPBF<\/b> &#8211; SIM-kartada saqlangan barcha raqamlarni va raqamning formatini (145 &#8211; xalqaro) ko&#8217;rish;<br \/>\n<b>AT+CPBW=4,&#8221;+998xxxxxxxxx&#8221;,145,&#8221;Test&#8221;<\/b> &#8211; xotiraga ko&#8217;rsatilgan tartibga &#8220;Test&#8221; nomi bilan ko&#8217;rsatilgan raqamni xalqaro formatda saqlash;<br \/>\n<b>AT+CPBW=4<\/b> &#8211; ko&#8217;rsatilgan tartibdagi raqamni o&#8217;chirish;<br \/>\n<strong>AT+CPBR=1<\/strong> &#8211; xotiradagi 1-tartibli yozuvni (telefon raqamini) o&#8217;qish;<br \/>\n<b>AT+GSMBUSY=1<\/b> &#8211; kiruvchi qo&#8217;ng&#8217;iroqlarni taqiqlash (1 &#8211; taqiqlash, 0 &#8211; ruxsat etish);<br \/>\n<strong>AT+VTS=&#8221;&lt;raqam&gt;&#8221;<\/strong> &#8211; DTMF rejimida kerakli raqam (0-9) yoki &#8220;*&#8221;, &#8220;#&#8221; maxsus belgilari tonini eshittirish;<br \/>\n<strong><span class=\"strings\">AT+DDET=1<\/span><\/strong> &#8211; DTMF (ton yordamida boshqarish uchun) rejimini faollashtirish;<strong><br \/>\n<\/strong><strong>AT+FSMEM<\/strong> &#8211; Modul ichki xotirasi bo&#8217;sh hajmini aniqlash (fayllarni saqlash uchun foydalanish mumkin, jami hajmi 200 kbaytga yaqin). Unga\u00a0<strong><em>amr<\/em><\/strong> formatidagi tovushli fayllarni &#8220;AmrFile Download&#8221; dasturi yordamida yozish mumkin. Boshqa formatdagi audiofayllarni <em>amr<\/em> formatiga o&#8217;tkazish uchun &#8220;AMR Player&#8221; dasturidan foydalanish mumkin. Modulga yozish paytida ketma-ket port mutlaqo bo&#8217;sh bo&#8217;lishi va Arduino IDE port monitori ham yopilgan bo&#8217;lishi kerak;<br \/>\n<strong>AT+FSLS=C:\\USER\\<\/strong> &#8211; Modul ichki xotirasidagi fayllar ro&#8217;yxatini ko&#8217;rish;<br \/>\n<strong>AT+CREC?<\/strong> &#8211; modul ichki xotirasidagi tovushli fayllar bilan ishlash (eshittirish, yozish, nusxalash, o&#8217;chirish, papka bilan ishlash va hokazo) rejimi kodini ko&#8217;rish (<strong>4<\/strong> &#8211; eshittirish rejimi);<br \/>\n<strong>AT+CREC=4,&#8221;C:\\USER\\&lt;fayl_nomi&gt;&#8221;,&lt;qurilma&gt;,&lt;balandlik&gt;,&lt;takror&gt;<\/strong> &#8211; Ko&#8217;rsatilgan nomdagi audiofaylni ko&#8217;rsatilgan tovush balandligida (foizlarda) modulga ulangan spikerda (qurilma=<strong>0<\/strong> bo&#8217;lganda) yoki telefonda (qurilma=<strong>1<\/strong>) 1 marta (takror=<strong>0<\/strong>) yoki to&#8217;xtovsiz takrorlash (takror=<strong>1<\/strong>) rejimida eshittirish (&#8220;play&#8221;);<br \/>\n<strong>AT+CREC=5<\/strong> &#8211; tovushli faylni takroriy eshittirishni to&#8217;xtatish;<br \/>\n<strong><b>AT+VTD=<i>&lt;n&gt;<\/i><\/b><\/strong> &#8211; DTMF rejimida ton signali uzunligini belgilash (n &#8211; sekundning 10 dan 1 qismi);<strong><b><br \/>\nAT+CLVL=<i>50<\/i><\/b><\/strong> &#8211; so&#8217;zlashuv paytida dinamik balandligini o&#8217;zgartirish (qiymat 0&#8230;100 oralig&#8217;ida ko&#8217;rsatiladi);<strong><br \/>\n<b>AT+CRSL=<i>50<\/i><\/b><\/strong> &#8211; kiruvchi qo&#8217;ng&#8217;iroq ovozi balandligini (0&#8230;100) o&#8217;rnatish;<br \/>\n<b>AT+SAPBR=1,1<\/b> &#8211; GPRS tarmog&#8217;iga ulanish (<b>AT+SAPBR=0,1<\/b> &#8211; uzilish);<br \/>\n<b>AT+SAPBR=2,1<\/b> &#8211; GPRS ga ulanish joriy holati va tarmoqdan ajratilgan IP-manzilni ko&#8217;rish;<br \/>\n<b>AT+SAPBR=3,1,&#8221;CONTYPE&#8221;,&#8221;GPRS&#8221;<\/b> &#8211; Ulanish turini (&#8220;Connecting type&#8221;) tanlash (GPRS yoki CSD);<br \/>\n<b>AT+SAPBR=3,1,&#8221;APN&#8221;,&#8221;internet&#8221;<\/b> &#8211; Ulanish nuqtasi nomini ko&#8217;rsatish (tarmoq operatoridan olinadi);<br \/>\n<b>AT+SAPBR=3,1,&#8221;USER&#8221;,&#8221;&#8221;<\/b> &#8211; Ulanish nuqtasi foydalanuvchisi nomini ko&#8217;rsatish (tarmoq operatoridan olinadi);<br \/>\n<b>AT+SAPBR=3,1,&#8221;PWD&#8221;,&#8221;&#8221;<\/b> &#8211; Ulanish nuqtasi parolini ko&#8217;rsatish (tarmoq operatoridan olinadi);<br \/>\n<b>AT+SAPBR=4,1 <\/b>&#8211; GPRS ga ulanish joriy holati va sozlamalarini to&#8217;liq ko&#8217;rish (ulangan bo&#8217;lsa);<b><br \/>\nAT+HTTPINIT<\/b> &#8211; HTTP servisini faollashtirish;<b><br \/>\nAT+HTTPPARA=&#8221;CID&#8221;,1<\/b> &#8211; HTTP sessiyasi uchun CID (seans profili identifikatori) parametrni o&#8217;rnatish;<b><br \/>\nAT+HTTPPARA=&#8221;URL&#8221;,&#8221;&lt;manzil<\/b><b>&gt;&#8221;<\/b> &#8211; HTTP sessiyasi uchun veb-manzil yoki IP-manzilni o&#8217;rnatish;<b><br \/>\nAT+HTTPACTION=0<\/b> &#8211; HTTP sessiyasi metodini tanlash va unga start berish (0 &#8211; GET, 1 &#8211; POST, 2 &#8211; HEAD). Agar http-so&#8217;rov va javob muvaffaqiyatli bo&#8217;lsa taxminan &#8220;+HTTPACTION=0,200,354&#8221; ko&#8217;rinishidagi javobni qaytaradi. Bu yerda 200 &#8211; &#8220;sahifa topildi&#8221; mazmunida, 354 &#8211; qaytgan javob uzunligi baytlarda. Agar sahifa topilmasa, javobda 200 o&#8217;rniga 404 qiymati qaytariladi. Shundan keyin, AT+HTTPREAD buyrug&#8217;i yordamida sahifa mundarijasini olish mumkin;<br \/>\n<b>AT+HTTPREAD<\/b> &#8211; AT+HTTPACTION=0 buyrug&#8217;i yordamida topilgan sahifaning mundarijasini (matnini) to&#8217;liq olish;<br \/>\n<b>AT+HTTPREAD=0,45<\/b> &#8211; AT+HTTPACTION=0 buyrug&#8217;i yordamida topilgan sahifaning mundarijasini (matnini) qisman olish. 0 &#8211; matn boshlang&#8217;ich belgisi pozitsiyasi, 45 &#8211; olinadigan belgilar soni;<b><br \/>\nAT+HTTPTERM<\/b> &#8211; faol HTTP servisini yakunlash<b>.<\/b><\/p>\n<p style=\"text-align: justify;\">AT-buyruqlarni Arduino IDE port monitori orqali bajarish uchun, Arduino IDE namunaviy sketchlari tarkibidagi &#8220;SoftwareSerialExample&#8221; sketchidan foydalanish mumkin.<\/p>\n<p style=\"text-align: justify;\">SIM800L modul bilan qo&#8217;llash mumkin bo&#8217;lgan yuqoridagi va boshqa AT-buyruqlar ro&#8217;yxatini <a href=\"https:\/\/seeeddoc.github.io\/LoNet-GSM-GPRS_Breakout\/res\/SIM800_ATCommand_Manual_V1.02.pdf\">ushbu rasmiy havola<\/a> orqali ko&#8217;rish va yuklab olish mumkin. Shuningdek, Arduino va turli GSM-modullar bilan bilan qo&#8217;llash mumkin bo&#8217;lgan ko&#8217;plab muhim AT-buyruqlarning vazifasi haqidagi rus tilidagi ma&#8217;lumotni <a href=\"https:\/\/wiki.iarduino.ru\/page\/a6_gprs_at\/?ysclid=lvrt61zg4x949992159\">bu yerdan<\/a> olish mumkin.<\/p>\n<p style=\"text-align: justify;\">Har bir AT-buyruqning bajarilishi uchun ma&#8217;lum vaqt talab etiladi. Bir nechta AT-buyruq dastur kodidan yuborilganda, ular juda qisqa vaqt ichida birdaniga yuboriladi. Modem ularning har birini bajarish natijasi haqida hisobot beraveradi. Lekin, ba&#8217;zida keladigan javob tartibi yuborilgan buyruq tartibiga to&#8217;g&#8217;ri kelmasligi ham mumkin. Ya&#8217;ni, ba&#8217;zi buyruqlar bajarilishiga boshqalaridan ko&#8217;ra ko&#8217;proq yoki kamroq vaqt sarflanishi mumkin. Agar buyruqlar imkon qadar belgilangan ketma-ketlikda bajarilishi zarur bo&#8217;lsa, buni dastur kodiga qo&#8217;shimchalar kiritish orqali bajarish mumkin (lekin shunda ham 100 foizlik kafolatlangan natijaga erishib bo&#8217;lmasligi mumkin).<\/p>\n<p style=\"text-align: justify;\"><strong>Diqqat! <\/strong>Arduinoda bir nechta AT-buyruqlarni ketma-ket yuborishda ular orasida odatdagidek <strong>delay()<\/strong> funksiyasidan foydalanib, pauza o&#8217;rnatish tavsiya etilmaydi. Ushbu funksiya AT-buyruq yuborganidan keyin unga javob qaytishi jarayonini &#8220;muzlatib&#8221; qo&#8217;yishi, natijada qaytadigan javobga bog&#8217;liq bo&#8217;lgan navbatdagi ba&#8217;zi dastur amallar umuman bajarilmay qolishi mumkin! Shuning uchun amaliy mashg&#8217;ulotlar misollarida ham delay() funksiyasidan deyarli foydalanilmagan (AT-buyruq bilan bog&#8217;liq bo&#8217;lmagan vaziyatlar bundan mustasno). Shunday bo&#8217;lsa-da, ba&#8217;zi hollarda, tegishli AT-buyruq xusisiyatlaridan kelib chiqib va tajribalarga asoslangan holda, ehtiyotkorlik bilan delay() funksiyasidan ham foydalanish mumkin.<\/p>\n<p style=\"text-align: justify;\">Yuqoridagi ma&#8217;lumotlardan ko&#8217;rinib turibdiki, boshqa turdagi modullardan farqli ravishda, GSM-modulning &#8220;injiqlik&#8221; xususiyatlaridan kelib chiqib, uni mikrokontroller tomonidan to&#8217;laqonli nazoratga olish qiyinroq kechadi. Chunki mikrokontrollerdan GSM-modulga yuborilgan (ayniqsa ketma-ket yuborilgan) AT-buyruqlar kafolatli bajarilsa-da, lekin ularning bajarilishi uyali tarmoq operatori serveri bandlik darajasi yuqoriligiga bog&#8217;liq holda, mutlaqo boshqa tartibda va turlicha vaqtlarda, chalkash tartibda amalga oshisishi mumkin. Masalan, ketma-ket yuborilgan 4 ta AT-buyruqlardan 3-buyruqning natijasi 1-tartibda, 4-buyruqniki 2-tartibda, 1-buyruqniki 3-tartibda va 2-buyruqniki 4-tartibda qaytishi mumkin. Bunday holat dasturlash jarayonini ham murakkablashtirib yuborishi tabiiy. Shuning uchun, amaliy mashg&#8217;ulotlar misollarida ular murakkablashib ketmasligi uchun vaqtincha yuqoridagi muammoga e&#8217;tibor qaratilmagan (<em>muammoning qisman yechimi esa, amaliy mashg&#8217;ulot darsida maxsus sketch misolida alohida keltirilgan<\/em>).<\/p>\n<p style=\"text-align: justify;\">Shuning uchun, amaliy mashg&#8217;ulotlardagi (soddalashtirilgan) misollarning natijasini kuzatishda va umuman, GSM-modul bilan ishlashda quyidagi tartibga e&#8217;tibor qaratish zarur.<\/p>\n<ul>\n<li style=\"text-align: justify;\">har doim elektr ta&#8217;minotiga dastlab GSM-modul ulanishi kerak va modul uyali tarmoqqa ulanib bo&#8217;lganidan keyingina mikrokontroller ishga tushirilishi kerak;<\/li>\n<li style=\"text-align: justify;\">GSM-modulning tarmoqqa ulanishi holatini aniqlash uchun uning indikatori pirpirash tezligiga e&#8217;tibor qaratilishi kerak (<em>quyidagi videoda ko&#8217;rsatib o&#8217;tilgan; videoda kerakli tilni tanlash mumkin<\/em>): <strong>a)<\/strong> modul uyali tarmoqqa ulanguniga qadar indikatorning pirpirash tezligi taxminan sekundiga 1,25 marta (3 sekundda 4 marta, yoki taxminan 0,75 gerts) bo&#8217;lishi kerak, modulning uyali tarmoqqa ulanishi vaqti taxminan 7-10 sekund davom etadi; <strong>b)<\/strong> modul GSM tarmog&#8217;iga ulanganidan keyin indikatorning pirpirash tezligi keskin pasayadi va taxminan 3 sekundda 1 marta (chastotasi 0,33 gerts)ga teng bo&#8221;ladi, demak, shundan keyin mikrokontrollerni ishga tushirish mumkin bo&#8217;ladi, ushbu rejimda moduldan <strong>SMS yuborish\/qabul qilish, qo&#8217;ng&#8217;iroq qilish\/qabul qilish<\/strong> funksiyalaridan foydalanilishi mumkin; <strong>c)<\/strong> agar modulning <strong>GPRS<\/strong> funksiyasidan foydalaniladigan taqdirda, uni faqat modul yuqorida keltirilgan tartibda GSM-tarmog&#8217;iga ulanganidan keyingina faollashtirish mumkin (bu jarayon dastur kodidagi tegishli AT-buyruqlar yordamida avtomatik ravishda bajariladi), modul GPRS tarmog&#8217;iga ulangan paytda indikatorning pirpirash tezligi keskin tezlashadi va taxminan sekundiga 3 marta (chastotasi 3 gerts)ga teng bo&#8217;ladi.<\/li>\n<li style=\"text-align: justify;\">Modulning faqat SMS yoki qo&#8217;ng&#8217;iroq funksiyasidan foydalanilgan taqdirda, GPRS funksiyasini faollashtirish shart emas, lekin ushbu funksiyalar bir vaqtda ishlatilgan taqdirda ham, ular bir-biriga xalaqit qilmaydi.<\/li>\n<\/ul>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/66cJpHhJ2qs?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Ishga tushish bosqichlari\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/yarat.uz\/?p=87\">Ilgari ma&#8217;lum qilganimizdek<\/a>, uyali aloqa tarmog&#8217;i orqali boshqarishni biz Arduino UNO platasi hamda <strong>SIM800L<\/strong> GSM-modulidan foydalangan holda amalga oshiramiz (Wemos D1 mini va boshqa platalar uchun ham sketchlarda deyarli o&#8217;zgarish bo&#8217;lmaydi). Boshqaruvni bosqichma-bosqich tegishli misollar yordamida ko&#8217;rib chiqamiz. Keyinchalik ulardan professional loyihalarni yaratishda foydalanish mumkin bo&#8217;ladi.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2941 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/SIM800L_pinout.jpg\" alt=\"\" width=\"777\" height=\"600\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/SIM800L_pinout.jpg 777w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/SIM800L_pinout-300x232.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/SIM800L_pinout-768x593.jpg 768w\" sizes=\"auto, (max-width: 777px) 100vw, 777px\" \/><\/p>\n<p style=\"text-align: justify;\">SIM800L modulidan foydalanish uchun alohida bibliotekadan foydalanilishi shart emas, buning o&#8217;rniga AT-buyruqlarni ma&#8217;lum ketma-ketlikda modulga yuborish yetarli bo&#8217;ladi. Faqat qulaylik uchun va Arduino platasidagi TX\/RX bog&#8217;lanish portlarini band qilib qo&#8217;ymaslik uchun, Arduinoning &#8220;SoftwareSerial.h&#8221; ichki bibliotekasidan foydalanish maqsadga muvofiq. Asosiy misollarga o&#8217;tishdan oldin SIM800L moduli normal ishga tushganligini test qilish va AT-buyruqlar ishlatilishini namoyish qilishga mo&#8217;ljallangan oddiy sketchdan foydalanamiz. Chunki, ushbu sketch yordamida biz avvalo GSM-modul sozligini tekshirib olishimiz, uning ayrim sozlamalarini o&#8217;rnatishimiz, shuningdek, kelgusida qo&#8217;llaniladigan muhim AT-buyruqlarning amaliy vazifasi bo&#8217;yicha dastlabki ma&#8217;lumotlarga ega bo&#8217;lishimiz mumkin.<\/p>\n<p style=\"text-align: justify;\">Barcha misollar uchun quyidagi kerakli materiallar hamda bog&#8217;lanish sxemasi o&#8217;zgarmaydi (faqat topshiriqlardagi loyihalarning sxemalariga kichik qo&#8217;shimchalar kiritilishiga to&#8217;g&#8217;ri keladi). Namunaviy sketchlardagi yangi tushunchalar har doimgidek, izohlab boriladi.<\/p>\n<p style=\"text-align: justify;\"><strong>Diqqat!<\/strong> SIM800L moduli toki kuchi va kuchlanish darajasiga juda sezgir hisoblanadi, Arduino platalaridan chiquvchi kuchlanish va tok kuchi modul elektr ta&#8217;minoti uchun yetarli bo&#8217;lmaydi (xuddi shuningdek, kompyuter USB-portidagi tok kuchi ham). Shuning uchun modul elektr ta&#8217;minoti uchun alohida DC-DC konverteridan foydalanamiz. Uning chiquvchi kuchlanishi 4V ga (3,4 &#8230; 4.4 V oralig&#8217;ida) sozlanishi va yetkazib beradigan tok kuchi 2A dan kam bo&#8217;lmasligi kerak (aniqrog&#8217;i, tok kuchi GSM tarmog&#8217;iga ulanish paytida 2A dan, qolgan paytlarda 0,7A dan kam bo&#8217;lmasligi kerak). Agar modul sxema bo&#8217;yicha to&#8217;g&#8217;ri ulangan taqdirda ham GSM tarmog&#8217;iga ulanmasa (to&#8217;xtovsiz taxminan 3 sekundda 4 marta tezlikdagi pirpirashdan to&#8217;xtamasa), bu ko&#8217;p hollarda &#8211; GSM signal quvvati, elektr toki kuchi yoki kuchlanish yetarli emasligini anglatadi.<\/p>\n<p style=\"text-align: justify;\">DC-DC konverter chiqish kuchlanishini sozlash GSM-moduldan uzilgan holda amalga oshirilishi kerak va maksimal 4.4V dan oshirib yuborilmasligi kerak! Agar modul ulanganidan keyin umuman ishga tushmasa, bu kuchlanish yoki tok kuchi juda pastligini anglatishi mumkin. GSM-modulni professional qurilmalar tarkibida uzoq vaqt qo&#8217;llash talab etiladigan hollarda (faqat dasturlash uchun emas), uning xususiyatlari bilan (<a href=\"https:\/\/www.alldatasheet.com\/datasheet-pdf\/pdf\/1741389\/SIMCOM\/SIM800L.html\">datashitidan<\/a>) yaqindan tanishib olish va u yerda ko&#8217;rsatilgan tavsiyalarga amal qilish tavsiya etiladi!<\/p>\n<p style=\"text-align: justify;\">SIM800L moduli RX portining ruxsat etilgan kirish kuchlanishi 2.1 &#8211; 3.1 V oralig&#8217;ida bo&#8217;lishi kerak. Yuqori kuchlanishda modul ishdan chiqishi, past bo&#8217;lsa signal Arduino platasidan qabul qilinmasligi mumkin. Ma&#8217;lumot uchun, Arduino platalari oilasida (UNO, Nano, Mega va hokazo) platalarida yuqori signal kuchlanishi 4.5 &#8211; 5V ni, ESP platalarida (ESP8266, ESP32 oilalarida) 3.3V ni tashkil etadi. Demak, UNO pinidagi chiqish kuchlanishini taxminan 2 baravarga, ESP8266 da 1,3 baravarga pasaytirish zarur bo&#8217;ladi. Shuning uchun, modulning RX piniga kirish kuchlanishini bo&#8217;lgich sxemasi yordamida pasaytirib olish zarur bo&#8217;ladi.<\/p>\n<p style=\"text-align: justify;\">Kuchlanish bo&#8217;lgichida 1 &#8211; 10 kOm qarshilikka ega bo&#8217;lgan rezistorlardan foydalanish mumkin (balandroq qiymatlarda tok kuchi pasayib ketadi, pastrog&#8217;ida rezistorlar qizib ketishi va ishdan chiqishi mumkin).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3055 size-full aligncenter\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/delitel-e1715193620218.jpeg\" alt=\"\" width=\"906\" height=\"453\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/delitel-e1715193620218.jpeg 906w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/delitel-e1715193620218-300x150.jpeg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/delitel-e1715193620218-768x384.jpeg 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/p>\n<p style=\"text-align: justify;\">Masalan, UNO uchun 2 ta 10 kOm lik (bir xil), ESP8266 uchun 1 ta 10 kOm lik (R1) va 1 ta 3,3 kOm lik (R2) rezistorlardan foydalanish mumkin. Natijada, har ikki holda ham chiqishda taxminan 2,5V kuchlanish hosil bo&#8217;ladi. Modulning RX pini (+U\u0432\u044b\u0445) R1 va R2 rezistorlar tutashgan joyga ulanadi, R1 rezistorining 2-oyoqchasi Arduino platasi raqamli chiqish piniga (+U\u0432\u0445), R2 rezistorning 2-oyoqchasi esa, GND (-U\u0432\u0445, -U\u0432\u044b\u0445) piniga ulanadi.<\/p>\n<p style=\"text-align: justify;\">Kuchlanishni sozlash bilan bog&#8217;liq yuqoridagi muammoni bartaraf etish maqsadida, SIM800L modulining 2-versiyasi ham ishlab chiqarila boshlagan. Uning kirish kuchlanishi 5V va RX pini kirishida esa bo&#8217;lgich mavjud, shuning uchun uni Arduino platasiga to&#8217;g&#8217;ridan to&#8217;g&#8217;ri ulash mumkin. Lekin, uning pinlari soni 1-versiyadagidan ko&#8217;ra kamroq, narxi esa qimmatlashgan.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3091 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800lv2.jpg\" alt=\"\" width=\"1482\" height=\"732\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800lv2.jpg 1482w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800lv2-300x148.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800lv2-1024x506.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800lv2-768x379.jpg 768w\" sizes=\"auto, (max-width: 1482px) 100vw, 1482px\" \/><\/p>\n<p><em>Kerakli materiallar:<\/em><\/p>\n<p style=\"text-align: justify;\"><em>1) Arduino UNO, USB-kabel, maket platasi, o&#8217;tkazgichlar;<\/em><br \/>\n<em>2) SIM800L GSM-moduli;<br \/>\n3) Micro-SIM o&#8217;lchamidagi, hududdagi ixtiyoriy uyali tarmoq operatoriqa ulangan, musbat balansli SIM-karta<\/em>;<br \/>\n<em>4) &#8220;LM2596&#8221;, &#8220;Mini360&#8221; yoki boshqa DC-DC doimiy tok konverteri (chiquvchi kuchlanishi 4V ga pasaytirilishi kerak). <\/em><br \/>\n<em>5) Rezistorlar 10 kOm, 3.3 kOm (Wemos D1 mini uchun). Arduino UNO yoki boshqa 5V signalli platalardan foydalanilgan taqdirda, har ikki rezistorning qarshiligi bir xil &#8211; 10 kOm bo&#8217;lishi kerak.<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\">Quyidagi sxemalardan ko&#8217;rish mumkinki, Arduino platalarining &#8220;+5V&#8221; pini (qizil rangli o&#8217;tkazgichlar) sxemaga ulanmagan, lekin platalarning &#8220;GND&#8221; pini (qora rangli o&#8217;tkazgichlar) sxemadagi mos &#8220;GND&#8221; piniga ham ulanadi.<\/p>\n<p><em>Bog&#8217;lanish sxemasi (Arduino UNO platasi uchun):<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-5219 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_uno_dc-dc_bb-1-e1741421800487.jpg\" alt=\"\" width=\"928\" height=\"554\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_uno_dc-dc_bb-1-e1741421800487.jpg 928w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_uno_dc-dc_bb-1-e1741421800487-300x179.jpg 300w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_uno_dc-dc_bb-1-e1741421800487-768x458.jpg 768w\" sizes=\"auto, (max-width: 928px) 100vw, 928px\" \/><\/p>\n<p><em>Bog&#8217;lanish sxemasi (Wemos D1 mini platasi uchun):<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2954\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb-990x1024.jpg\" alt=\"\" width=\"522\" height=\"540\" srcset=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb-990x1024.jpg 990w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb-290x300.jpg 290w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb-768x795.jpg 768w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb-1024x1059.jpg 1024w, https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_wemos_dc-dc_bb.jpg 1068w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/p>\n<p style=\"text-align: justify;\"><strong>1-misol. <\/strong>Quyidagi sketch-utilita yordamida GSM-modullarga AT-buyruqlar jo&#8217;natish va modulning ishga tayyorligini diagnostika qilish mumkin. Buning uchun, port monitorida ketma-ket &#8220;Start!&#8221;, &#8220;AT&#8221; va &#8220;OK&#8221; yozuvlari ko&#8217;rsatilganidan keyin (ushbu yozuvlar, mikrokontroller bilan modul o&#8217;rtasida bog&#8217;lanish muvaffaqiyatli amalga oshganligini ekanligi tasdiqlaydi), ixtiyoriy AT-buyruqlarni yuborib, modulning javoblari asosida uning ishlashiga baho berish, sozlamalarini ko&#8217;rish yoki o&#8217;zgartirish mumkin. Namuna sifatida, port monitoridan to&#8217;g&#8217;ridan to&#8217;g&#8217;ri qo&#8217;ng&#8217;iroqni amalga oshirish va qabul qilish, SMS-xabar yuborish va qabul qilish, qo&#8217;ng&#8217;iroq, SMS-xabarlar bilan ishlash, GPRS orqali Internet tarmog&#8217;iga ulanish va ma&#8217;lum bir veb-sahifa mundarijasini ko&#8217;rish jarayonlari namoyish etilgan.<\/p>\n<p><em>Sketch:<\/em><\/p>\n<div class=\"su-spoiler su-spoiler-style-fancy su-spoiler-icon-plus su-spoiler-closed\" data-scroll-offset=\"0\" data-anchor-in-url=\"no\"><div class=\"su-spoiler-title\" tabindex=\"0\" role=\"button\"><span class=\"su-spoiler-icon\"><\/span>SIM800L modulini test qilish<\/div><div class=\"su-spoiler-content su-u-clearfix su-u-trim\">\n#include &lt;SoftwareSerial.h&gt;<br \/>\n\/\/ Dasturiy ketma-ket port bibliotekasini faollashtiramiz<br \/>\n\/\/SoftwareSerial SIM800L(D5, D6); \/\/ Ko&#8217;rsatilgan Wemos D1 mini pinlari mos ravishda SIM800L ning TX, RX pinlariga ulanadi<br \/>\nSoftwareSerial SIM800L(2,3); \/\/ (RX, TX) &#8211; ko&#8217;rsatilgan Arduino UNO pinlari mos ravishda SIM800L ning TX, RX pinlariga ulanadi (TX &#8211; to&#8217;g&#8217;ridan to&#8217;g&#8217;ri, RX &#8211; bo&#8217;lgich orqali)<br \/>\nvoid setup() {<br \/>\nSerial.begin(9600); \/\/ Ketma-ket portni faollashtiramiz<br \/>\nwhile (!Serial) {<br \/>\n; \/\/ ketma-ketga bog&#8217;lanishni kutamiz. Faqat lokal USB port uchun kerak<br \/>\n}<br \/>\nSerial.println(&#8220;Start!&#8221;);<br \/>\nSIM800L.begin(9600); \/\/ GSM-modul bilan bog&#8217;lovchi dasturiy portni faollashtiramiz<br \/>\nSIM800L.println(&#8220;AT&#8221;); \/\/ Nazorat buyrug&#8217;ini yuboramiz,&#8221;OK&#8221; javobini kutamiz<br \/>\n\/\/\u00a0 SIM800L.println((char)26); \/\/ &#8220;Xabar oxiri&#8221; kodi<br \/>\n}<br \/>\nvoid loop() {<br \/>\nif (Serial.available()) \/\/ Ketma-ket portga buyruq kiritilishi kutamiz&#8230;<br \/>\nSIM800L.write(Serial.read()); \/\/ &#8230; kiritilgan buyruqni modulga yuboramiz<br \/>\nif (SIM800L.available()) \/\/ GSM-moduldan xabar kelishini kutamiz&#8230;<br \/>\nSerial.write(SIM800L.read()); \/\/ &#8230; kelgan xabarni o&#8217;qiymiz va uni ketma-ket portga yozamiz (write metodi bilan)<br \/>\n}<\/div><\/div>\n<p><em>Natija (bir nechta qismlarda):<\/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\/LGc8phf75dk?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (1)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/WbWZPb_lznI?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (2)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/cEaM6ECYma8?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (3)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/gfYHhYKNNWE?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (4)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/Ilq4ooAFV_4?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (5)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/emjVGFVG1rM?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (6)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/sTJl252eDZ0?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (7)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/CQ7OXiDp3xU?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. AT-buyruqlar (8)\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><strong>2-misol.<\/strong> Ushbu misolda GSM-moduldagi SIM-karta raqamidan bironta telefon raqamiga qo&#8217;ng&#8217;iroq qilish hamda SMS-xabar yuborish jarayonlarini ko&#8217;rib chiqamiz. Port monitorida chiquvchi qo&#8217;ng&#8217;iroqqa va SMS-xabariga javoban kelgan xabarlarni kuzatamiz.<\/p>\n<p><em style=\"text-align: justify;\">Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p style=\"text-align: justify;\"><em>Natija:<\/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\/k5Vu20y-KQ4?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Kod yordamida qo&#039;ng&#039;iroq qilish va SMS yuborish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><strong>3-misol.<\/strong> Ushbu misolda smartfondan kelgan qo&#8217;ng&#8217;iroq va SMS-xabarlarning GSM-modul orqali mikrokontrollerda qabul qilinishi hamda qayta ishlanishi jarayonlarini ko&#8217;rib chiqamiz.<\/p>\n<p><em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p style=\"text-align: justify;\"><em>Natija:<\/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\/g82D_dUIKEM?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Kiruvchi qo&#039;ng&#039;iroq va SMS ni qabul qilish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><strong>4-misol. <\/strong>Ushbu misolda ixtiyoriy veb-brauzer yoki smartfon yordamida hamda GSM-modulning GPRS funksiyasidan foydalangan holda Arduino platasiga ulangan analog datchik qiymatlarini kuzatish jarayonini ko&#8217;rib chiqamiz. Veb-server vazifasini esa, iot.yarat.uz ichki domeni (poddomen) bajaradi. Buning uchun modulga o&#8217;rnatilgan SIM-karta ro&#8217;yxatga olingan uyali tarmoqning GPRS sozlamalarini (APN kirish nuqtasi, APN foydalanuvchisi va APN parolini) bilishimiz zarur bo&#8217;ladi. Odatda, bunday ma&#8217;lumotlarni uyali tarmoq operatorining rasmiy veb-saytidan olish mumkin.<\/p>\n<p style=\"text-align: justify;\">Dastlab, datchik ko&#8217;rsatkichlarini saqlovchi server uchun veb-sahifani yaratib olamiz. Uni Internet tarmog&#8217;idagi ixtiyoriy veb-serverga joylashtirish mumkin. Sahifa fayli yarat.uz saytining iot.yarat.uz ichki domenidagi ushbu manzilda joylashgan: <a href=\"http:\/\/iot.yarat.uz\/misol\/sensor.php\">http:\/\/iot.yarat.uz\/misol\/sensor.php<\/a>. Natijalarni Internetga bog&#8217;langan ixtiyoriy qurilma veb-brauzeridan shu manzil orqali kuzatish mumkin. Datchikning oxirgi qiymatini brauzer orqali ko&#8217;rish uchun sahifani qo&#8217;lda yangilash (&#8220;\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c&#8221;, &#8220;Refresh&#8221;) kerak bo&#8217;ladi.<\/p>\n<p>Smartfon orqali kuzatish uchun MIT app inventordagi oddiy loyiha blokli kodi quyidagicha bo&#8217;lishi mumkin:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3072 size-full\" src=\"https:\/\/yarat.uz\/wp-content\/uploads\/2024\/05\/sim800l_http_client.jpg\" alt=\"\" width=\"1366\" height=\"628\" \/><\/p>\n<p>Veb-sahifa (<em>iot.yarat.uz\/misol\/sensor.php<\/em>) fayli:<\/p>\n<pre><code><\/code><\/pre>\n<p><em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p style=\"text-align: justify;\">Natijani tekshirishdan oldin, ushbu sketchning o&#8217;ziga xos jihatiga e&#8217;tibor qaratishimiz zarur. Sketchda bir nechta AT-buyruqlarni modulga ketma-ket yuborish holatlari mavjud.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/yarat.uz\/?p=87\">Alohida nazariy darsda<\/a> batafsil ma&#8217;lum qilinganidek, GSM-modulga bir nechta AT-buyruqlar ketma-ket yuborilgan taqdirda, moduldan keluvchi javob uyali tarmoq javob qaytarish vaqtlaridan kelib chiqib, boshqacha &#8211; chalkash tartibda qaytishi mumkin. Bu esa o&#8217;z navbatida, dastur noto&#8217;g&#8217;ri ishlashiga ham olib kelishi mumkin. AT-buyruqlar orasida <strong>delay()<\/strong> funksiyasini qo&#8217;llash ham kutilmagan oqibatlarga olib kelishi mumkinligi ilgari ma&#8217;lum qilingan edi.<\/p>\n<p style=\"text-align: justify;\">Shuning uchun, ushbu misoldagi sketchimiz to&#8217;g&#8217;ri ishlashi uchun dastlab GSM-modul uyali aloqa operatori tarmog&#8217;iga ulanganiga ishonch hosil qilishimiz, shundan keyingina Arduino platasini ishga tushirishimiz kerak.<\/p>\n<p style=\"text-align: justify;\">Aks holda, sketchning <strong>setup() majburiy <\/strong>funksiyasi tarkibidagi <strong>gprs_init() <\/strong>foydalanuvchi funksiyasining AT-buyruqlari ketma-ketligi modul hali GSM va GPRS tarmoqlariga ulanib ulgurmaganligi sababli, ushbu buyruqlarning hech qaysisi to&#8217;liq bajarilmaydi. Demak, dasturning GPRS tarmog&#8217;i bilan ishlashga mo&#8217;ljallangan navbatdagi qismlari ham umuman ishlamaydi. Shuning uchun, Arduino platasini faqat GSM-modulimiz indikatori GSM tarmog&#8217;iga ulanganidan keyin (moduldagi indikator pirpirash tezligi 0,33 gertsga pasayganda) ishga tushirishimiz kerak.<\/p>\n<p><em>Natija, ixtiyoriy qurilma veb-brauzeri orqali:<\/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\/B7GhgDj7ddA?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. HTTP-mijoz - brauzer\"><\/iframe><\/div>\n<p><em>Natija, o&#8217;zimiz yaratgan oddiy mobil ilova orqali:<\/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\/g6eog1x0cJw?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Mobil HTTP-mijoz\"><\/iframe><\/div>\n<p style=\"text-align: justify;\">Endi AT-buyruqlar ketma-ket yuborilishida yuzaga kelishi mumkin bo&#8217;lgan muammoli holatlarni hal qilishga harakat qilamiz. Buning uchun, mikrokontroller har bir AT-buyruqning bajarilishi natijasini kutishi, faqat kutilgan ijobiy natija qaytganidan keyingina, navbatdagi buyruqning bajarilishiqa o&#8217;tishini yo&#8217;lga qo&#8217;yishimiz kerak. Buning uchun quyidagi 2 ta yordamchi funksiyalardan foydalanamiz (yuqoridagi 4-misoldagi sketch murakkablashib ketmasligi uchun, u ushbu funksiyalardan foydalanilmaydigan darajada soddalashtirilgan va qisqartirilgan).<\/p>\n<p style=\"text-align: justify;\"><em>Shuni unutmaslik kerakki, sketchga oxirgi 2 ta funksiya qo&#8217;shilishi, dasturning umumiy tezligi nisbatan pasayishiga ham sabab bo&#8217;ladi, chunki ba&#8217;zi AT-buyruqlar javobining qaytishi jarayoni bir necha sekundgacha davom etishi mumkin.<\/em><\/p>\n<p><em>Yordamchi funksiyalar kodi:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Ushbu funksiyalardan foydalanish tartibi quyidagicha:<\/em><\/p>\n<p>Har ikkala funksiyani 4-misoldagi sketchga qo&#8217;shamiz (masalan, sketch oxiriga).<\/p>\n<p style=\"text-align: justify;\">GSM-modulga ketma-ket yuborilishi va har birining javobi kelmagunicha kutish kerak bo&#8217;lgan har bir AT-buyruqni ushbu formatda yuboramiz:<\/p>\n<p style=\"text-align: justify;\"><strong>ATBuyruq(&#8220;buyruq_matni&#8221;, true);<\/strong> \/\/ Bu yerdagi 1-argument &#8211; AT-buyruq matni, 2-argument &#8220;<strong>true<\/strong>&#8221; &#8211; javobni kutish kerakligini tasdiqlovchi belgi.<\/p>\n<p style=\"text-align: justify;\"><em>Agar qaysidir AT-buyruqning javobi qaytish vaqti muhim bo&#8217;lmasa, yuqoridagi funksiya 2-argumentini &#8220;<strong>false<\/strong>&#8221; ga o&#8217;zgartirishimiz yoki buyruqni bevosita odatdagi tartib bo&#8217;yicha <strong>SIM800L.println(&#8220;AT-buyruq_matni&#8221;);<\/strong> tarzida yuborishimiz mumkin. Bu o&#8217;z navbatida, dasturning umumiy tezligi nisbatan oshishiga yordam beradi.<\/em><\/p>\n<p style=\"text-align: justify;\"><strong>5-misol.<\/strong> 4-misoldagi sketchga Arduino platasidagi ichki svetodiodni boshqarishga taalluqli kodlarni ham qo&#8217;shamiz (oxirgi 2 ta yordamchi funksiyalarsiz buning imkoni yo&#8217;q edi, chunki, <strong>gprs_send()<\/strong> funksiyasi kodidagi &#8220;AT+HTTPPARA&#8221;, &#8220;AT+HTTPACTION&#8221; va &#8220;AT+HTTPREAD&#8221; buyruqlari natijasini olmasdan turib, navbatdagi buyruqlarni bajarishga o&#8217;tishdan foyda yo&#8217;q edi). Demak, veb-sahifa skript-fayli va sketch quyidagi holga keladi (sxema va kerakli materiallar ro&#8217;yxati o&#8217;zgarmaydi).<\/p>\n<p><em>Veb-sahifa (iot.yarat.uz\/sim800l\/sensor.php) fayli:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Sketch:<\/em><\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natijalar:<\/em><\/p>\n<p><em>Brauzer yordamida boshqaruv:<\/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\/4f_fnkbyYhg?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L+UNO, IoT va svetodiodni brauzer yordamida boshqarish\"><\/iframe><\/div>\n<p><em>Ilova yordamida boshqaruv.<\/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\/-1GVohyIk-0?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L+UNO, IoT va svetodiodni HTTP va ilova yordamida boshqarish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\">Oxirgi misoldagi videolardan ko&#8217;rinadiki, http-server yordamida boshqaruv boshqa usullarga nisbatan uzoqroq vaqt talab etadi. Chunki so&#8217;rovlarni yuborish intervali 5 sekund etib belgilangan, demak, javob qaytishi bilan birga hisoblaganda, boshqaruv buyrug&#8217;i Arduinoga taxminan 5-10 sekundda yetib keladi. Bundan tashqari, mobil ilovadan foydalanilgan taqdirda, ilova ham 5 sekundlik o&#8217;z taymeriga ega bo&#8217;lgani uchun, yuqoridagi vaqtga yana 5 sekund qo&#8217;shilishi mumkin (serverga Arduino va ilova turli vaqtlarda so&#8217;rov yuborishi mumkinligi hisobiga, agar signal baravar yuborilsa, javob ham deyarli baravar qabul qilinadi).<\/p>\n<p style=\"text-align: justify;\">Saytga http-so&#8217;rovlar tez-tez yuborilishi esa, mahalliy xosting operatori tomonidan saytni avtomatik blokirovka qilinishiga olib kelinishi mumkin (standart xosting xizmatlarida tez-tez http-so&#8217;rov qabul qilish ko&#8217;zda tutilmaydi, bunday holatni server tomonidan &#8220;hakerlik hujumi&#8221; sifatida qaralishi mumkin).<\/p>\n<p style=\"text-align: justify;\">Shuning uchun, boshqaruv yuqori tezlikni talab etilgan hollarda, shundoq ham GPRS-internet tezligining nisbatan pastligini hisobga olib, http-server o&#8217;rniga MQTT-serverdan foydalanish maqsadga muvofiq.<\/p>\n<p style=\"text-align: justify;\"><strong>6-misol.<\/strong> Ushbu misolda, Arduino platasi svetodiodini boshqarish va datchik ko&#8217;rsatkichlarini olish MQTT texnologiyasi yordamida bajariladi. Buning uchun, ko&#8217;plab GSM-modullar uchun universal bo&#8217;lgan <a href=\"https:\/\/github.com\/vshymanskyy\/TinyGSM\">TinyGSM<\/a> tashqi bibliotekasidan foydalanamiz. Sketch mazkur biblioteka tarkibidagi (Arduino IDE \u0424\u0430\u0439\u043b\/\u041f\u0440\u0438\u043c\u0435\u0440\u044b\/TinyGSM menyusi) &#8220;<strong>MqttClient<\/strong>&#8221; namunaviy sketchining soddalashtirilgan ko&#8217;rinishi hisoblanadi. MQTT-broker sifatida esa, <a href=\"http:\/\/broker.emqx.io\">EMQX<\/a> serveridan foydalaniladi. Natijani esa, <a href=\"https:\/\/yarat.uz\/?p=2494\">boshqa amaliy dars<\/a>da ham foydalanilgan &#8220;<a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.doikov.mqttclient&amp;hl=ru\">MQTT Dashboard client<\/a>&#8221; universal mobil ilovasi hamda o&#8217;zimiz yaratgan <a href=\"https:\/\/mqqt_client_simple.apk\/\">oddiy mobil ilova<\/a> yordamida kuzatishimiz mumkin (O&#8217;zimiz yaratgan mobil ilovada datchik ko&#8217;rsatkichlari nazarda tutilmaganligi uchun, uni faqat universal ilovada kuzatishimiz mumkin).<\/p>\n<p><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\/yyIj6d_4VGw?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L+UNO+MQTT. Mobil ilovalar yordamida boshqarish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><strong>7-misol.<\/strong> Ushbu misolda modulning DTMF rejimi va tovush tonlari yordamida Arduino platasi ichki svetodiodini o&#8217;chirib-yoqish jarayonini ko&#8217;rib chiqamiz. Buning uchun, tegishli telefon raqamidan moduldagi SIM-karta raqamiga qo&#8217;ng&#8217;iroq qilinadi (zarurat bo&#8217;lsa, teskari qo&#8217;ng&#8217;iroq yordamida ham DTMF rejimidan foydalanish mumkin) va tovush assistenti eslatmasidan keyin, telefondagi raqamli klaviaturadan &#8220;0&#8221; va &#8220;1&#8221; tugmalarini bosish orqali, onlayn rejimida svetodiodni boshqariladi. Svetodiod holati o&#8217;zgarishiga mos ravishda &#8220;0&#8221; yoki &#8220;1&#8221; tovush tonlari eshittirib turiladi. Raqamlarni navbatdagi bosish oralig&#8217;i 1 sekunddan kam bo&#8217;lmasligi kerak (tasdiqlovchi ton eshittirib bo&#8217;linganidan keyin bosish kerak). Shuningdek, &#8220;<strong>#<\/strong>&#8221; belgisi bosilganda, mos tovush toni eshittiradiladi va modul &#8220;trubkani qo&#8217;yadi&#8221;. Modulga begona raqamdan qo&#8217;ng&#8217;iroq qilingan taqdirda ham, unga faqat ovozli eslatma eshittirilib, &#8220;trubka qo&#8217;yiladi&#8221;.<\/p>\n<pre><code><\/code><\/pre>\n<p><em>Natija:<\/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\/ss_PbmY73fM?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L+UNO. Svetodiodni DTMF funksiyasi yordamida jonli boshqarish\"><\/iframe><\/div>\n<p style=\"text-align: center;\"><em><strong>Mustahkamlash uchun topshiriqlar<\/strong><\/em><\/p>\n<p style=\"text-align: justify;\"><em>1) 1-misoldagi sketch yordamida quyidagi ko&#8217;p qo&#8217;llaniladigan AT-buyruqlarning bajarilishi bilan tanishing.<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><em>2) 2-misoldagi sketchni ishga tushirib, smartfondan GSM-modul raqamiga qo&#8217;ng&#8217;iroq qilish va SMS yuborishni mashq qiling. Bunda, AT-buyruqlarni to&#8217;g&#8217;ridan to&#8217;g&#8217;ri va o&#8217;zgaruvchilardan foydalangan holda yuborishidagi farqlarni solishtiring.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>3) 2-misoldagi sketchga o&#8217;zgartirishlar kiritib, uni mikrokontrollerga ulangan analog datchik ko&#8217;rsatkichlarini har 10\u00a0 sekundda smartfonga SMS xabar ko&#8217;rinishida yuborishga moslashtiring.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>Natija:<\/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\/woYcG8sL3Kw?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Datchik qiymatini SMS orqali yuborish\"><\/iframe><\/div>\n<em>4) 3-misoldagi sketchni ishga tushirib, smartfondan GSM-modul raqamiga qabul qilingan SMS larni tahlil qiling. Ushbu sketchga tegishli qo&#8217;shimchalarni kiritib, Arduino platasi ichki svetodiodini SMS-xabar orqali boshqarishga moslashtiring.<br \/>\n<\/em><\/p>\n<p style=\"text-align: justify;\"><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\/58xcvFHAQzk?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Arduino svetodiodini SMS orqali boshqarish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><em>5)<\/em> <em>3-misoldagi sketchga tegishli o&#8217;zgartishlar kiritib, Arduino platasi ichki svetodiodini qo&#8217;ng&#8217;iroq orqali boshqarishga moslashtiring.<\/em><\/p>\n<p style=\"text-align: justify;\"><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\/P6Fvaq0rgAc?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Arduino svetodiodini qo&#039;ng&#039;iroq orqali boshqarish\"><\/iframe><\/div>\n<p style=\"text-align: justify;\"><em>6) 2- va 3-misollardagi sketchlardan foydalanib hamda ularga tegishli o&#8217;zgartishlar kiritib, Arduino platasi ichki svetodiodini qo&#8217;ng&#8217;iroq va SMS-orqali boshqaruvchi hamda boshqarish natijalarini mos ravishda javob qo&#8217;ng&#8217;irog&#8217;i va javob SMS-xabari tarzida tasdiqlovchi (hisobot beruvchi) sketch yarating.<\/em><\/p>\n<p style=\"text-align: justify;\"><em>Natija (2 ta qismga bo&#8217;lingan):<\/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\/WVdQcIl_Gx4?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Qo&#039;ng&#039;iroq va SMS orqali Arduino svetodiodini boshqarish, haroratni tekshirish (1)\"><\/iframe><\/div>\n<div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/TGv9z1uikDE?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L. Qo&#039;ng&#039;iroq va SMS orqali Arduino svetodiodini boshqarish, haroratni tekshirish (2)\"><\/iframe><\/div>\n<em>7) 4-misoldagi sketchga o&#8217;zgarish kiritib, uni termistor va DHT11 raqamli termodatchigi ko&#8217;rsatkichlari asosidagi harorat va havo namligini serverga yuboruvchi termometrga moslashtiring. Veb-server veb-sahifasi faylini ham shunga mos ravishda o&#8217;zgartiring.<\/em><br \/>\n<em>8) 7-misoldagi sketchga o&#8217;zgarish kiritib va modul xotirasida mavjud fayllardan foydalanib (dastlabki xabar fayli almashtirilishi yoki chiqarib yuborilishi mumkin), uni 2 ta yuklamani (svetodiodlarni) boshqarishga moslashtiring. Yuklama tartib raqami (<strong>0<\/strong> va <strong>1<\/strong> raqamlari) 1-marta bosilganda tegishli yuklamani ulash, 2-marta bosilganda uzish, &#8220;<strong>*<\/strong>&#8221; bosilganda har ikkala yuklama holatini o&#8217;zgartirish vazifalari bajarilsin. Har bir buyruq ijrosi tegishli ton signali bilan tasdiqlansin.\u00a0 (Rele modulidan foydalanilgan taqdirda, uning elektr ta&#8217;minoti GSM-modul ta&#8217;minotini cheklab qo&#8217;ymasligi zarur).<\/em><\/p>\n<p style=\"text-align: justify;\"><em>Natija:<\/em><\/p>\n<p style=\"text-align: justify;\"><em><div class=\"su-youtube su-u-responsive-media-yes\"><iframe loading=\"lazy\" width=\"640\" height=\"480\" src=\"https:\/\/www.youtube.com\/embed\/n48nGbVNreY?\" frameborder=\"0\" allowfullscreen allow=\"autoplay; encrypted-media; picture-in-picture\" title=\"SIM800L+UNO. Ikkita svetodiodni DTMF funksiyasi yordamida jonli boshqarish\"><\/iframe><\/div>\n9) Yuqoridagi sketchlardan foydalanib ushbu dars mavzusiga doir shaxsiy o\u2019quv loyihasi taklifini bering va uni amalda bajaring, uning videosini tayyorlang (muvaffaqiyatli unikal loyihalar videosiga havolalar o\u2019quvchining nomidan saytning shu joyiga joylashtirib boriladi).<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bevosita GSM tarmog&#8217;i orqali boshqaruvga doir misollarga o&#8217;tishdan oldin AT-buyruq tushunchasi bilan tanishib olamiz. AT-buyruqlar &#8211; yuboruvchi qurilmadan qabul qiluvchi qurilmaga (modemga) bog&#8217;lanish, uni sozlash yoki boshqarish uchun yuboriladigan buyruqlar to&#8217;plami. Ular har doim &#8220;AT&#8221; yoki &#8220;at&#8221; kodi bilan boshlanadi. Terminaldan yuborilayotgan har bir buyruq oxirida &#8220;Enter&#8221; klavishasi bosiladi, dasturiy kodidan yuborilayotganda esa, xabar oxirida [&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-2896","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\/2896","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=2896"}],"version-history":[{"count":150,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/2896\/revisions"}],"predecessor-version":[{"id":5221,"href":"https:\/\/yarat.uz\/index.php?rest_route=\/wp\/v2\/posts\/2896\/revisions\/5221"}],"wp:attachment":[{"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yarat.uz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}