23.04.2026

Elektron pochta (email) yordamida boshqarish [18+]

Ushbu darsda ESP8266 mikrokontrolleridan biron manzilga elektron pochta yuborish, qabul qilish, pochta qutisi bilan ishlash, qabul qilingan pochtani o’qish, ochish va boshqa vazifalar uchun qo’llashga mo’ljallangan mobizt muallifligidagi biblioteka asosidagi namunaviy sketchlarni ko’rib chiqamiz. Buning uchun ushbu bibliotekadan foydalanamiz.

Yuqorida belgilangan vazifalarni bajarish uchun elektron pochta, akkaunt, uning qutisi tushunchalari, sozlamalari haqida yetarli ma’lumotlarga ega bo’lish tavsiya etiladi. Lekin biz ushbu darsda, ularga ko’p to’xtalib o’tirmaymiz.  To’g’ridan-to’g’ri namunaviy sketchlarning soddalashtirilgan variantidan foydalanib, datchik qiymatlarini ma’lum davriylikda elektron pochta manziliga yuborish (1-misol) hamda qabul qilingan elektron pochta xabari asosida datchik ko’rsatkichlarini port monitoriga chiqarish va xabarning mavzusi matni asosida mikrokontroller ichki svetodiodini boshqarish (2-misol) dasturlarini yaratishga kirishamiz.

Diqqat!
Elektron pochta yuborish, qabul qilish va qayta ishlash jarayonlari tegishli alohida serverlar tomonidan bajarilishi sababli, ularni smtp-server tomonidan yuborish davriyligi, shuningdek, imap-serverda qabul qilish vaqti uzoq talab qilishi mumkin. Aynan qancha vaqt talab etilishi esa, har xil serverlar uchun turlicha bo’ladi. Bundan tashqari, ba’zi serverlar bir manzilga tez-tez yuborilgan xabarni spam sifatida qabul qilishi yoki ularni umuman qabul qilmasligi (xabarni bloklab qo’yishi) ham mumkin.

Datchik ko’rsatkichlarini elektron pochta manziliga yuborish

1-misol. Ushbu misolda “/ESP Mail Client/SMTP/Send_Text” namunaviy sketchining soddalashtirilgan varianti yordamida Wemos D1 mini platasiga ulangan datchik (termistor) qiymatlarini ma’lum davriylikda iot@yarat.uz elektron pochta manzilidan ixtiyoriy boshqa elektron pochta manziliga yuborishni ko’rib chiqamiz. Buning uchun kerakli elektron komponentlarni o’zimizga tanish bo’lgan termistorli ixcham sxema asosida bog’laymiz.

Ushbu misolda mikrokontrollerdan datchik ko’rsatkichlarini yuborish davriyligi 30 sekunddan kam bo’lmasligi maqsadga muvofiq. Chunki har bir xabar yuboruvchi (smtp) va qabul qiluvchi (imap) server orqali qayta ishlanishi uchun ham vaqt talab etiladi.

Sxema:

Sketch (“Send_Text”):

Natija:

Elektron pochta xabari asosida qurilmalarni boshqarish

2-misol. Ushbu misolda “/ESP Mail Client/IMAP/Read_Single_Email” namunaviy sketchining soddalashtirilgan variantidan foydalanamiz. Uning yordamida qabul qilingan elektron pochta xabarini (xususan, ushbu misolda email-xabarning mavzusini) portga chiqarish va uning asosida mikrokontroller ichki svetodiodini o’chirish yoki yoqishni ko’rib chiqamiz. Buning uchun aniq bir elektron pochta manzilidan xabar mavzusi sifatida mos ravishda “ON” yoki “OFF” (harflar registri muhim emas) yozuvlarini iot@yarat.uz manziliga yuborishimiz kerak bo’ladi. Boshqa manzildan qabul qilingan xabarlar esa, svetodiod holatiga ta’sir qilmasligi kerak.

Qabul qilingan email-xabar matnini mikrokontroller tomonidan qayta ishlashda xotira bilan bog’liq bo’lgan xatoliklar yuzaga kelishi aniqlandi, shu sababli, ushbu misolda email-xabar matni o’rniga uning mavzusidan foydalanishga tog’ri keldi. Ya’ni, svetodiodni boshqarish buyrug’i bevosita email-xabar matnida emas, balki uning mavzusida ko’rsatildi (kelgusida kamchilik bartaraf etilsa, yuqoridagi sketch matni ham yangilab qo’yiladi).

Kompyuterdan svetodiodni boshqarish buyrug’ini yuborish intervali 5 sekunddan kam bo’lmasligi maqsadga muvofiq. Ayniqsa, keyingi buyruqni yuborishdan oldin, oldingi buyruq bajarilganiga ishoncha hosil qilish zarur. Aksincha, ayrim buyruqlar bajarilmay qolishi mumkin.

Sketch (“Read_Single_Email”):

Natija: