Каталог товаров
Клиенту
Тема сайта:
+38 (066) 305-77-25
Наш адрес
Україна, времено - только доставка Новой Почтой, УкрПочтой, МистЕкспрес, ROZETKA Delivery
Телефоны:
Время работы
  • Пн-Пт: с 9 до 18
  • Сб.: с 10 до 17
  • Вс: с 11 до 16
E-mail
Мы в соцсетях
Перейти в контакты
0 0
Каталог
Главная
Закладки
0
Сравнить
0
Контакты

ESP8266 CH340✨WiFi Плата NodeMCU✨MicroUSB / TypeC

Страна-производитель: Китай Код товара: 1237
3
Все о товаре
Описание
Характеристики
Отзывы 3
Вопросы1
FAQ
Инструкция
ESP8266 CH340✨WiFi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨WiFi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨WiFi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨WiFi Плата NodeMCU✨MicroUSB / TypeC
ESP8266 CH340✨WiFi Плата 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 грн
Укрпочтой в отделение по Украине
Укрпочтой в отделение по Украине
от 45 ₴
Meest Почта
Meest Почта
от 49 ₴
Оплата
Оплата картой Оплата картой
Перевод на карточку Перевод на карточку
Оплата на IBAN Оплата на IBAN
Безналичный расчет Безналичный расчет
Наложенный платеж Наложенный платеж
Гарантийные положения
Гарантийные обязательства на товары, которые были паяные, не распространяются
ESP8266 CH340✨WiFi Плата 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

Продовжимо солов'їною?

Оберіть мову