19.04.2026

Kodsiz WiFi-rozetka yaratamiz

Kodsiz “WiFi rozetka” yaratamiz

Hech qanday dasturlash tilini bilmasdan va umuman IT yoʻnalishida chuqur bilimga ega boʻlmasdan turib ham WiFi orqali masofadan boshqariladigan aqlli qurilma yaratsa boʻladimi? Ha, boʻladi. Hatto bir necha daqiqada ham yaratsa boʻladi.

Assalomu alaykum, hurmatli obunachilar, bu – “Oʻzing yarat!” loyihasi, va men uning muallifi Nizomiddinman. Agar Siz elektron qurilmalarni oʻz qoʻlingiz bilan yasashni oʻrganmoqchi boʻlsangiz, yoki robototexnika kursini bitirgan boʻlsangiz va oʻz malakangizni yanada oshirmoqchi boʻlsangiz “Oʻzing yarat!” loyihasi aynan siz uchun. Bu loyiha va uning maqsadlari haqida alohida videorolikda maʻlumot berib oʻtganman, shuning uchun yana toʻxtalib oʻtirmayman va maqsadga oʻtaman.

Bugungi videoroligimizda WiFi orqali masofadan boshqaruvning eng oson usuli bilan tanishib olasiz. Buning uchun 3 ta asosiy elektron komponentlar – Wemos D1 mini tadqiqot platasi (35.000-40.000), 5V kuchlanishda ishlovchi bir kanalli elektromagnit rele moduli (15.000-20.000), oʻzgaruvchan 220V dan o’zgarmas 5V kuchlanishga pasaytiruvchi AC/DC taʻminot bloki  (20.000-25.000) va tashqi elektr rozetkasi (15.000-25.000) kerak boʻladi. Taʻminot blokini oddiy telefon quvvatlagichlaridan ham topish mumkin.

Qurilmani yaratish jarayonida shu narsa maʻlum boʻldiki, yuqoridagi 3 ta elektron komponentlardan taʻminot blokini boʻyi balandligi yuqoriligi sababli, uni bir uyali oʻrtacha oʻlchamdagi tashqi rozetkaning korpusiga sigʻdirishning imkoni boʻlmaydi. Shuning uchun, bir yoʻla 2 ta WiFi-rozetka yaratib, shundan faqat bittasini tayyor holga keltirishga qaror qildim.

Shunda ham, 2-qurilma ta’minot bloki balandligi tufayli ikkita uyali tashqi rozetkadan boʻrtib chiqib turishini kuzatishimiz mumkin.

Shu oʻrinda savol tugʻilishi mumkin, nega aynan tashqi rozetka? Devorga oʻrnatiladigan rozetkani WiFi-rozetkaga aylantirib boʻlmaydimi? degan. Boʻladi. Ayniqsa, USB-portli devor rozetkasini WiFi-rozetkaga aylantirish yana ham osonroq kechadi. Chunki uning oʻzida oʻzgaruvchan 220Volt kuchlanishni oʻzgarmas 5 voltga tushiruvchi ichki AC/DC-moduli oldindan mavjud boʻladi. Faqat ularga WiFi va rele modullarini qoʻshish va ularni alohida korpusga joylashtirish kerak qoladi xolos.

Qurilmamiz faqat WiFi-tarmoq hududida cheklangan doirada ishlaydi, yaʻni hozircha uni Internet orqali boshqarib boʻlmaydi – hatto WiFi-routerimiz Internetga ulangan bo’lsa ham. Chunki boshqaruv Internet orqali boʻlganda, ichki tarmoqdagi qurilmaga bogʻlanish uchun boshqa murakkab bulutli texnologiyalar va professional dasturlash tillaridan ham foydalanishga toʻgʻri keladi – bu haqda oʻquv darslarimiz davomida batafsil maʻlumotga ega boʻlishingiz mumkin. Bizning maqsadimiz esa, qurilmani umuman kod yozmasdan yaratish edi. Shulardan kelib chiqib ushbu loyihamizni “WiFi-rozetka” deb nomlashga qaror qilindi.

Tashqi elektr rozetkasini tanlashda uning ichida tadqiqot platasi, rele moduli va ta’minot blokiga yetarli joy mavjudligiga eʻtibor qaratish zarur, yaʻni imkon qadar oʻlchamlari kattaroq rozetkani tanlash maqsadga muvofiq. Masalan, ikki uyali standart rozetka ichiga ta’minot blokini sigʻdirish qiyinroq kechishi mumkin, bitta uyali rozetkada esa, buning imkoni yoʻq.

