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

ESP8266-12F/12E Wi-Fi модуль

Країна-виробник: Китай Код товару: 1198
0
Все про товар
Опис
Характеристики
Відгуки 0
Питання0
FAQ
Інструкція
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
ESP8266-12F/12E  Wi-Fi модуль
В наявності
Код товару: 1198
80.00 грн
Знайшли дешевше?
🚚 Відправка щодня о 15 годині
-Аналоговий вхід-:10-бітний ADC, 0–1 В
-Крок контактів-:2 мм
-Тактова частота процесора-:80 МГц; підтримується 160 МГц
-Тип антени-:вбудована PCB-антена
-Робоча напруга-:3,0–3,6 В (типово 3,3 В)
-Напруга логіки управління-:3,3 В
-Інтерфейс-:UART, GPIO, SPI, I²C, ADC, PWM
-Робоча частота-:2.4 ГГц
-Флеш-пам'ять-:4 МБ
-Сховище даних ОЗП-:80 кБ
Доставка
Новою Поштою у відділення та поштомати
Новою Поштою у відділення та поштомати
від 80 ₴
ROZETKA Delivery
ROZETKA Delivery
Фіксована 49грн
Укрпоштою у відділення по Україні
Укрпоштою у відділення по Україні
від 55 ₴
Meest Пошта
Meest Пошта
від 80 ₴
Оплата
Оплата карткою Оплата карткою
Переказ на картку Переказ на картку
Оплата на IBAN Оплата на IBAN
Безготівковий розрахунок Безготівковий розрахунок
Післяплата Післяплата
Гарантійні положення
Гарантійні зобов'язання на товари, які були паяні, не поширюються
ESP8266-12F/12E Wi-Fi модуль
Код товару: 1198
80.00 грн
Опис

Коротко про ESP-12F

ESP-12F — вбудовуваний Wi-Fi модуль на ESP8266 із 4 МБ флеш-пам’яті, вбудованою PCB-антеною та підтримкою мереж 2,4 ГГц IEEE 802.11 b/g/n. Він може працювати як самостійний контролер або забезпечувати Wi-Fi-зв’язок для зовнішнього мікроконтролера через UART після встановлення відповідної прошивки.[1]

Це не готова плата розробника: на модулі немає USB-роз’єму, USB-UART перетворювача, стабілізатора для живлення від 5 В і повної обв’язки автоматичного запуску. Для роботи потрібні стабільні 3,3 В, правильні рівні на завантажувальних GPIO та монтаж із кроком контактів 2 мм.

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

Мікроконтролер
ESP8266, 32-бітне ядро Tensilica L106
Тактова частота
80 МГц, підтримується режим до 160 МГц[1]
Флеш-пам’ять
4 МБ / 32 Мбіт[1]
ОЗП
80 кБ
Wi-Fi
2,4 ГГц, IEEE 802.11 b/g/n; режими STA, AP і STA+AP[1]
Швидкість Wi-Fi
до 72,2 Мбіт/с на фізичному рівні 802.11n HT20; прикладна швидкість залежить від мережі та прошивки[1]
Інтерфейси
UART, GPIO, SPI, I²C, ADC, PWM
Аналоговий вхід
10-бітний ADC, допустимий сигнал 0–1 В на контакті ADC[1]
Живлення
3,0–3,6 В DC, типовий рівень 3,3 В; рекомендоване джерело зі струмовою здатністю понад 500 мА[1]
Антена
вбудована PCB-антена
Корпус
SMD-22 із металевим екраном, крок контактів 2 мм
Робоча температура
від −20 до +85 °C[1]

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

Автономна робота або Wi-Fi для іншого контролера

ESP-12F поєднує процесор ESP8266, зовнішню SPI Flash, радіотракт і друковану антену в одному екранованому модулі. У самостійному пристрої він може опрацьовувати датчики, керувати виходами та обмінюватися даними через Wi-Fi. В іншій конфігурації модуль може виконувати роль UART–Wi-Fi вузла під керуванням зовнішнього контролера.

