23.04.2026

ESP-NOW protokoli yordamida boshqaruv [18+]

ESP-NOW protokolidan foydalanish uchun ko’plab bibliotekalar yaratilgan. Biz shulardan ESP8266 (espnow.h) va ESP32 (“ESP32_NOW.h”) platalari uchun alohida-alohida (!) yaratilgan bibliotekalardan foydalanamiz. ESP8266 uchun “espnow.h” bibliotekasi platalar uchun dasturiy ta’minot tarkibida avtomatik ravishda o’rnatiladi, lekin menyudagi bibliotekalar ro’yxatida ko’rinmaydi. ESP32 uchun biblioteka alohida o’rnatilishi zarur va u menyuda ham alohida nom bilan ko’rinadi.

“espnow.h” bibliotekasining quyidagi funksiyalaridan foydalanish mumkin (batafsil ma’lumotlar: bu yerda va bu yerda):
– esp_now_init() – ESP-NOW protokolini initsializatsiyalash (faollashtirish);
– esp_now_set_self_role(role) – qurilmaning tarmoqdagi rolini o’rnatish. Argumentda quyidagi rollardan biri ko’rsatilishi mumkin: ESP_NOW_ROLE_IDLE = 0, ESP_NOW_ROLE_CONTROLLER, ESP_NOW_ROLE_SLAVE, ESP_NOW_ROLE_COMBO, ESP_NOW_ROLE_MAX.
– esp_now_add_peer(uint8 mac_addr, uint8 role, uint8 channel, uint8 key, uint8 key_len) – boshqa qurilma bilan moslashish;
– esp_now_send(uint8 mac_addr, uint8 data, int len) – boshqa qurilmaga ma’lumot paketini, uzunligini ko’rsatgan holda yuborish;
– esp_now-register_send_cb(<funksiya_nomi>) – ma’lumot yuborilganidan keyin chaqiriladigan teskari aloqa funksiyasini ko’rsatish. U ma’lumot qabul qilinganini tasdiqlashda foydalanishi mumkin;
– esp_now-register_rcv_cb(<funksiya_nomi>) – ma’lumot qabul qilinganidan keyin chaqiriladigan teskari aloqa funksiyasini ko’rsatish. Funksiya doirasida qabul qilingan ma’lumot paketini tahlil qilish va uning asosida tashqi qurilmalarni boshqarishda foydalanilishi mumkin.

1-misol. Dastlab “nuqtadan nuqtaga” rejimida birinchi (boshqaruvchi) mikrokontrollerga ulangan tugma (yoki viklyuchatel) yordamida ikkinchi (bo’ysunuvchi) mikrokontroller ichki svetodiodini boshqarishni ko’rib chiqamiz.

Boshqaruvchi sxemasi:


1-sketch (Boshqaruvchi):

2-sketch (Ijrochi):

Natija: