⚠️ 🔧 Друзі, з 26 вересня по 1 жовтня ми йдемо в міні-відпустку, тож відправок не буде. Але сайт працює, і замовлення приймаємо як завжди! Усе, що оформите в ці дні, почнемо відправляти 2 жовтня 📦 Дякуємо, що ви з нами! 💛
Каталог товарів
Клієнту
Тема сайту:
+38 (066) 305-77-25
Наша адреса
Україна, тимчасово - доставка тільки Новою Поштою, УкрПоштою, МістПошта, ROZETKA Delivery
Телефони
Графік роботи
  • Пн-Пт: з 9 до 18
  • Сб: з 10 до 17
  • Нд: з 11 до 16
E-mail
Ми в соцмережах
Перейти до контактів
0 0
Каталог
Головна
Закладки
0
Порівняти
0
Контакти

ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC

Країна-виробник: Китай Код товару: 1237
3
Все про товар
Опис
Характеристики
Відгуки 3
Питання1
FAQ
Інструкція
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
Немає в наявності
Код товару: 1237
109.00 грн
🚚 Відправка щодня о 15 годині
-Вхідна напруга-:4,5–5,5 В
-Інтерфейс-:UART, I²C, SPI, GPIO
-Флеш-пам'ять-:4 МБ
-Мікроконтролер-:ESP8266
-Тип роз'єму-:Micro-USB або USB Type-C (залежно від опції)
-Розміри-:59,5 × 31,2 × 12,5 мм
-Логічний рівень GPIO-:3,3 В
-Стандарт Wi-Fi-:IEEE 802.11 b/g/n
-Перетворювач USB-UART-:CH340 (Micro-USB або USB Type-C); CP2102 (Micro-USB) — залежно від опції
-Частотний діапазон-:2,4 ГГц (Wi‑Fi)
Доставка
Новою Поштою у відділення та поштомати
Новою Поштою у відділення та поштомати
від 80 ₴
ROZETKA Delivery
ROZETKA Delivery
Фіксована 49грн
Укрпоштою у відділення по Україні
Укрпоштою у відділення по Україні
від 55 ₴
Meest Пошта
Meest Пошта
від 80 ₴
Оплата
Оплата карткою Оплата карткою
Переказ на картку Переказ на картку
Оплата на IBAN Оплата на IBAN
Безготівковий розрахунок Безготівковий розрахунок
Післяплата Післяплата
Гарантійні положення
Гарантійні зобов'язання на товари, які були паяні, не поширюються
ESP8266 CH340✨Wi-Fi Плата NodeMCU✨MicroUSB / TypeC
Код товару: 1237
109.00 грн
Опис

Коротко про ESP8266 NodeMCU

Варіанти CH340 / CP2102

NodeMCU-сумісна плата на ESP8266 призначена для Wi‑Fi-датчиків, телеметрії, локальних вебпанелей, домашньої автоматизації та навчальних IoT-проєктів. Залежно від обраної опції зв’язок із комп’ютером через USB забезпечує перетворювач CH340 або CP2102.

Передбачені виконання CH340 з Micro-USB, CH340 з USB Type-C та CP2102 з Micro-USB. Наявність кожного виконання перевіряйте у списку опцій перед замовленням. Для прошивання потрібен USB-кабель із передаванням даних.

Ключові характеристики

Мікроконтролер
ESP8266
Флеш-пам’ять
4 МБ
USB–UART
CH340 або CP2102 залежно від опції
Виконання USB
CH340 + Micro-USB; CH340 + USB Type-C; CP2102 + Micro-USB
Wi‑Fi
802.11 b/g/n, 2,4 ГГц[1]
Інтерфейси
UART, I²C, SPI, GPIO
Вхідне живлення плати
4,5–5,5 В
Логічні рівні GPIO
3,3 В; сигнали 5 В потребують узгодження[1]
Розміри плати
59,5 × 31,2 × 12,5 мм

Детальний опис та особливості

Плата для прототипування з Wi‑Fi

ESP8266 виконує програму, обробляє сигнали периферії та підключається до бездротової мережі без окремого Wi‑Fi-модуля. Плата може опитувати датчики, передавати телеметрію, приймати команди або обслуговувати простий локальний вебінтерфейс. Для розробки можна використовувати Arduino IDE, PlatformIO або сумісну збірку MicroPython.

USB–UART і варіанти роз’єму

Перетворювач CH340 або CP2102 забезпечує зв’язок між USB-портом комп’ютера та UART плати. Вибір моста визначає потрібний драйвер і поєднання з USB-роз’ємом: CH340 пропонується з Micro-USB або USB Type-C, а CP2102 — з Micro-USB. Для прошивання потрібен кабель із лініями передавання даних: зарядний кабель без ліній D+ і D− подасть живлення, але не створить послідовний порт.

Виводи та режим запуску

Позначення D0, D1 та інші на NodeMCU-сумісних платах не завжди збігаються з номерами GPIO у програмі. Перед підключенням периферії звірте таблицю відповідності для вибраного профілю плати. GPIO0, GPIO2 і GPIO15 беруть участь у виборі режиму запуску, тому зовнішня схема не повинна примусово встановлювати на них неправильні рівні під час увімкнення або скидання.[2]

Аналоговий вхід A0

Допустимий рівень на A0 залежить від реалізації конкретного виконання плати: деякі плати мають вхідний подільник, інші — ні. До перевірки схеми або коефіцієнта подільника безпечніше подавати на A0 менше 1,0 В.[3]

Межі бездротової сумісності

Плата працює з Wi‑Fi 2,4 ГГц і не підтримує мережі 5 ГГц або Bluetooth. Це підходить для типових домашніх роутерів із діапазоном 2,4 ГГц, але для Bluetooth-периферії потрібна інша платформа.