Доступні функції залежать від встановленої прошивки. Підтримка AT-команд, OTA-оновлення, MQTT, вебінтерфейсу або конкретного середовища програмування не означає, що потрібна прошивка вже записана в модуль.

Живлення та стабільний запуск

Під час радіопередавання навантаження на джерело змінюється імпульсно, тому слабка лінія 3,3 В може спричиняти перезапуски або зрив завантаження. Живіть модуль окремим стабілізованим джерелом зі струмовим запасом понад 500 мА, використовуйте короткі з’єднання та встановлюйте розв’язувальні конденсатори біля VCC і GND.[1]

Для звичайного запуску EN і RST мають бути у високому стані, GPIO15 — у низькому, GPIO0 і GPIO2 — у високому. Для завантаження прошивки через UART GPIO0 переводять у низький стан до перезапуску, не змінюючи решту завантажувальних рівнів.[1]

Виводи та периферія

UART підходить для прошивання, діагностики й обміну із зовнішнім контролером. GPIO дають змогу підключати цифрові датчики та керувальні входи сумісних модулів, а ADC — вимірювати аналоговий сигнал тільки в межах 0–1 В. GPIO0, GPIO2 і GPIO15 одночасно визначають режим старту, тому підключена периферія не повинна змінювати їхні рівні під час скидання.

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

Підійде

  • для компактного Wi-Fi вузла на власній друкованій платі;
  • для бездротових датчиків, локальної автоматики та MQTT/HTTP-пристроїв із сумісною прошивкою;
  • для UART–Wi-Fi зв’язку з іншим мікроконтролером;
  • для розробника, який може організувати живлення 3,3 В, завантажувальну обв’язку та прошивання через UART.

Не підійде

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

Якщо потрібні USB, стабілізатор, кнопки завантаження та макетний крок контактів, зручнішою альтернативою буде плата NodeMCU на ESP8266.

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

Бездротовий датчик

ESP-12F може періодично зчитувати сумісний цифровий або аналоговий датчик, передавати результат через Wi-Fi та переходити в режим глибокого сну. Для автоматичного пробудження GPIO16 з’єднують із RST, а живлення проєктують з урахуванням активних імпульсів Wi-Fi.

Локальний контролер

Модуль може приймати команди через вебінтерфейс або мережевий протокол і керувати низьковольтними входами зовнішніх драйверів, реле чи виконавчих модулів. Силове навантаження не підключають безпосередньо до GPIO.

UART–Wi-Fi шлюз

Після встановлення сумісної AT-прошивки ESP-12F може обмінюватися командами й даними із зовнішнім контролером через UART. Параметри прошивки та карту флеш-пам’яті потрібно підбирати для конфігурації 4 МБ.

Вузол домашньої автоматизації

На модулі можна реалізувати збір телеметрії, MQTT-клієнт або локальне керування освітленням і вентиляцією, якщо зовнішні датчики та драйвери сумісні з логікою 3,3 В.

Підключення та прошивання

  1. Підготуйте живлення

    Подайте стабільні 3,3 В на VCC і з’єднайте землі всіх вузлів. Для живлення від джерела 7–24 В можна використати MP1584 з фіксованим виходом, обравши саме версію 3,3 В і перевіривши вихід мультиметром до підключення ESP-12F.

  2. Задайте стартові рівні

    Підтягніть EN, RST, GPIO0 і GPIO2 до 3,3 В, а GPIO15 — до GND. Переконайтеся, що зовнішні пристрої не перетягують ці лінії під час скидання.

  3. Під’єднайте UART

    TX адаптера з’єднайте з RX модуля, RX адаптера — з TX модуля, а GND — із загальною землею. Для програмування підійде USB–TTL UART на CH340G у режимі логіки 3,3 В; живлення ESP-12F подавайте від окремого джерела з потрібним струмовим запасом.

  4. Увійдіть у режим прошивання

    Установіть GPIO0 у низький стан і перезапустіть модуль через RST або коротке вимкнення живлення. Після запису прошивки поверніть GPIO0 у високий стан і знову перезапустіть модуль.

  5. Перевірте запуск

    Спочатку перевірте стабільність 3,3 В під час старту й передачі Wi-Fi, а потім підключайте периферію по одній лінії, контролюючи завантажувальні GPIO.

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