Lekin, agar siz WiFi-rozetkani shunchaki sinov-tadqiqot uchun yaratishni rejalashtirgan boʻlsangiz, bitta uyali tashqi rozetka bilan cheklanishingiz ham mumkin, chunki bunda uning korpusiga faqat rele modulini joylashtirish yetarli boʻladi, elektr taʻminoti doim USB portidan olingani sababli, AC/DC ta’minot blokining umuman keragi boʻlmaydi. Wemos D1 mini platasini esa, dasturga keyinchalik oʻzgartirishlar kiritish qulay boʻlishi uchun, rozetkaning korpusidan tashqarida qoldirish mumkin.

Yuqoridagi komponentlardan tashqari, ularni bir-biriga va kompyuterga bogʻlash, dasturni tadqiqot platasiga yuklash uchun USB-kabel, maket platasi hamda elektr oʻtkazgichlar ham kerak boʻladi. USB-kabel turi tadqiqot platasi USB porti turiga mos boʻlishi kerak. Tajribali elektronikachilar qurilma maketi tayyor boʻlganidan keyin, ularni yagona prototip (montaj) platasiga lehimlash (payka qilish) usulida joylashtirib olishlari ham mumkin.

 

Eslatib o’taman, WiFi rozetkaga yuqori kuchlanishli elektr jihozlarini ulash koʻzda tutilganligi sababli, loyihamiz elektr toki bilan ishlash boʻyicha tajribasi bor boʻlgan, faqat 18 va undan katta yoshdagi insonlar uchun tavsiya etiladi.

Eslatma. WiFi-rozetka loyihasi uchun Wemos D1 mini platasi oʻrniga ESP8266 seriyasidagi boshqa mikrokontrollerli plata va modullardan foydalanish mumkin. Masalan, plata oʻrniga kichik oʻlchamli ESP01 modulidan, standart rele moduli oʻrniga esa, ESP01 uchun maxsus rele modulidan foydalanish mumkin. Ta’minot bloki sifatida esa, hozirda elektrotexnika doʻkonlarida sotuvda koʻp uchraydigan USB-portli devor rozetkasining AC/DC modulidan foydalanish mumkin.

Barcha yuqorida keltirilgan komponentlarni xalqaro yoki mahalliy marketpleyslardan va Internet doʻkonlardan izlab topish va sotib olish mumkin. Xalqaro marketpleyslardan kerakli tovarni sotib olishning oʻziga xosliklari haqida quyidagi havola orqali saytimizdagi sahifa orqali batafsil maʻlumot olishingizni tavsiya etamiz: havola.

Elektron komponentlardan tashqari, kompyuterga kodsiz dasturlash va tayyor dasturni tadqiqot platasi mikrokontrolleriga yuklash uchun 2 ta dasturlash vositasini Internetdan yuklab olishingiz va oʻrnatib olishingiz ham zarur boʻladi. Ushbu dasturlardan keyinchalik ham, boshqa dasturlarni tayyorlash va tadqiqot platasi mikrokontrolleriga yuklashda foydalanish mumkin. Yoki ushbu dasturlarni oʻrnatishda tanishlaringiz yordamidan ham foydalanishingiz mumkin.

Biz faqat Arduino IDE va ArduBlock 2.0 dasturlarini tegishli havolalar yordamida Internetdan yuklab olishimiz va kompyuterga oʻrnatib olishimiz kerak boʻladi!. Bu yerdagi ArduBlock dasturi bizga bloklar yordamida dastur tuzish uchun, Arduino IDE dasturi esa tayyor boʻlgan dasturni mikrokontrollerga proshivka qilish uchun kerak boʻladi. Hozirda ArduBlock dasturining onlayn hamda oflayn variantlardagi eng oxirgi 3-versiyasi ham mavjud. Lekin onlayn versiyasi faqat Internet orqali ishlatiladi, ayrim cheklovlarga ega va bu har doim ham qulay emas. Oxirgi oflayn 3-versiyasi pulli hisoblanadi, 3-demo versiyasi esa koʻplab cheklovlarga ega. Shuning uchun biz ushbu dasturning oflayn 2-versiyasidan foydalanamiz.

Arduino IDE platformasida mikrokontrollerni proshivka qilish uchun biz ESP8266 mikrokontrollerlar oilasi tarkibidagi ESP-12F mikrokontrolleri asosida ishlab chiqarilgan Wemos D1 mini platasidan foydalanamiz. Chunki, ESP8266 oilasidagi barcha mikrokontrollerlar oʻzini ichiga WiFi modulini ham olgan. Wemos D1 mini platasi yordamida jami 11 tagacha yuklamani boshqarish imkoniyati mavjud, lekin biz shundan faqat D4 kontaktiga rele orqali ulangan rozetka yuklamasi – stol lampasini boshqarish bilan cheklanamiz.

Arduino IDE dasturi o’rnatilganidan keyin, birinchi o’rinda o’zimiz foydalanmoqchi bo’lgan Wemos D1 mini platasini o’z ichiga oluvchi ESP8266 platalar oilasi dasturiy ta’minotini (drayver va bibliotekalarini) ham o’rnatib olishimiz zarur. Ularni o’rnatish jarayonlarini, tegishli dars mashg’uloti materialiga quyida ko’rsatilgan havola yordamida o’tib, o’rganib olishimiz mumkin.

Wemos D1 mini platasidan tashqari, bizga 5V kuchlanishda ishlovchi 1 ta kanalli elektromagnit rele moduli, sinov-tadqiqot ishlari uchun maket platasi, komponentlarni bir biriga va kompyuterga ulash uchun USB-kabel hamda “female+male” turidagi 3 dona oʻtkazgichlar ham kerak boʻladi.

1-navbatda elektron komponentlarni sxema asosida quyidagi tartib boʻyicha bir-biriga bogʻlaymiz:
Maket platasiga Wemos D1 mini platasini joylashtiramiz va oʻtkazgichlar yordamida rele moduliga bogʻlaymiz. Wemos D1 mini platasining 3V3, G, D4 kontaktlarini topamiz, ularni oʻtkazgichlar yordamida mos ravishda (sxemada qizil, qora, koʻk ranglarda) rele modulidagi VCC, GND, IN kontaktlariga ulaymiz (baʻzi rele modullaridagi kontaktlar joylashuvi sxemadan farq qilishi mumkin, lekin ulardagi kontaktlarning nomlanishi oʻxshash boʻladi: VCC, IN1, GND). WiFi-rozetka qurilmasining bogʻlanish sxemasi quyidagi holga keladi: ,

Natijada, plataning +3,3V kuchlanishi relening VCC kontaktiga ham yuboriladi. Plata va moduldagi GND kontaktlari umumiy kontaktni anglatadi va undagi kuchlanish doim 0V boʻladi. Plataning D4 kontaktidan chiqadigan boshqaruv (“ON”, “OFF”) signallari modulning IN (IN1) kontakti orqali releni va unga ulanadigan rozetkani boshqaradi.
Relening qarama-qarshi tomonidagi “NO”, “COM”, “NC” kontaktlari yuklamani boshqarish uchun ishlatiladi. Xususan, “COM” kontaktiga kiruvchi kuchlanish rele ulanganda “NO” kontaktida paydo boʻladi, rele uzilganda kuchlanish yoʻqoladi. “NC” kontakti esa, teskari tartibda ishlaydi: relega ulanganda “NC” da kiruvchi kuchlanish yoʻqoladi, rele uzilganda esa, paydo boʻladi. Koʻp hollarda “NC” kontaktidan umuman foydalanilmaydi.

Oʻtkazgichlar toʻgʻri ulanganini yana bir bor tekshirib, shundan keyingina USB-kabel yordamida Wemos D1 mini platasi va kompyuter USB-portini bog’laymiz. Kabel ulanganda platadagi ichki svetodiod bir marta yonib-o’chganligi plataga ulanish to’g’ri bajarilganini tasdiqlaydi. Rele moduli to’g’ri ulanganligini esa, undagi qizil svetodiod tasdiqlab turadi. Undagi yashil svetodiod faqat boshqaruv signali mavjud bo’lganda yonadi, signal yo’qolganda esa o’chadi.

Kod yozmasdan WiFi-rozetka dasturini tuzish uchun, ArduBlock dasturini ishga tushiramiz. Kerakli bloklarni quyidagi tartibda asosiy oynaga joylashtiramiz:

Oynaning yuqori panelidagi “{…}” (“Развернуть Arduino код”) tugmasini bosib, bloklar asosidagi dasturning avtomatik ravishda yaratilayotgan kodini kuzatib borishimiz ham mumkin.

Eslatib oʻtaman, ArduBlock dasturi yuqori panelidagi mikrokontroller nomi va unga bogʻlanish porti notoʻgʻri ko’rsatilganining bizga qizigʻi yoʻq. Chunki biz tayyor dasturni mikrokontrollerga bepul yuklash uchun Arduino IDE dasturidan foydalanamiz. Buning uchun tayyor dastur kodini uning yuqori qismidagi “Скопировать в буфер обмена” tugmasini bosib, kodni buferga nusxalaymiz.

Shundan keyin Arduino IDE dasturini ishga tushiramiz va yangi loyiha faylini yaratamiz. Ekranda paydo boʻlgan kodni oʻchirib tashlaymiz va uning oʻrniga “Вставить” buyrugʻi yordamida buferda saqlangan kodni qoʻyamiz (1-variant).

 Dastur kodi (1-variant, DHCP server ajratgan IP-manzil uchun)

Yuqoridagi kod varianti umuman kodsiz dasturlash maqsadida yaratildi. Lekin, ushbu dastur orqali koʻrsatiladigan WiFi-rozetka IP-manzili WiFi-routerdagi DHCP-server tomonidan ajratilgan boʻlsa, u kelgusida oʻzgarib turishi mumkin, natijada boshqaruvchi dasturlarda yoki brauzerlarda har safar oʻzgargan IP-manzilni qayta koʻrsatishga toʻgʻri keladi. Muammoni bartaraf etish uchun, IP manzilni aniq koʻrsatib qoʻyish kerak boʻladi.

Shuning uchun dastur kodiga Arduino IDE da quyidagi rasmda ajratilgan joylarga tegishli oʻzgartirishlar kiritilib, manzillarni aniq ko’rsatilib qo’yilsa, ular keyinchalik o’zgarmaydi (2-variant).

Dastur o’zgartirilgan kodi (2-variant, o’zgarmaydigan statik IP-manzil uchun)

Keyingi bosqichda oʻzimiz foydalanayotgan mikrokontroller yoki plata nomini, soʻngra u ulangan ketma-ket port nomini menyudan tanlaymiz. Shundan keyin, “Загрузить” tugmasini bosib, tayyor dasturni mikrokontrollerga yuklaymiz.

Agar yuklash jarayonida xatolik yuz bersa, koʻp hollarda bu Arduino IDE dasturiga ESP8266 mikrokontrollerlari drayveri yoki bibliotekalari notoʻgʻri oʻrnatilganligi bilan bogʻliq boʻladi. Agar Siz qurilmani yasagan paytingizda qandaydir muammoga duch kelsangiz, kommentariylarda yozishingizni soʻrayman.

Agar hammasi toʻgʻri bajarilgan boʻlsa, dastur ishga tushgan paytda u koʻrsatilgan SSID va parol asosida WiFi tarmogʻiga ulanishga urinadi. Ulanish muvaffaqiyatli bajarilsa, oxirida port monitorida mikrokontroller IP-manzili koʻrsatiladi. Shuning uchun, yuklash jarayoni tugagan zahoti Arduino IDE oynasi yuqori oʻng tomonidagi tugma yordamida port monitorini ochish kerak boʻladi. Agar uni koʻrishga ulgurmagan boʻlsangiz, platadagi “reset” tugmasi yordamida dasturni qayta ishga tushirishingiz mumkin.

Koʻrsatilgan IP-manzilni eslab qolamiz, yoki “Ctrl+Insert” tugmasi yordamida buferga nusxalab olamiz. Shundan keyin, ixtiyoriy veb-brauzer manzil kiritish qatoriga uni kiritib, Enterni bosamiz.

Agar IP-manzil toʻgʻri koʻrsatilgan boʻlsa, ochilgan veb-sahifada WiFi-rozetkaning oxirgi holati va “ON”, “OFF” boshqaruv tugmalari koʻrsatiladi. Tugmalar yordamida WiFi-rozetka yuklamasini boshqarish mumkin, boshqarish natijasi matn yordamida ham ko’rsatib turiladi. Har bir boshqaruv buyrug’idan keyin, brauzer manzillar qatoridagi manzil ham oʻzgarib turadi. Manzil oxiridagi “ID=1” yozuvi yuklama ulanganligini, “ID=2” esa, uzilganligini bildiradi. Shu manzillarni qoʻlda oʻzgartirish orqali ham yuklamani brauzer yordamida boshqarish mumkin.