Приклади застосування

Wi‑Fi-вузол моніторингу мікроклімату

Плата опитує датчик температури й вологості AM2302 (DHT22) та передає показники до локального сервера або панелі моніторингу. Перед монтажем звірте розпіновку датчика та потрібний підтягувальний резистор.

Локальна вебпанель

ESP8266 обслуговує сторінку в домашній мережі для перегляду станів входів, показників датчиків або надсилання команд виходам.

Бездротовий вузол автоматизації

Плата приймає команди через Wi‑Fi та керує освітленням, клапаном, вентилятором або іншим навантаженням через окремий драйвер, розрахований на його напругу й струм.

Навчальний стенд ESP8266

Плата підходить для практики з GPIO, UART, I²C, SPI, підключенням до Wi‑Fi, послідовним налагодженням і створенням простих IoT-застосунків.

Підійде / не підійде

Підійде

  • для датчиків і телеметрії через Wi‑Fi 2,4 ГГц;
  • для локальних вебінтерфейсів та нескладної домашньої автоматизації;
  • для периферії з логічними рівнями 3,3 В;
  • для навчання роботі з ESP8266 в Arduino IDE, PlatformIO або MicroPython;
  • для прототипів, яким достатньо 4 МБ флеш-пам’яті та наявних інтерфейсів.

Не підійде

  • для Wi‑Fi 5 ГГц;
  • для проєктів, яким потрібен Bluetooth; для Wi‑Fi разом із Bluetooth розгляньте ESP32 MiniKit;
  • для прямого підключення сигналів 5 В до GPIO;
  • для безпосереднього керування двигунами, котушками реле та іншими силовими навантаженнями;
  • для механічної заміни іншої плати без звіряння габаритів, розташування контактів і USB-роз’єму.

Підключення та перший запуск

  1. Виберіть виконання та кабель

    Для CH340 з Micro-USB або CP2102 з Micro-USB потрібен Micro-USB кабель. Для CH340 з USB Type-C потрібен USB-C кабель. В обох випадках кабель має підтримувати передавання даних.

  2. Установіть підтримку ESP8266

    В Arduino IDE додайте пакет ESP8266 через Boards Manager або налаштуйте платформу Espressif 8266 у PlatformIO.[4]

  3. Під’єднайте плату до комп’ютера

    Виберіть послідовний порт. Якщо порт не з’явився, перевірте USB-кабель і встановіть драйвер саме для моста обраного виконання: CH340/CH341 від WCH або CP210x від Silicon Labs.[5], [7]

  4. Виберіть профіль і перевірте GPIO

    Профіль NodeMCU 1.0 може бути початковим варіантом, але флеш-пам’ять, розпіновку та позначення D-пінів звірте з конкретним виконанням плати.

  5. Завантажте простий тест

    Спочатку прошийте тестовий скетч без зовнішньої периферії. Якщо завантаження не починається, перевірте порт, профіль, кабель, живлення та стан стартових GPIO; за потреби зменште швидкість завантаження.[6]

Обмеження та безпека

Не змішуйте вхідне живлення та логічні рівні

Діапазон 4,5–5,5 В стосується вхідного живлення плати. Не подавайте цю напругу на GPIO або контакт 3V3: GPIO працюють із логікою 3,3 В.[1]

Перевірте межу A0

До підтвердження схеми конкретного виконання не подавайте на A0 1,0 В або більше. Вищий рівень використовуйте лише після перевірки наявності та коефіцієнта вхідного подільника.[3]

Сигнали 5 В потребують узгодження

Для ліній між 3,3-вольтовою платою та 5-вольтовою периферією застосовуйте відповідну схему узгодження. Для повільних двонапрямних ліній та I²C може підійти 4-канальний перетворювач логічних рівнів; для UART, SPI та швидких сигналів окремо перевірте напрямок і допустиму швидкість перетворювача.

Не підключайте силове навантаження до GPIO

Двигуни, реле, клапани й потужні світлодіоди підключайте через належний драйвер та окремо підібране живлення. Не використовуйте GPIO як джерело струму для такого навантаження.

Не блокуйте стартові GPIO

Периферія на GPIO0, GPIO2 або GPIO15 може завадити нормальному запуску чи переходу в режим прошивання. Перевіряйте рівні на цих контактах під час увімкнення й скидання.[2]

FAQ

Які виконання плати передбачені?

Передбачені CH340 з Micro-USB, CH340 з USB Type-C та CP2102 з Micro-USB. Фактичну наявність потрібного виконання перевіряйте у списку опцій.

Який USB-кабель потрібен?

Варіанти CH340 Micro-USB і CP2102 Micro-USB потребують Micro-USB кабелю; для CH340 Type-C потрібен USB-C кабель. Кабель має підтримувати передавання даних, а не лише заряджання.

Чому комп’ютер не бачить послідовний порт?

Перевірте кабель із лініями даних і USB-порт, а потім установіть драйвер відповідно до обраного USB–UART: CH340/CH341 або CP210x. Після появи порту виберіть його в середовищі розробки.

Чи можна підключити плату до Wi‑Fi 5 ГГц?

Ні. ESP8266 працює з Wi‑Fi 2,4 ГГц.

Чи є в ESP8266 Bluetooth?

Ні. Для проєкту з Wi‑Fi та Bluetooth потрібна плата на іншій платформі, наприклад ESP32.

Чи можна подавати 5 В на GPIO?

Ні. GPIO працюють із логічними рівнями 3,3 В; сигнали 5 В потрібно узгодити до підключення.

Яка допустима напруга на A0?

До перевірки вхідного подільника конкретного виконання вважайте безпечним рівень нижче 1,0 В. Не переносіть межу A0 з іншої плати ESP8266.