Не подавайте 5 В на VCC

Модуль розрахований на живлення 3,0–3,6 В. Для обміну сигналами використовуйте логіку 3,3 В або належне узгодження рівнів; не подавайте 5-вольтовий сигнал безпосередньо на входи ESP-12F.

Залишайте запас за струмом

Джерело живлення повинно витримувати короткі імпульси навантаження Wi-Fi. Не покладайтеся на вихід 3,3 В USB-UART адаптера без підтвердженої струмової здатності; безпечніше використовувати окреме стабілізоване джерело понад 500 мА.[1]

На ADC допускається не більше 1 В

Для сигналу з більшим рівнем установіть розрахований дільник або зовнішній ADC. Обмеження стосується контакту ADC самого ESP-12F, а не плат розробника з можливим вбудованим дільником.[1]

Завантажувальні GPIO не є довільними під час старту

GPIO0, GPIO2 і GPIO15 визначають режим завантаження. Реле, датчик або інша периферія, що змінює їхній стан під час скидання, може заблокувати нормальний запуск.

Глибокий сон потребує повної перевірки пристрою

Для пробудження з deep sleep GPIO16 з’єднують із RST. Реальне споживання та час роботи від батареї залежать також від стабілізатора, датчиків, часу підключення до Wi-Fi і прошивки, тому не оцінюйте автономність лише за споживанням модуля.

FAQ

Чи можна підключити ESP-12F безпосередньо до USB?

Ні. ESP-12F не має USB-контролера або USB-роз’єму. Для прошивання потрібен USB-UART адаптер із логікою 3,3 В, окреме стабільне живлення та правильні рівні на GPIO0, GPIO2 і GPIO15.

Чи можна живити модуль від виходу 3,3 В програматора?

Тільки якщо адаптер гарантовано забезпечує потрібну напругу та імпульсний струм. Практично безпечніше живити ESP-12F від окремого джерела 3,3 В зі струмовою здатністю понад 500 мА та об’єднати землі.

Чи означає 72,2 Мбіт/с таку саму швидкість застосунку?

Ні. 72,2 Мбіт/с — гранична швидкість фізичного режиму 802.11n HT20. Корисна швидкість передачі даних буде нижчою та залежатиме від протоколу, сигналу, завантаження мережі й прошивки.

Чи встановлена AT-прошивка?

Наявність конкретної прошивки не гарантується. Перед інтеграцією перевірте відповідь UART; за потреби запишіть сумісний образ для ESP8266 і конфігурації флеш-пам’яті 4 МБ.

Чи можна використовувати ADC із датчиком на 3,3 В?

Можна лише тоді, коли напруга на контакті ADC не перевищує 1 В. Для виходу датчика до 3,3 В потрібен правильно розрахований дільник або зовнішній аналого-цифровий перетворювач.

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

вайфай

Характеристики
-Основні-
-Аналоговий вхід-
10-бітний ADC, 0–1 В
-Тактова частота процесора-
80 МГц; підтримується 160 МГц
-Тип антени-
вбудована PCB-антена
-Робоча напруга-
3,0–3,6 В (типово 3,3 В)
-Напруга логіки управління-
3,3 В
-Інтерфейс-
UART, GPIO, SPI, I²C, ADC, PWM
-Робоча частота-
2.4 ГГц
-Флеш-пам'ять-
4 МБ
-Сховище даних ОЗП-
80 кБ
-Мікроконтролер-
ESP8266
-Швидкість передачі-
до 72,2 Мбіт/с (802.11n HT20, фізичний рівень)
-Додаткові-
-Крок контактів-
2 мм
-Розміри-
24,5 х 16 мм
-Діапазон робочої температури-
−20…+85 °C
-Стандарт Wi-Fi-
IEEE 802.11 b/g/n, 2,4 ГГц
Відгуки

Відгуків про цей товар ще не було.

Немає відгуків про цей товар, станьте першим, залиште свій відгук.