Yuqorida aytilganidek, yuklamani har qanday brauzerda boshqarish mumkin. Bundan tashqari, brauzer nafaqat kompyuterdagi, balki smartfondagi va hatto smart-televizordagi brauzer boʻlishi ham mumkin. Asosiysi, ushbu qurilmalar mikrokontroller bilan bitta ichki (192.168.0.1-192.168.0.255) tarmoqqa ulangan boʻlishi zarur.

Mobil ilovani yaratish jarayonlarini boshidan oxirigacha koʻrsatib oʻtirmayman, faqat oʻzgartirish kiritiladigan qismini koʻrsatib oʻtaman. Chunki oldingi videoroligimizda bu haqda yetarlicha maʻlumot berilgan.

Esingizda boʻlsa, oʻtgan safargi videoroligimizda kodsiz dastur yordamida Internetdagi xohlagan sahifani ochib beradigan Android mobil ilovasini osongina yaratish jarayonini koʻrsatib bergan edim. Agar oʻsha videoroligimizdagi loyihada “Web prasmotrshik” komponenti “Domashnaya stranitsa” maydoniga yuqoridagi IP manzilni kiritib qoʻyilsa, mobil ilovamiz WiFi-rozetkamizni boshqaruvchi ilovaga aylanadi.

Mobil ilovani yaratish jarayonlarini boshidan oxirigacha koʻrsatib oʻtirmayman, faqat oʻzgartirish kiritiladigan qismini koʻrsatib oʻtaman. Chunki oldingi videoroligimizda bu haqda yetarlicha maʻlumot berilgan.

Agar mobil ilova loyihasiga IP-manzilni kiritish uchun bitta matn maydoni va uni tasdiqlash uchun tugma komponentlarini qoʻshib, ularni boshqaruvchi blokli dastur tuzilsa, kelgusida qaysi manzildagi WiFi-rozetkani boshqarish kerakligini koʻrsatsa boʻladigan universal ilovaga aylanadi. Ya’ni, WiFi-rozetka IP-manzili oʻzgarsa ham, mobil ilovaga har safar qaytadan oʻzgartirishga toʻgʻri kelavermaydi. Buning uchun faqat kerakli manzilni ilovadagi matn maydoniga kiritib, OK tugmasini bosish yetarli boʻladi.

Agar rozetkadagi IP-manzil oʻzgargan boʻlsa, mobil ilovada veb-sahifani ochish xatoligi haqida xabar beriladi. Faqat shunday vaziyatda matn maydoniga rozetkaning yangi IP-manzilini kiritish va OKni bosish kerak boʻladi. Bundan tashqari, agar siz bir nechta WiFi-rozetkalarni yaratgan boʻlsangiz va ularning hammasini bitta ilovadan boshqarishni xohlasangiz ham, oldin kerakli rozetka IP-manzilini shu maydonga kiritishingiz kerak boʻladi.

WiFi-rozetkani smart-televizordan boshqarish uchun, unga oʻrnatilgan ilovalar ichidan kerakli veb-brauzer ilovasini topib ishga tushiriladi va uning manzil kiritish qatoriga kerakli IP-manzil kiritiladi. Keyingi boshqarish jarayonlari esa, oldingi usullardan farq qilmaydi.

Eng qizigʻi, WiFi-rozetka qurilmamizni boshqa bir qurilma – mikrokontroller asosidagi pult tomonidan ham boshqarish mumkin. Bunday qurilmamiz avtonom ravishda, yaʻni batareykadan ishlaydi va uni WiFi-tarmoq hududida boshqa joylarga koʻchirishimiz mumkin boʻladi. Shuning uchun navbatdagi yangi qurilmamizni nomini “WiFi-pult” deb nomlashga qaror qildim.

Demak, navbatdagi videosharhimiz bugingi rolikni davomi desak ham boʻladi. Sababi, unda bugun yaratilgan WiFi-rozetka qurilmamizni boshqarish uchun maxsus yaratilgan “WiFi-pult” qurilmasi haqida boʻladi. Shuning uchun, agar Siz kanalimizga hali ham obuna boʻlmagan boʻlsangiz, keyingi roligimizni oʻtkazib yubormasligingiz uchun hoziroq obuna boʻlib qoʻyishni unutmang.

Agar ushbu video sizga maʻqul boʻlgan boʻlsa, layk bosib, tanishlaringizga ham yuborib qoʻyishingizni ham soʻrab qolaman. Siz bilan “Oʻzing yarat” loyihasi va uning muallifi men Nizomiddin boʻldim. Keyingi videolarimizda koʻrishguncha xayr, salomat boʻling!

 

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