Документи та джерела

Micro-USB, Type-C, вайфай

Характеристики
-Основні-
-Вхідна напруга-
4,5–5,5 В
-Інтерфейс-
UART, I²C, SPI, GPIO
-Флеш-пам'ять-
4 МБ
-Мікроконтролер-
ESP8266
-Тип роз'єму-
Micro-USB або USB Type-C (залежно від опції)
-Логічний рівень GPIO-
3,3 В
-Перетворювач USB-UART-
CH340 (Micro-USB або USB Type-C); CP2102 (Micro-USB) — залежно від опції
-Частотний діапазон-
2,4 ГГц (Wi‑Fi)
-Додаткові-
-Розміри-
59,5 × 31,2 × 12,5 мм
-Стандарт Wi-Fi-
IEEE 802.11 b/g/n
Відгуки
Рейтинг товару:
5
Відгуків: 3
5
3
4
0
3
0
2
0
1
0
Григорій
21 грудня 2024 (13:25)
Замовляв один для тесту. Відправили швидко, все згідно опису. Перевірив - працює без нарікань. Буду замовляти ще!
+
Переваги товару:

Ціна, якість

Константин
06 грудня 2023 (21:34)
Все пришло в идеальном состоянии и быстро
Все как описано на сайте
Продавцам 5 за оперативность
Відповідь:
Дякуємо
Oleksii
23 листопада 2023 (17:43)
Брав 2 штуки Type-C - працюють без проблем
Питання та відповіді
Додайте питання, і ми відповімо найближчим часом.
Сергій
04 серпня 2024 (13:10)

Шановні, підскажіть, хто знає: як залити на цю плату скетч через Arduino IDE? Я знайти цю плату серед списку доступних плат?

Відповідь:
04 серпня 2024 (13:13)
В інтернеті є багато інформації: якщо коротко - завантажити через менеджер плат "ESP8266" та обрати відповідну з списку
Інструкція

⚡ Інструкція підключення NodeMCU ESP8266 CH340

Wi-Fi Модуль з MicroUSB/Type-C, 4MB Flash, для IoT та DIY-Проєктів

1. Ідентифікація та основні компоненти

NodeMCU ESP8266 — це плата розробки на основі мікросхеми ESP-12E/F з вбудованим Wi-Fi модулем, конвертером USB-UART на базі чіпа CH340 та стабілізатором напруги для зручного програмування та роботи.