Питання та відповіді
Додайте питання, і ми відповімо найближчим часом.

Немає питань про даний товар, станьте першим і задайте своє питання.

Інструкція

⚡ Інструкція підключення ESP8266-12F Wi-Fi Модуль

Мікроконтролер з Wi-Fi — 4MB Flash, UART, для IoT та DIY-Проєктів

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

ESP8266-12F — це компактний Wi-Fi модуль з процесором Tensilica L106 32-bit, що забезпечує повну підтримку 802.11 b/g/n Wi-Fi стандарту з вбудованим TCP/IP стеком.

flowchart TD
    subgraph ESP12F["ESP8266-12F (вигляд зверху)"]
      direction TB
      
      subgraph Components["Основні компоненти"]
        ESP["ESP8266EX
мікроконтролер"] FLASH["4MB Flash пам'ять"] ANT["Wi-Fi PCB антена"] SHIELD["Металевий екран"] end subgraph Pins["Виводи (22 піни)"] direction TB subgraph LeftPins["Ліва сторона"] direction TB L1["RST (1)"] --- L2["ADC (2)"] --- L3["EN/CH_PD (3)"] --- L4["GPIO16 (4)"] --- L5["GPIO14 (5)"] --- L6["GPIO12 (6)"] --- L7["GPIO13 (7)"] --- L8["VCC (8)"] end subgraph RightPins["Права сторона"] direction TB R1["CS0 (15)"] --- R2["MISO (16)"] --- R3["GPIO9 (17)"] --- R4["GPIO10 (18)"] --- R5["MOSI (19)"] --- R6["SCLK (20)"] --- R7["TXD0 (21)"] --- R8["RXD0 (22)"] end subgraph BottomPins["Нижня сторона"] direction LR B1["GND (15)"] --- B2["GPIO15 (14)"] --- B3["GPIO2 (13)"] --- B4["GPIO0 (12)"] --- B5["GPIO4 (11)"] --- B6["GPIO5 (10)"] --- B7["GND (9)"] end end end classDef pin fill:#f96,stroke:#333,stroke-width:2px class L1,L2,L3,L4,L5,L6,L7,L8,R1,R2,R3,R4,R5,R6,R7,R8,B1,B2,B3,B4,B5,B6,B7 pin

Призначення основних виводів:

Вивід Позначення Призначення
1 RST Сигнал скидання (активний рівень - низький)
2 ADC Аналоговий вхід (0-1В)
3 EN/CH_PD Увімкнення чіпа (має бути підключений до VCC для роботи)
8 VCC Живлення 3.3В (НЕ 5В!)
9, 15 GND Земля (мінус)
12 GPIO0 Вибір режиму завантаження/прошивки
21 TXD0 Передача даних UART
22 RXD0 Прийом даних UART
ESP8266-12F працює від напруги 3.3В! Підключення до напруги 5В без стабілізатора пошкодить модуль. Також потребує обв'язки для стабільної роботи (pull-up резистори).

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

2.1. Основний набір

  • Модуль ESP8266-12F
  • USB-TTL (UART) конвертер з підтримкою 3.3В логіки
  • Резистори 10 кОм (4 шт.)
  • Конденсатор 0.1 мкФ (або 0.33 мкФ)
  • Тактові кнопки (2 шт.) або перемички
  • З'єднувальні дроти
  • Макетна плата або інша основа для монтажу

2.2. Інструменти

  • Паяльник та припій
  • Флюс
  • Пінцет
  • Кусачки/бокорізи
  • Мультиметр (бажано)

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

  • Arduino IDE з підтримкою ESP8266
  • Драйвери для USB-TTL конвертера
Використовуйте якісний USB-TTL конвертер з перемикачем режиму роботи 3.3В/5В. Найпоширеніші типи - на основі мікросхем CP2102, CH340 або FT232RL.

3. Схема підключення

flowchart TD
    subgraph ESP12F["ESP8266-12F"]
      ESP_RST["RST (1)"]
      ESP_EN["EN/CH_PD (3)"]
      ESP_GPIO0["GPIO0 (12)"]
      ESP_VCC["VCC (8)"]
      ESP_GND1["GND (9)"]
      ESP_GND2["GND (15)"]
      ESP_TXD["TXD0 (21)"]
      ESP_RXD["RXD0 (22)"]
    end
    
    subgraph USB_UART["USB-TTL Конвертер"]
      UART_TX["TX"]
      UART_RX["RX"]
      UART_3V3["3.3V"]
      UART_GND["GND"]
    end
    
    subgraph PULLUP["Pull-up резистори"]
      R1["10 кОм"]
      R2["10 кОм"]
      R3["10 кОм"]
    end
    
    subgraph BUTTONS["Кнопки"]
      BTN_RST["RESET
Кнопка"] BTN_FLASH["FLASH
Кнопка"] end subgraph CAP["Конденсатор"] C1["0.1 мкФ"] end %% З'єднання живлення UART_3V3 --> ESP_VCC UART_GND --> ESP_GND1 UART_GND --> ESP_GND2 %% З'єднання UART UART_TX --> ESP_RXD UART_RX --> ESP_TXD %% Pull-up резистори ESP_VCC --> R1 --> ESP_RST ESP_VCC --> R2 --> ESP_EN ESP_VCC --> R3 --> ESP_GPIO0 %% Кнопки ESP_RST --- BTN_RST --- ESP_GND1 ESP_GPIO0 --- BTN_FLASH --- ESP_GND1 %% Конденсатор ESP_VCC --- C1 --- ESP_GND1 classDef vcc fill:#f96,stroke:#333,stroke-width:2px classDef gnd fill:#333,stroke:#333,stroke-width:2px,color:#fff classDef uart fill:#bbf,stroke:#333,stroke-width:2px classDef button fill:#ada,stroke:#333,stroke-width:2px class ESP_VCC,UART_3V3 vcc class ESP_GND1,ESP_GND2,UART_GND gnd class ESP_RXD,ESP_TXD,UART_RX,UART_TX uart class BTN_RST,BTN_FLASH button

3.1. Опис обв'язки

Фільтр живлення:

  • Конденсатор 0.1 мкФ припаяти між VCC (пін 8) та GND (пін 9 або 15) якомога ближче до модуля

Pull-up резистори (необхідні для стабільної роботи):

  • Резистор 10 кОм між RST (пін 1) та VCC (пін 8)
  • Резистор 10 кОм між EN/CH_PD (пін 3) та VCC (пін 8)
  • Резистор 10 кОм між GPIO0 (пін 12) та VCC (пін 8)

Кнопки (для програмування та скидання):

  • Кнопка RESET: між RST (пін 1) та GND (пін 9 або 15)
  • Кнопка FLASH/PROGRAM: між GPIO0 (пін 12) та GND (пін 9 або 15)

Підключення до USB-TTL конвертера:

  • VCC (пін 8) → 3.3V на конвертері
  • GND (пін 9 або 15) → GND на конвертері
  • TXD0 (пін 21) → RX на конвертері
  • RXD0 (пін 22) → TX на конвертері
Зверніть увагу на перехресне підключення для UART: TX модуля до RX конвертера і навпаки. Також переконайтесь, що конвертер працює в режимі 3.3В, а не 5В!

4. Підготовка середовища розробки

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

  1. Завантажте Arduino IDE з офіційного сайту.
  2. Встановіть IDE, дотримуючись інструкцій.
  3. Відкрийте Arduino IDE і перейдіть до: Файл → Налаштування
  4. У полі "Додаткові посилання для Менеджера плат" додайте:
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
  5. Натисніть "OK".
  6. Перейдіть до: Інструменти → Плата → Менеджер плат...
  7. Знайдіть "esp8266" та встановіть "ESP8266 by ESP8266 Community".
  8. Закрийте менеджер плат.

4.2. Налаштування плати

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

5. Процедура програмування

5.1. Вхід у режим програмування (Flash/Bootloader)

  1. Натисніть і утримуйте кнопку FLASH (GPIO0 → GND).
  2. Не відпускаючи кнопку FLASH, натисніть і відпустіть кнопку RESET (RST → GND).
  3. Відпустіть кнопку FLASH.
  4. Модуль перейде в режим програмування.
sequenceDiagram
    participant F as Кнопка FLASH
    participant R as Кнопка RESET
    participant E as ESP8266-12F
    
    Note over F,E: Вхід у режим програмування
    F->>E: Натиснути (GPIO0 → GND)
    F->>E: Утримувати
    R->>E: Натиснути і відпустити (RESET)
    Note over F,E: Модуль скидається
    F->>E: Відпустити
    Note over E: Модуль у режимі програмування
  

5.2. Завантаження скетчу "Blink" для перевірки

// Базовий тест для ESP8266-12F // Блимання світлодіодом на GPIO2 const int ledPin = 2; // GPIO2 зазвичай має вбудований LED на багатьох платах ESP void setup() { pinMode(ledPin, OUTPUT); // Встановлюємо пін як вихід Serial.begin(115200); // Ініціалізуємо послідовний порт Serial.println("ESP8266-12F Тест - LED Blink"); } void loop() { digitalWrite(ledPin, HIGH); // Вмикаємо світлодіод Serial.println("LED ON"); delay(1000); // Чекаємо 1 секунду digitalWrite(ledPin, LOW); // Вимикаємо світлодіод Serial.println("LED OFF"); delay(1000); // Чекаємо 1 секунду }

5.3. Процес завантаження

  1. Відкрийте Arduino IDE та вставте тестовий скетч (або відкрийте свій).
  2. Переведіть модуль у режим програмування за допомогою кнопок FLASH та RESET (як описано вище).
  3. Натисніть кнопку "Завантажити" (стрілка вправо) в Arduino IDE.
  4. Спостерігайте за процесом компіляції та завантаження в нижній частині вікна IDE.
  5. Після успішного завантаження ("100%"), натисніть кнопку RESET для перезапуску модуля та виконання нового скетчу.
Якщо все налаштовано правильно, світлодіод на GPIO2 (якщо є) почне блимати з інтервалом в 1 секунду, а в моніторі послідовного порту з'являться повідомлення "LED ON" та "LED OFF".

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

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

6.1. Режими роботи Wi-Fi

ESP8266-12F підтримує три основні режими роботи Wi-Fi:

Режим Опис Код для активації
Станція (STA) Підключається до існуючої Wi-Fi мережі WiFi.mode(WIFI_STA);
Точка доступу (AP) Створює власну Wi-Fi мережу WiFi.mode(WIFI_AP);
Комбінований (STA+AP) Підключається до існуючої та створює свою мережу WiFi.mode(WIFI_AP_STA);

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

#include const char* ap_ssid = "ESP8266_AP"; const char* ap_password = "12345678"; // Мінімум 8 символів void setup() { Serial.begin(115200); Serial.println("\nНалаштування точки доступу..."); // Налаштування точки доступу WiFi.mode(WIFI_AP); WiFi.softAP(ap_ssid, ap_password); Serial.print("Точка доступу створена: "); Serial.println(ap_ssid); Serial.print("IP-адреса точки доступу: "); Serial.println(WiFi.softAPIP()); } void loop() { // Ваш код для роботи з точкою доступу }

7. Приклади застосування ESP8266-12F

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

#include #include const char* ssid = "Ваша_мережа_WiFi"; const char* password = "Ваш_пароль_WiFi"; ESP8266WebServer server(80); // Створюємо сервер на порту 80 const int ledPin = 2; // Пін для керування світлодіодом void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); Serial.begin(115200); // Підключення до Wi-Fi WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(); Serial.print("Підключено до "); Serial.println(ssid); Serial.print("IP-адреса: "); Serial.println(WiFi.localIP()); // Обробники для веб-сервера server.on("/", handleRoot); server.on("/on", handleOn); server.on("/off", handleOff); server.onNotFound(handleNotFound); server.begin(); Serial.println("Веб-сервер запущено"); } void loop() { server.handleClient(); // Обробка запитів клієнтів } // Головна сторінка void handleRoot() { String html = ""; html += ""; html += ""; html += "ESP8266 Web Server"; html += ""; html += "

ESP8266-12F Веб-сервер

"; html += "

Керування світлодіодом:

"; html += "УВІМКНУТИ"; html += "ВИМКНУТИ"; html += ""; server.send(200, "text/html", html); } // Увімкнення світлодіода void handleOn() { digitalWrite(ledPin, HIGH); server.sendHeader("Location", "/"); server.send(303); } // Вимкнення світлодіода void handleOff() { digitalWrite(ledPin, LOW); server.sendHeader("Location", "/"); server.send(303); } // Сторінка не знайдена void handleNotFound() { server.send(404, "text/plain", "Сторінку не знайдено"); }

7.2. Датчик температури і вологості з виведенням даних в Інтернет

#include #include #include // Необхідно встановити бібліотеку ThingSpeak const char* ssid = "Ваша_мережа_WiFi"; const char* password = "Ваш_пароль_WiFi"; #define DHTPIN 2 // GPIO2 для підключення датчика DHT #define DHTTYPE DHT22 // Тип датчика (DHT22 або DHT11) unsigned long channelID = 1234567; // ID вашого каналу ThingSpeak const char* apiKey = "YOUR_API_KEY"; // API ключ для запису WiFiClient client; DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(115200); // Ініціалізація DHT сенсора dht.begin(); // Підключення до 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()); // Ініціалізація ThingSpeak ThingSpeak.begin(client); } void loop() { // Зчитування даних з сенсора float humidity = dht.readHumidity(); float temperature = dht.readTemperature(); // Перевірка, чи дані зчитані успішно if (isnan(humidity) || isnan(temperature)) { Serial.println("Помилка зчитування з DHT сенсора!"); delay(2000); return; } // Вивід даних в серійний порт Serial.print("Вологість: "); Serial.print(humidity); Serial.print("%, Температура: "); Serial.print(temperature); Serial.println("°C"); // Відправка даних на ThingSpeak ThingSpeak.setField(1, temperature); ThingSpeak.setField(2, humidity); int httpCode = ThingSpeak.writeFields(channelID, apiKey); if (httpCode == 200) { Serial.println("Дані успішно відправлено на ThingSpeak"); } else { Serial.print("Помилка відправки даних. HTTP код: "); Serial.println(httpCode); } // ThingSpeak потребує затримки мінімум 15 секунд між оновленнями delay(15000); }

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

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

DHT22 ESP8266-12F
VCC (пін 1) 3.3V (пін 8)
DATA (пін 2) GPIO2 (пін 13)
GND (пін 4) GND (пін 9 або 15)
Між VCC та DATA рекомендується додати підтягуючий резистор 10 кОм для стабільної роботи датчика.

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

Модуль реле ESP8266-12F
VCC 3.3V (пін 8) для 3.3V реле або зовнішній +5V для стандартних реле
GND GND (пін 9 або 15)
IN GPIO0 (пін 12) або інший доступний GPIO
Якщо ви використовуєте модуль реле на 5V, він може некоректно спрацьовувати від 3.3V логіки ESP8266. У такому випадку використовуйте транзисторний ключ або модуль реле з оптоізоляцією.

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

OLED дисплей ESP8266-12F
VCC 3.3V (пін 8)
GND GND (пін 9 або 15)
SCL GPIO4 (пін 11)
SDA GPIO5 (пін 10)

9. Економія енергії та режими сну

ESP8266-12F підтримує різні режими сну для економії енергії:

Режим Опис Споживання Код активації
Modem-sleep Вимикає Wi-Fi між передачами ~15mA WiFi.setSleepMode(WIFI_MODEM_SLEEP);
Light-sleep Вимикає WiFi та знижує тактову частоту ~0.9mA WiFi.setSleepMode(WIFI_LIGHT_SLEEP);
Deep-sleep Повне вимкнення, крім RTC, пробудження за таймером ~20μA ESP.deepSleep(timeInMicroseconds);
// Приклад використання Deep Sleep void setup() { Serial.begin(115200); Serial.println("ESP8266 прокинувся!"); // Виконуємо необхідні дії (зчитування датчиків, відправка даних тощо) // Переходимо в режим глибокого сну на 5 хвилин (5 * 60 * 1000000 мікросекунд) Serial.println("Переходимо в режим сну на 5 хвилин..."); ESP.deepSleep(5 * 60 * 1000000); } void loop() { // Цей код не виконується при використанні deep sleep }
Для роботи Deep Sleep потрібно з'єднати пін GPIO16 (пін 4) з RST (пін 1). Це дозволить RTC будильнику скинути модуль після закінчення періоду сну.

10. Особливості та обмеження

Параметр Значення
Робоча напруга 3.0V — 3.6V (номінально 3.3V)
Струм споживання ~70mA (пік при передачі Wi-Fi)
Робоча температура -40°C — 125°C
Доступно GPIO 11 пінів (GPIO0, 2, 4, 5, 9, 10, 12, 13, 14, 15, 16)
Аналогові входи 1 (ADC) з діапазоном 0-1В
Інтерфейси UART, SPI, I2C, I2S, IR
Wi-Fi 802.11 b/g/n, +20 dBm вихідна потужність

10.1. Функціональні обмеження

  • Аналоговий вхід: Лише один 10-бітний аналоговий вхід з обмеженням напруги до 1В.
  • GPIO9 і GPIO10: Використовуються для доступу до флеш-пам'яті, їх використання може призвести до нестабільної роботи.
  • GPIO15: Має pull-down при старті, що може ускладнити його використання для деяких пристроїв.
  • GPIO0 і GPIO2: Мають особливе значення при завантаженні, тому слід враховувати їх стан при початковому завантаженні.
GPIO2 має бути підтягнутий до високого рівня (HIGH) під час завантаження, інакше модуль може не завантажитися. Подібно й GPIO0 визначає режим завантаження.

11. Практичні поради з використання

11.1. Стабільність живлення

  • Якісний стабілізатор: Використовуйте якісний стабілізатор на 3.3В з можливістю видачі піків струму до 300мА.
  • Конденсатори: Додайте мінімум один конденсатор 0.1мкФ і один електролітичний 10-100мкФ біля виводів живлення для стабілізації напруги.
  • Окреме живлення: Якщо модуль буде керувати реле або іншими пристроями, які споживають багато енергії, забезпечте для них окреме джерело живлення.

11.2. Програмування та відлагодження

  • Постійний програматор: Зробіть зручний пристрій для програмування з перемикачами для переходу в режим завантаження та звичайний режим.
  • Серійний порт: Активно використовуйте Serial.print() для відлагодження через монітор порту.
  • OTA оновлення: Для фінальних проєктів реалізуйте можливість оновлення "по повітрю" (OTA), щоб не розбирати пристрій для кожного оновлення.

11.3. Швидкість та продуктивність

  • WiFi.persistent(false): Для зменшення зносу флеш-пам'яті та пришвидшення підключення до Wi-Fi.
  • Оптимізація пам'яті: ESP8266 має обмежену RAM, тому уникайте великих буферів та використовуйте F() макрос для рядків (наприклад, Serial.println(F("Текст"))).
  • Уникнення затримок: Використовуйте millis() замість delay() для неблокуючого коду.
ESP8266-12F ідеально підходить для проєктів Інтернету речей (IoT), систем автоматизації дому, метеостанцій, бездротових датчиків та інших проектів, де потрібен компактний Wi-Fi модуль з великою кількістю GPIO.
Важливе зауваження: Ми доклали зусиль, щоб ця інструкція була точною та корисною. Однак, ця інструкція надається як довідковий матеріал. Електронні компоненти можуть мати варіації, а схеми підключення залежать від конкретних умов та вашого обладнання. Ця інформація надається "як є", без гарантій повноти чи безпомилковості. Наполегливо рекомендуємо перевіряти специфікації вашого модуля (datasheet), звірятися з іншими джерелами та, за найменших сумнівів, звертатися до кваліфікованих фахівців, особливо при роботі з напругою 220В.

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