flowchart TD
    subgraph NodeMCU["NodeMCU ESP8266 (вигляд зверху)"]
      direction TB
      
      subgraph Components["Основні компоненти"]
        ESP["ESP8266EX
мікроконтролер"] CH340["CH340
USB-UART конвертер"] AMS["AMS1117
стабілізатор 3.3В"] LUSB["MicroUSB/Type-C
порт"] FLASH["4MB Flash
пам'ять"] RST["Кнопка Reset"] FLASH_BTN["Кнопка Flash"] LED["Синій світлодіод
(GPIO16/D0)"] end subgraph Pins["Виводи"] direction TB subgraph LeftPins["Ліва сторона"] direction TB L1["A0"] --- L2["RSV"] --- L3["RSV"] --- L4["SD3/D10"] --- L5["SD2/D9"] --- L6["SD1/MOSI"] --- L7["CMD/CS"] --- L8["SD0/MISO"] --- L9["CLK/SCLK"] end subgraph RightPins["Права сторона"] direction TB R1["3V3"] --- R2["GND"] --- R3["TX"] --- R4["RX"] --- R5["D8"] --- R6["D7"] --- R7["D6"] --- R8["D5"] --- R9["GND"] --- R10["3V3"] --- R11["D4"] --- R12["D3"] --- R13["D2"] --- R14["D1"] --- R15["D0"] --- R16["GND"] --- R17["Vin"] end end end classDef comp fill:#b3e0ff,stroke:#333,stroke-width:2px classDef pin fill:#f96,stroke:#333,stroke-width:2px class ESP,CH340,AMS,LUSB,FLASH,RST,FLASH_BTN,LED comp class L1,L2,L3,L4,L5,L6,L7,L8,L9,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17 pin

Відповідність GPIO та позначень на платі:

Позначення на платі GPIO (ESP8266) Функція
D0 GPIO16 Вхід/вихід, функції wake-up
D1 GPIO5 Вхід/вихід, SCL
D2 GPIO4 Вхід/вихід, SDA
D3 GPIO0 Вхід/вихід, завантаження (FLASH)
D4 GPIO2 Вхід/вихід, вбудований світлодіод
D5 GPIO14 Вхід/вихід, SCK
D6 GPIO12 Вхід/вихід, MISO
D7 GPIO13 Вхід/вихід, MOSI
D8 GPIO15 Вхід/вихід, CS
RX GPIO3 UART0_RX
TX GPIO1 UART0_TX
A0 ADC0 Аналоговий вхід (0-3.3В або 0-1В)
Пін A0 на NodeMCU підтримує вхідну напругу 0-3.3В, але на деяких версіях платформи вона може бути обмежена до 0-1В. Перевірте спецификацію вашої плати перед підключенням аналогових датчиків.

2. Необхідні компоненти для початку роботи

2.1. Базовий набір

  • Плата NodeMCU ESP8266 з чіпом CH340
  • Кабель MicroUSB або Type-C (залежно від версії плати)
  • Комп'ютер з USB-портом

2.2. Програмне забезпечення

  • Arduino IDE
  • Драйвер CH340 (якщо не встановлюється автоматично)

2.3. Додатково для проєктів (опціонально)

  • Макетна плата
  • З'єднувальні дроти
  • Датчики, світлодіоди, кнопки та інші компоненти для проєктів
На відміну від "голого" модуля ESP-12E, NodeMCU має вбудований USB-порт і готові виводи для безпосереднього підключення до макетної плати, тож не потребує додаткових адаптерів чи спеціальної обв'язки для програмування.

3. Підключення та налаштування

3.1. Підключення до комп'ютера

flowchart LR
    PC["Комп'ютер
USB-порт"] --> |"MicroUSB/Type-C
кабель"| NodeMCU["NodeMCU ESP8266
USB-порт"] subgraph Inside["Процеси всередині NodeMCU"] USB["USB-порт"] --> CH340["CH340
USB-UART конвертер"] CH340 --> |"UART (TX/RX)"| ESP["ESP8266
мікроконтролер"] AMS["AMS1117
стабілізатор"] --> |"3.3V"| ESP USB --> |"5V"| AMS end NodeMCU --- Inside classDef pc fill:#f9f,stroke:#333,stroke-width:2px classDef board fill:#9cf,stroke:#333,stroke-width:2px classDef comp fill:#fc9,stroke:#333,stroke-width:2px class PC pc class NodeMCU board class USB,CH340,ESP,AMS comp
  1. Підключіть кабель MicroUSB/Type-C до порту на платі NodeMCU.
  2. Підключіть інший кінець кабелю до USB-порту вашого комп'ютера.
  3. На платі має загорітися світлодіод живлення, що свідчить про правильне підключення.

3.2. Встановлення драйвера CH340

Більшість сучасних операційних систем автоматично встановлюють драйвер CH340. Якщо цього не сталося, виконайте наступні кроки.

Для Windows:

  1. Перевірте, чи розпізнається пристрій: відкрийте "Диспетчер пристроїв" (правою кнопкою миші на "Пуск" → "Диспетчер пристроїв").
  2. Якщо у розділі "Порти (COM та LPT)" є пристрій "USB-SERIAL CH340" — драйвер вже встановлено.
  3. Якщо пристрій відображається з жовтим знаком оклику або в розділі "Інші пристрої", потрібно встановити драйвер:
  4. Завантажте драйвер CH340/CH341 з офіційного джерела.
  5. Розпакуйте архів та запустіть інсталяційний файл (наприклад, CH341SER.EXE).
  6. Натисніть "Встановити" (Install) та дочекайтеся завершення встановлення.
  7. Перевірте "Диспетчер пристроїв" знову — пристрій має з'явитися в розділі "Порти (COM та LPT)".

Для macOS:

  1. Завантажте драйвер CH340 для macOS.
  2. Відкрийте завантажений файл та дотримуйтесь інструкцій інсталятора.
  3. Можливо, потрібно буде перезавантажити комп'ютер.
  4. Після перезавантаження підключіть NodeMCU знову.

Для Linux:

  1. Більшість дистрибутивів Linux вже мають підтримку CH340.
  2. Відкрийте термінал та виконайте команду: ls /dev/ttyUSB*
  3. Якщо ви бачите пристрій /dev/ttyUSB0 (або інший номер) — драйвер працює.
  4. Переконайтеся, що ваш користувач має доступ до пристрою: sudo usermod -a -G dialout $USER
  5. Перезавантажте комп'ютер або вийдіть та увійдіть знову для застосування змін.

4. Налаштування Arduino IDE

4.1. Встановлення Arduino IDE

  1. Завантажте Arduino IDE з офіційного сайту.
  2. Встановіть програму, дотримуючись інструкцій інсталятора.

4.2. Додавання підтримки плат ESP8266

  1. Запустіть Arduino IDE.
  2. Перейдіть до меню: Файл → Налаштування (або File → Preferences).
  3. У полі "Додаткові посилання для Менеджера плат" (Additional Boards Manager URLs) вставте:
  4. http://arduino.esp8266.com/stable/package_esp8266com_index.json
  5. Натисніть "OK".
  6. Перейдіть до меню: Інструменти → Плата → Менеджер плат... (або Tools → Board → Boards Manager...)
  7. У полі пошуку введіть "esp8266".
  8. Знайдіть "esp8266 by ESP8266 Community" та натисніть "Встановити" (Install).
  9. Дочекайтеся завершення встановлення та закрийте Менеджер плат.
flowchart TD
    A["Запустіть Arduino IDE"] --> B["Перейдіть: Файл → Налаштування"]
    B --> C["Додайте URL для ESP8266"]
    C --> D["Перейдіть: Інструменти → Плата → Менеджер плат..."]
    D --> E["Знайдіть та встановіть esp8266"]
    E --> F["Виберіть плату: NodeMCU 1.0"]
    F --> G["Виберіть COM-порт"]
    G --> H["Готово до програмування!"]
  

4.3. Вибір плати та порту

  1. Перейдіть до меню: Інструменти → Плата → ESP8266 Boards
  2. Виберіть NodeMCU 1.0 (ESP-12E Module)
  3. Перейдіть до меню: Інструменти → Порт
  4. Виберіть COM-порт, що відповідає вашому пристрою (наприклад, COM3 або /dev/ttyUSB0)
  5. Перевірте інші налаштування (можете залишити за замовчуванням):
    • Upload Speed: 115200
    • CPU Frequency: 80 MHz
    • Flash Size: 4MB (FS:1MB, OTA:~1MB)
Якщо ви не впевнені, який COM-порт вибрати, відключіть плату, подивіться список доступних портів, потім підключіть знову і виберіть порт, який з'явився.

5. Тестування плати

5.1. Завантаження тестового скетчу "Blink"

  1. В Arduino IDE перейдіть до меню: Файл → Приклади → ESP8266 → Blink
  2. Або створіть новий скетч і вставте цей код:
// Налаштування void setup() { // Вбудований світлодіод підключено до GPIO2 (D4 на NodeMCU) pinMode(LED_BUILTIN, OUTPUT); // Додатково ініціалізуємо Serial для відлагодження Serial.begin(115200); Serial.println("NodeMCU ESP8266 - Тест LED"); } // Основний цикл void loop() { // Вмикаємо світлодіод (LOW для ESP8266 вмикає світлодіод) digitalWrite(LED_BUILTIN, LOW); Serial.println("LED ON"); delay(1000); // Чекаємо 1 секунду // Вимикаємо світлодіод digitalWrite(LED_BUILTIN, HIGH); Serial.println("LED OFF"); delay(1000); // Чекаємо 1 секунду }

5.2. Завантаження скетчу на плату

  1. Натисніть кнопку "Завантажити" (стрілка вправо) в Arduino IDE.
  2. Дочекайтеся завершення компіляції.
  3. Під час завантаження на плату синій світлодіод може блимати, що є нормальним.
  4. Після завершення ви побачите повідомлення "Завантаження завершено" внизу.
  5. Вбудований світлодіод на платі має почати блимати з інтервалом в 1 секунду.

5.3. Перевірка через Монітор порту

  1. Відкрийте Монітор порту: Інструменти → Монітор порту (або натисніть іконку лупи у правому верхньому куті).
  2. Встановіть швидкість передачі даних 115200 бод (у правому нижньому куті вікна Монітора порту).
  3. Ви повинні бачити повідомлення "LED ON" і "LED OFF", що з'являються кожну секунду.
Якщо світлодіод блимає і ви бачите повідомлення в Моніторі порту, це означає, що ваша плата NodeMCU ESP8266 правильно підключена і налаштована!

6. Тестування Wi-Fi з'єднання

6.1. Скетч для сканування Wi-Fi мереж

  1. Відкрийте приклад WiFiScan: Файл → Приклади → ESP8266WiFi → WiFiScan
  2. Або створіть новий скетч з наступним кодом:
#include void setup() { Serial.begin(115200); Serial.println(); // Встановлюємо режим Wi-Fi як станція (клієнт) WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Налаштування завершено"); } void loop() { Serial.println("Початок сканування..."); // WiFi.scanNetworks повертає кількість знайдених мереж int n = WiFi.scanNetworks(); Serial.println("Сканування завершено"); if (n == 0) { Serial.println("Мережі не знайдено"); } else { Serial.print(n); Serial.println(" мереж(і) знайдено"); for (int i = 0; i < n; ++i) { // Виведення SSID та RSSI для кожної мережі Serial.print(i + 1); Serial.print(": "); Serial.print(WiFi.SSID(i)); Serial.print(" ("); Serial.print(WiFi.RSSI(i)); Serial.print(")"); Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*"); delay(10); } } Serial.println(""); // Чекаємо 5 секунд перед наступним скануванням delay(5000); }

6.2. Завантаження та перевірка

  1. Натисніть кнопку "Завантажити" для завантаження скетчу на плату.
  2. Відкрийте Монітор порту (якщо він ще не відкритий).
  3. Ви повинні побачити список доступних Wi-Fi мереж з їхніми іменами (SSID) та рівнем сигналу (RSSI).
  4. Список оновлюватиметься кожні 5 секунд.
sequenceDiagram
    participant NodeMCU
    participant WiFi as WiFi Мережі
    participant Serial as Монітор Порту
    
    NodeMCU->>WiFi: Сканування (WiFi.scanNetworks())
    WiFi-->>NodeMCU: Список мереж
    NodeMCU->>Serial: Виведення результатів
    Note over NodeMCU,Serial: Для кожної мережі:
SSID, RSSI, Шифрування NodeMCU->>NodeMCU: delay(5000) NodeMCU->>WiFi: Повторне сканування

7. Підключення до Wi-Fi мережі

7.1. Простий клієнт Wi-Fi

#include // Налаштування Wi-Fi мережі const char* ssid = "Ваша_WiFi_Мережа"; const char* password = "Ваш_WiFi_Пароль"; void setup() { Serial.begin(115200); Serial.println(); Serial.print("Підключення до "); Serial.println(ssid); // Підключення до Wi-Fi мережі WiFi.begin(ssid, password); // Очікування підключення while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("Wi-Fi підключено"); Serial.print("IP-адреса: "); Serial.println(WiFi.localIP()); } void loop() { // Ваш код тут... }
Замініть "Ваша_WiFi_Мережа" та "Ваш_WiFi_Пароль" на реальні дані вашої Wi-Fi мережі перед завантаженням скетчу.

7.2. Створення власної точки доступу

#include #include // Налаштування точки доступу const char* ap_ssid = "NodeMCU_AP"; const char* ap_password = "12345678"; // Мінімум 8 символів ESP8266WebServer server(80); // Веб-сервер на порту 80 void setup() { Serial.begin(115200); Serial.println(); // Налаштування точки доступу Serial.print("Налаштування точки доступу... "); WiFi.softAP(ap_ssid, ap_password); IPAddress myIP = WiFi.softAPIP(); Serial.println("Готово"); Serial.print("IP-адреса точки доступу: "); Serial.println(myIP); // Налаштування веб-сервера server.on("/", handleRoot); server.begin(); Serial.println("Веб-сервер запущено"); } void loop() { server.handleClient(); // Обробка запитів клієнтів }
Після завантаження цього скетчу ви можете підключитися до Wi-Fi мережі "NodeMCU_AP" з паролем "12345678", а потім відкрити веб-браузер та перейти за адресою 192.168.4.1 для перегляду веб-сторінки, що обслуговується NodeMCU.

8. Підключення популярних компонентів

8.1. Підключення датчика DHT11/DHT22 (температура і вологість)

DHT11/DHT22 NodeMCU ESP8266
VCC 3V3
DATA D4 (GPIO2)
GND GND
#include #define DHTPIN D4 // Пін, до якого підключено датчик #define DHTTYPE DHT11 // Тип датчика (DHT11 або DHT22) DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); Serial.println("Тест DHT датчика"); dht.begin(); } void loop() { // Зачекайте пару секунд між вимірюваннями delay(2000); // Зчитування вологості float h = dht.readHumidity(); // Зчитування температури в градусах Цельсія float t = dht.readTemperature(); // Перевірка, чи не сталася помилка if (isnan(h) || isnan(t)) { Serial.println("Помилка зчитування з DHT датчика!"); return; } Serial.print("Вологість: "); Serial.print(h); Serial.print("% Температура: "); Serial.print(t); Serial.println("°C"); }

8.2. Підключення OLED дисплея (I2C)

OLED Дисплей NodeMCU ESP8266
VCC 3V3
GND GND
SCL D1 (GPIO5)
SDA D2 (GPIO4)
#include #include #include #define SCREEN_WIDTH 128 // Ширина OLED в пікселях #define SCREEN_HEIGHT 64 // Висота OLED в пікселях // Ініціалізація дисплея Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); void setup() { Serial.begin(115200); // Ініціалізація дисплея if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println("Помилка ініціалізації SSD1306"); for(;;); // Нескінченний цикл } // Очищення дисплея display.clearDisplay(); // Налаштування тексту display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); // Виведення тексту display.println("NodeMCU ESP8266"); display.println("OLED Test"); display.println(""); display.println("Display initialized!"); // Оновлення дисплея display.display(); } void loop() { // Динамічне оновлення дисплея кожні 2 секунди display.clearDisplay(); display.setCursor(0, 0); display.println("NodeMCU ESP8266"); display.println("Running time:"); display.print(millis() / 1000); display.println(" seconds"); display.display(); delay(2000); }

8.3. Підключення реле

Модуль реле NodeMCU ESP8266
VCC 3V3
GND GND
IN D1 (GPIO5)
// Пін для керування реле const int relayPin = D1; // GPIO5 void setup() { Serial.begin(115200); // Налаштування піна реле як виходу pinMode(relayPin, OUTPUT); // Початкове значення - вимкнено (HIGH для реле з активним низьким рівнем) digitalWrite(relayPin, HIGH); Serial.println("Тест модуля реле"); Serial.println("Введіть '1' для увімкнення або '0' для вимкнення"); } void loop() { // Перевірка, чи є дані в серійному порті if (Serial.available() > 0) { char input = Serial.read(); if (input == '1') { // Увімкнути реле (LOW для реле з активним низьким рівнем) digitalWrite(relayPin, LOW); Serial.println("Реле увімкнено"); } else if (input == '0') { // Вимкнути реле digitalWrite(relayPin, HIGH); Serial.println("Реле вимкнено"); } } }
Більшість модулів реле мають активний низький рівень (LOW для увімкнення, HIGH для вимкнення). Переконайтеся, що ви правильно налаштували логіку керування для вашого конкретного модуля.

9. Веб-сервер для керування пристроями

#include #include // Налаштування Wi-Fi const char* ssid = "Ваша_WiFi_Мережа"; const char* password = "Ваш_WiFi_Пароль"; // Пін для керування пристроєм (наприклад, світлодіодом або реле) const int devicePin = D1; // GPIO5 // Створення веб-сервера на порту 80 ESP8266WebServer server(80); // Змінна для зберігання стану пристрою bool deviceState = false; void setup() { Serial.begin(115200); // Налаштування піна пристрою pinMode(devicePin, OUTPUT); digitalWrite(devicePin, LOW); // Початковий стан - вимкнено // Підключення до Wi-Fi WiFi.begin(ssid, password); Serial.print("Підключення до WiFi"); // Очікування підключення while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.println("Wi-Fi підключено"); Serial.print("IP-адреса: "); Serial.println(WiFi.localIP()); // Налаштування обробників для веб-сервера server.on("/", handleRoot); server.on("/on", handleOn); server.on("/off", handleOff); server.on("/toggle", handleToggle); server.onNotFound(handleNotFound); // Запуск веб-сервера server.begin(); Serial.println("Веб-сервер запущено"); } void loop() { // Обробка запитів клієнтів server.handleClient(); }

// Головна сторінка
void handleRoot() {
  String html = "";
  html += "";
  html += "";
  html += "NodeMCU Керування";
  html += "";
  html += "

NodeMCU ESP8266 Веб-сервер

"; html += "
Стан пристрою: "; html += deviceState ? "УВІМКНЕНО" : "ВИМКНЕНО"; html += "
"; html += "УВІМКНУТИ"; html += "ВИМКНУТИ"; html += "ПЕРЕМИКНУТИ"; html += ""; server.send(200, "text/html", html); }
// Обробник для увімкнення void handleOn() { deviceState = true; digitalWrite(devicePin, HIGH); Serial.println("Пристрій увімкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для вимкнення void handleOff() { deviceState = false; digitalWrite(devicePin, LOW); Serial.println("Пристрій вимкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для перемикання стану void handleToggle() { deviceState = !deviceState; digitalWrite(devicePin, deviceState ? HIGH : LOW); Serial.print("Пристрій "); Serial.println(deviceState ? "увімкнено" : "вимкнено"); server.sendHeader("Location", "/"); server.send(303); } // Обробник для сторінки не знайдено void handleNotFound() { server.send(404, "text/plain", "Сторінку не знайдено"); }
Після завантаження цього скетчу ви можете керувати пристроєм (LED, реле тощо) через веб-браузер, переходячи за IP-адресою вашого NodeMCU.

10. Використання режиму глибокого сну (Deep Sleep)

flowchart TD
    A["Запуск модуля"] --> B["Налаштування (setup())"]
    B --> C["Виконання операцій
(зчитування датчиків, відправка даних)"] C --> D["ESP.deepSleep(timeInMicroSeconds)"] D --> E["Модуль у режимі
глибокого сну
(~20μA)"] E --> |"Після закінчення часу сну"| A classDef sleep fill:#f9d5e5,stroke:#333,stroke-width:2px class D,E sleep

Для використання режиму глибокого сну (Deep Sleep) необхідно з'єднати пін D0 (GPIO16) з пінами RST. Це дозволяє таймеру глибокого сну перезавантажити модуль після закінчення заданого часу сну.

// Простий приклад використання режиму глибокого сну #include // Час сну в мікросекундах (наприклад, 10 секунд = 10e6) #define SLEEP_TIME_USEC 10e6 // 10 секунд void setup() { Serial.begin(115200); Serial.println(); Serial.println("NodeMCU прокинувся!"); // Виведення залишкового часу глибокого сну (для діагностики) Serial.print("Залишковий час сну: "); Serial.println(ESP.getResetReason()); // Ваш код тут: зчитування датчиків, відправка даних і т.д. Serial.println("Виконання операцій..."); delay(3000); // Імітація роботи Serial.println("Перехід у режим глибокого сну на 10 секунд..."); Serial.flush(); // Чекаємо, поки всі дані будуть відправлені через Serial // Переходимо в режим глибокого сну ESP.deepSleep(SLEEP_TIME_USEC); // Цей код ніколи не виконається після виклику deepSleep Serial.println("Цей текст ніколи не буде видно."); } void loop() { // Пустий loop(), оскільки модуль перезавантажиться після виходу з режиму сну }
Після виклику ESP.deepSleep(), модуль переходить у сплячий режим, а після його завершення перезавантажується (виконується скидання). Це означає, що код у функції loop() ніколи не буде виконаний, якщо deepSleep викликається в setup().

11.1. Обмеження

  • Аналогові входи: Лише один аналоговий вхід (A0) з обмеженим діапазоном напруги.
  • Обмежене живлення: Виводи 3.3В можуть забезпечити обмежений струм, тому для потужних пристроїв (серводвигуни, багато світлодіодів) потрібне зовнішнє живлення.
  • Special GPIO: Деякі піни мають особливі функції під час завантаження (GPIO0, GPIO2, GPIO15), тому їх використання може потребувати додаткових резисторів.
  • Wi-Fi потужність: При активній передачі Wi-Fi споживання струму може зростати до 300мА, що може спричинити нестабільну роботу при живленні від слабких джерел.

12. Практичні поради та рекомендації

12.1. Стабільність і надійність

  • Якісний кабель: Використовуйте якісний USB-кабель для стабільного живлення та надійного з'єднання з комп'ютером.
  • Зовнішнє живлення: Для проєктів з високим енергоспоживанням використовуйте вхід Vin з окремим джерелом живлення 5-12В.
  • Контроль перевантаження: Уникайте одночасного використання багатьох енергоємних компонентів.
  • Watch Dog Timer: Використовуйте ESP.wdtDisable() та ESP.wdtEnable() для керування сторожовим таймером у тривалих операціях.

12.2. Оптимізація коду

  • WiFi.persistent(false): Додайте цей виклик перед WiFi.begin() для зменшення зносу флеш-пам'яті.
  • Уникайте delay(): Для неблокуючого коду використовуйте millis() замість delay().
  • PROGMEM: Зберігайте великі рядки в пам'яті програм за допомогою F() макроса, наприклад: Serial.println(F("Текст у програмній пам'яті")).
  • Очищення Wi-Fi буферів: Періодично викликайте yield() у довгих циклах для обробки Wi-Fi подій.

12.3. Розширення можливостей

  • OTA оновлення: Реалізуйте Over-The-Air оновлення для зручного оновлення прошивки без фізичного доступу до пристрою.
  • MQTT: Використовуйте протокол MQTT для ефективного зв'язку між IoT пристроями.
  • WebSocket: Реалізуйте двосторонній зв'язок у реальному часі з веб-інтерфейсом через WebSocket.
  • SPIFFS/LittleFS: Використовуйте файлову систему для зберігання конфігурацій, логів та веб-сторінок.
  • Багатозадачність: Використовуйте ESP8266 Task Scheduler для організації кількох завдань без блокування основного циклу.
  • Датчики: Підключайте різноманітні датчики через I2C/SPI для розширення функціональності (акселерометри, барометри, RTC тощо).
NodeMCU ESP8266 ідеально підходить для проєктів IoT, домашньої автоматизації, збору даних з датчиків, керування пристроями через Інтернет та багатьох інших застосувань, де потрібні компактність, низька вартість та вбудований Wi-Fi.

13. Популярні проєкти для NodeMCU ESP8266

13.1. Метеостанція з веб-інтерфейсом

  • Компоненти: NodeMCU, DHT22 (температура і вологість), BMP280 (атмосферний тиск), OLED дисплей
  • Функціональність: збір даних про погоду, відображення на OLED дисплеї та веб-сторінці, історія змін, сповіщення про зміни
  • Можливості розширення: прогноз погоди на основі тенденцій, запис даних у хмарні сервіси

13.2. Система розумного дому

  • Компоненти: NodeMCU, модулі реле, датчики руху PIR, датчики відкриття дверей
  • Функціональність: віддалене керування освітленням та електроприладами, моніторинг стану дверей і вікон, сповіщення про рух
  • Можливості розширення: інтеграція з Amazon Alexa, Google Home або HomeKit, керування через Telegram бота

13.3. Система моніторингу рослин

  • Компоненти: NodeMCU, датчик вологості ґрунту, датчик освітленості, DHT22, реле для помпи
  • Функціональність: моніторинг умов вирощування, автоматичний полив, надсилання сповіщень
  • Можливості розширення: графіки росту, керування за розкладом, камера для спостереження за ростом
flowchart LR
    subgraph Projects["Популярні проєкти"]
      Weather["Метеостанція"] --> |"Датчики
Дисплей"| NodeMCU SmartHome["Розумний
дім"] --> |"Реле
Датчики"| NodeMCU Plants["Догляд за
рослинами"] --> |"Датчики
Помпа"| NodeMCU end NodeMCU --> |"Wi-Fi"| Cloud["Хмарні
сервіси"] NodeMCU --> |"Веб-сервер"| Mobile["Мобільний
додаток / Браузер"] classDef node fill:#b3e0ff,stroke:#333,stroke-width:2px classDef proj fill:#d5f5e3,stroke:#333,stroke-width:2px classDef cloud fill:#fdebd0,stroke:#333,stroke-width:2px class NodeMCU node class Weather,SmartHome,Plants proj class Cloud,Mobile cloud

14. Усунення типових проблем

14.1. Проблеми з підключенням до комп'ютера

Проблема Можливі причини Вирішення
Плата не визначається в Arduino IDE Не встановлено драйвер CH340 Встановіть правильний драйвер для вашої ОС
Помилка при завантаженні скетчу Неправильно вибрано плату або порт Перевірте налаштування в меню Інструменти → Плата та Інструменти → Порт
Нестабільне підключення Неякісний USB-кабель або порт Спробуйте інший кабель або USB-порт
Плата перезавантажується Недостатнє живлення Використовуйте USB-порт з більшим струмом або зовнішнє живлення

14.2. Проблеми з Wi-Fi

Проблема Можливі причини Вирішення
Не підключається до Wi-Fi Неправильний SSID або пароль Перевірте правильність даних підключення
Часті відключення від Wi-Fi Слабкий сигнал або нестабільне живлення Розмістіть пристрій ближче до роутера або забезпечте стабільне живлення
Повільний відгук веб-сервера Блокуючі функції (delay) у коді Використовуйте неблокуючі методи з millis()
Не працює в деяких мережах Проблеми з сумісністю (5GHz, корпоративний WPA) ESP8266 підтримує лише 2.4GHz Wi-Fi та обмежені типи аутентифікації

14.3. Проблеми з пам'яттю

  • Помилка "Out of memory": Зменшіть розмір рядків (використовуйте PROGMEM), уникайте великих масивів.
  • Нестабільна робота: Може бути спричинена витоками пам'яті. Використовуйте ESP.getFreeHeap() для моніторингу доступної пам'яті.
  • Переповнення стеку: Уникайте глибокої рекурсії та дуже великих локальних змінних у функціях.
  • Фрагментація пам'яті: Після тривалої роботи можуть виникати збої через фрагментацію. Регулярно перезавантажуйте пристрій.

15. Ресурси для подальшого вивчення

15.1. Офіційна документація

15.2. Корисні бібліотеки

  • ESPAsyncWebServer — асинхронний веб-сервер для неблокуючої роботи.
  • ArduinoJson — робота з JSON даними.
  • PubSubClient — клієнт MQTT протоколу для IoT.
  • TaskScheduler — планувальник задач для псевдопаралельного виконання.
  • ESP8266WiFiMesh — створення сітки з пристроїв ESP8266.

15.3. Онлайн спільноти та форуми

  • Розділ ESP8266 на форумі Arduino.
  • Спільнота ESP8266 на Reddit (r/esp8266).
  • Канали та групи в Discord та Telegram, присвячені розробці для ESP.
Завжди перевіряйте версію бібліотек та приклади, оскільки API часто змінюється між версіями. Рекомендується підтримувати Arduino IDE та бібліотеки ESP8266 в актуальному стані.
Важливе зауваження: Ми доклали зусиль, щоб ця інструкція була точною та корисною. Однак, ця інструкція надається як довідковий матеріал. Електронні компоненти можуть мати варіації, а схеми підключення залежать від конкретних умов та вашого обладнання. Ця інформація надається "як є", без гарантій повноти чи безпомилковості. Наполегливо рекомендуємо перевіряти специфікації вашого модуля (datasheet), звірятися з іншими джерелами та, за найменших сумнівів, звертатися до кваліфікованих фахівців, особливо при роботі з напругою 220В.

FAQ (часті запитання)

Рекомендовані статті
Розумний годинник без жодної кнопки
Розумний годинник без жодної кнопки
Блог, Інструкції Підключення та Огляди
17.09.2024
Розумний нічник на ESP8266 та WS2812 з управлінням через веб-сервер
Розумний нічник на ESP8266 та WS2812 з управлінням через веб-сервер
Блог, Інструкції Підключення та Огляди
18.09.2024
Використання ESP8266 для управління реле через Telegram-бот
Використання ESP8266 для управління реле через Telegram-бот
Блог, Інструкції Підключення та Огляди
20.09.2024
Еволюція мікроконтролерів
Еволюція мікроконтролерів
Блог, Цікаве та Корисне
01.02.2025
ESP8266 CH340 - Питання та вирішення найчастіших проблем
ESP8266 CH340 - Питання та вирішення найчастіших проблем
Блог, Інструкції Підключення та Огляди
12.03.2025
Давай виміряємо "його"
Давай виміряємо "його"
Блог, Інструкції Підключення та Огляди, Цікаве та Корисне
20.05.2025