ESP8266 - підключення та оновлення прошивки. Оновлення прошивки Wi-Fi модуля ESP8266

Для роботи з RemoteXY модуль ESP8266 повинен мати версію прошивки за допомогою AT команд не нижче v0.40. Для перевірки версії модуля, а також для зміни прошивки у разі потреби підключіть модуль до комп'ютера через послідовний порт. Модуль можна підключити через плату Arduinoабо через USB-UART адаптер.

Підключення через плату Arduino

При використанні Arduino основний чіп ATmega переводиться в режим скидання, активним залишається лише вбудований USB-UART перетворювач. Для цього контакт RESET з'єднується із землею. Контакти RX і TX підключаються до ESP8266 безпосередньо, а не хрест навхрест, ніби вони підключалися до роботи з контролером.

Підключення через USB-UART адаптер

Перетворювач повинен мати вихід джерела 3.3V для живлення ESP8266. Також це джерело має забезпечити необхідний струм не менше 200мА.



Контакт CPIO0 визначає режим роботи модуля. При не підключеному контакті модуль працює у штатному режимі та виконує AT команди. При замиканні контакту на землю модуль переводиться в режим оновлення вбудованої прошивки. Переведення модуля в режим прошивки вимагає, щоб контакт CPIO0 був підключений до «землі» в момент подачі живлення на модуль. Якщо замикати контакт при працюючому модулі, переведення модуля в режим оновлення прошивки не відбудеться.

Перевірка поточної версії

Для надсилання AT команд та перегляду відповідей необхідно використовувати будь-яку програму монітора послідовного порту. Дуже добре підходить термінальна програма з Arduino IDE. У програмі необхідно встановити режим відправлення команд із завершальним символом перекладу рядка та поверненням каретки. Швидкість роботи модуля за замовчуванням 115 200 біт/сек. Для роботи модуля в штатному режимі контакт CPIO0 має бути вимкнений.

Перевірити поточну версію прошивки можна, виконавши AT команду: AT+GMR. Приклад відповіді модуля:

AT version:0.40.0.0(Aug 8 2015 14:45:58)
SDK version:1.3.0

Build:1.3.0.2 Sep 11 2015 11:48:04
OK

Також варто дізнатися розмір флеш пам'яті вашого модуля, від цього залежить налаштування адрес завантаження даних при оновленні прошивки. У цій інструкції описано прошивку модуля з розміром флеш пам'яті 8Mbit(512KB+512KB) або 16Mbit(1024KB+1024KB), як найпоширеніших. Розмір флеш пам'яті можна дізнатися, виконавши команду AT скидання модуля: AT + RST.

Ets Jan 8 2013,rst cause:2, boot mode:(3,1)

Load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version: 1.4(b1)
SPI Speed: 40MHz
SPI Mode: DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

#t#n"t use rtc mem data
slПrlМене
Ai-Thinker Technology Co.,Ltd.

Програма для прошивки

Для оновлення прошивки необхідно завантажити програму для прошивки та саму прошивку. Програма для прошивки ESP8266 буде використовувати Flash Download Tools v2.4 з офіційного сайту Espressif Systems. Посилання на сторінку завантаження на офіційному сайті: . Необхідно перейти до розділу "Tools".

Посилання на програму у нашому файловому сховищі: FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar

Прошивка

Прошивку також можна завантажити з офіційного сайту. Посилання на сторінку завантаження на офіційному сайті: . Необхідно перейти в розділ «SDKs & Demos» та завантажити прошивку ESP8266 NONOS SDK версії щонайменше v1.3.0. Саме з цієї версії прошивки реалізовано підтримку AT команд v0.40 і більше.

Посилання на прошивку у нашому файловому сховищі: esp8266_nonos_sdk_v1.4.0_15_09_18_0.rar

Усі файли, що скачують, необхідно розпакувати і помістити в каталог, де повний шлях до файлів складається тільки з латинських символів, тобто без символів локалізації мови.

Налаштування

Запускаємо програму прошивки Flash Download Tools v2.4 (одноіменний.exe файл). У вікні необхідно правильно вказати завантажені файли та налаштування з'єднання.


Завантажені файли розміщуються в каталозі bin архіву з прошивкою. Для кожного файлу необхідно вказати правильну адресу завантаження. Використовуйте наступну таблицю для вибору файлів та призначення адрес:

Встановіть такі установки:

  • SPIAutoSet – встановлений;
  • CrystalFreq - 26M;
  • FLASH SIZE – 8Mbit або 16Mbit залежно від розміру флеш-пам'яті;
  • COM PORT – виберіть порт, до якого підключено ESP;
  • BAUDRATE – 115200

Для старту прошивки необхідно натиснути кнопку "START".

Послідовність кроків для прошивки ESP8266

1. Підключіть модуль до комп'ютера згідно зі схемою підключення в цій статті.

2. Запустіть послідовний монітор. Виконайте AT команди AT+RST та AT+GMR для визначення поточної версіїпрошивки та розміру пам'яті модуля. Цей крок також дозволяє перевірити правильність підключення модуля.

3. Запустіть програму прошивки Flash Download Tools, правильно налаштуйте файли, що завантажуються, встановіть налаштування.

4. Вимкніть живлення модуля ESP8266.

5. З'єднайте контакт CPIO0 на землю.

6. Подайте живлення на модуль ESP8266.

7. Натисніть на програму прошивки кнопку START

8. Дочекайтесь закінчення прошивки модуля. Після прошивки з'явиться напис FINISH зеленого кольору.

9. Від'єднайте живлення модуля ESP8266. Від'єднайте землю від контакту CPIO0.

10. Увімкніть модуль, запустіть послідовний монітор. Переконайтеся в працездатності модуля та нової версії прошивки, виконавши AT команду AT+GMR.

Цілі та причини

Це друга стаття автора про інтегральну мікросхему ESP8266, що містить повнофункціональний 32-бітний RISC мікроконтролер та вбудовану Wi-Fi схему 802.11 b/g/n. описувала використання Arduino IDE для програмування ESP8266 містить важливу інформацію, яка тут повторюватися не буде. Якщо ви не читали її, рекомендуємо зробити це.

В інтернеті немає браку інформації про ESP8266; насправді, може бути з неї дуже багато... неправильною. Розробники мікросхеми, Espressif, мабуть, вирішили не тільки не займатися виробництвом на стороні, але й уникати безпосередньої участі у розробці лінійки модулів ESP, які використовують мікросхему ESP8266. Натомість, вони пропонують інформацію та послуги підтримки через форум для тих, хто готовий із завзятістю та терпінням ходити лабіринтом. Додавання до плутанини – це існування іншого форуму, який, незважаючи на те, що названий esp8266.com, не управляється компанією Espressif. Крім того, існує безліч перепродавців, відеоблогерів і письменників, які також пропонують інформацію від якісної до сплутаної настільки, що вона може бути повністю неправильною.

ESP модулі доступні в різних джерелах, а прошивки, що містяться в чіпах ESP8266 на модулях, майже завжди є застарілими і часто викликають підозри щодо їхнього походження. Також іноді підозрілі "оновлення" та інструменти, які доступні у тих самих джерелах. Отже, метою цієї статті є документування процедури завантаження останньої доступної прошивки безпосередньо від Espressif та її встановлення з використанням інструменту програмування, що надається Espressif.

Підключення обладнання

Щоб оновити прошивку на ESP8266, необхідно правильно подати на нього живлення і підключити його до комп'ютера. Крім того, необхідно додати засоби скидання мікросхеми та переведення її в режим завантаження. На наведеній нижче схемі та фотографії показано рекомендоване підключення; Зверніть увагу, що кольори проводів на схемі відповідають кольорам на фотографії. Як ви бачите, я оновлюватиму прошивку на модулі ESP-01, але ті ж самі з'єднання будуть працювати і з іншими модулями, якщо використовуються ті самі входи/виходи ESP8266, як показано на схемі. Для отримання додаткових відомостей див.

Більш надійна схема прошивки наведена у цій статті.


Програма терміналу PuTTY

Коли підключення обладнання завершено, наступний крок – увімкнути ESP8266 та спробувати зв'язатися з ним. Для цього потрібна проста термінальна програма; ми будемо використовувати PuTTY, безкоштовну програму, доступний тут. Ви можете використовувати іншу термінальну програму, але вам доведеться врахувати різницю між нею і PuTTY.

Відкрийте PuTTY та натисніть перемикач Serial. Введіть номер COM порту (який має бути менше 10) та швидкість передачі (швидше за все, це буде 115200 або 9600).

У маленькому вікні Saved Sessions (Збережені сеанси)введіть ESP8266 та натисніть кнопку Save (Зберегти). Вікно PuTTY має бути схожим на зображення нижче.


Натисніть кнопку Open (Відкрити), після чого має відкритися вікно сеансу терміналу PuTTY.

Увімкніть Caps Lock у себе на комп'ютері та введіть AT, але не натискайте Enter. Ви повинні побачити AT у вікні терміналу PuTTY. Якщо цього не сталося, ви, можливо, вибрали не той порт COM або неправильну швидкість передачі. Закрийте PuTTY і почніть цей підрозділ статті з самого початку. Допустимі швидкості передачі: 9600, 19200, 38400, 74880, 115200, 230400, 460800 та 921600; спробуйте по черзі кожну з них, доки не знайдете ту, з якою все запрацює.

Коли ви побачите AT у вікні терміналу PuTTY, утримуючи клавішу Ctrl , натисніть клавішу M та J . Відпустіть клавішу Ctrl. Ви повинні побачити OK у вікні терміналу PuTTY, як показано нижче.


Зверніть увагу, що якщо ви робите помилку під час введення у вікні сеансу терміналу, можливо, виправити цю помилку не вдасться. Замість того, щоб намагатися відредагувати та виправити помилку, часто краще просто утримувати клавішу Ctrl та натискати спочатку клавішу M, а потім J, що згенерує повідомлення про помилку. Потім ви можете почати знову та ввести правильний текст.

Коли ви побачите перше повідомлення OK, це означає, що ви подолали велику перешкоду. Тепер ви знаєте, що обладнання підключено правильно, модуль ESP працює, і ви правильно вибрали COM порт та швидкість передачі. OK

Тепер знову запустіть PuTTY, виберіть збережений сеанс ESP8266 та натисніть кнопку Load (Завантажити) Open (Відкрити)


У першому рядку вище ви бачите команду AT+GMR, яку ви набрали. Як ви, можливо, знаєте або здогадалися, схема команд, яку ми використовуємо для зв'язку з ESP8266, називається "набір AT команд", тому що всі команди починаються з букв "AT".

На жаль, існує безліч версій наборів команд AT; всі вони містять кілька однакових команд, але є багато AT команд, які не є стандартними для всіх наборів AT команд. Навіть у спільноті ESP8266 існує кілька версій. Другий рядок вказує, що це конкретний пристрій 8266 запрограмовано на прошивку, яка використовує версію 0.25.0.0 AT команд. Десь є документ, який визначає команди, які включені до версії 0.25.0.0, але й без цього документа ви можете використовувати метод спроб та помилок для визначення підтримуваних AT команд. У кращому випадку це буде дуже стомлюючий процес, але, на щастя, є рішення, яке буде пояснено трохи пізніше.

Третій рядок визначає версію програмного забезпечення(SDK), яка використовувалася для даного конкретного ESP8266 як версія 1.1.1. Кожен SDK також включає набір AT команд, який є частиною прошивки, і підходить для управління цією прошивкою. Очевидно, версія 0.25.0.0 команд AT працює з версією 1.1.1 SDK. Але все ж таки потрібен документ, який описує AT версію 0.25.0.0, щоб дізнатися, які команди включені. Існує кращий спосіб, описаний у наступному розділі цієї статті, але перед тим, як перейти до нього, спробуємо ще одну команду AT і подивимося, що станеться.

Увімкніть Caps Lock на комп'ютері та введіть AT+CWLAP . Коли ви побачите AT+CWLAP у вікні терміналу PuTTY, утримуючи клавішу Ctrl , спочатку натисніть клавішу M , а потім J . Відпустіть клавішу Ctrl. Через кілька секунд вікно терміналу має виглядати так, як показано на скріншоті нижче.


AT+CWLAP змушує ESP8266 перерахувати все доступні Wi-Fiточки доступу. У наведеному вище випадку було знайдено дві точки доступу: одна називається "ATT936", а друга - "tracecom 2.4". Зрозуміло, ваші результати будуть відрізнятися і повинні включати вашу власну мережу Wi-Fi, а також мережі ваших сусідів.

Закрийте вікно сеансу терміналу PuTTY та натисніть OK, коли PuTTY запитає, чи впевнені ви.

ESP Flash Download Tool

Хоча це рідко згадується в інтернеті, Espressif, розробники мікросхем ESP8266, створили деяку частину програмного забезпечення для оновлення прошивки у своїх чіпах. Це ESP Flash Download Tool, і цей інструмент доступний. Завантажте, розархівуйте та встановіть останню версію на вашому комп'ютері; на момент написання статті це FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar.

Запустіть інструмент, і ви повинні будете побачити два вікна: вікно графічного інтерфейсу(GUI) з полями введення інформації та термінальне вікно, в якому ведеться лог виконаних дій.

Вікно графічного інтерфейсу ESP Flash Download Tool

Варто відзначити кілька речей, але немає приводів для занепокоєння:

  • вікно (GUI) ідентифікується як V2.3, тоді як вікно журналу ідентифікується як V2.4. Очевидно, вікно GUI відзначено неправильно;
  • поля вибору COM порту та швидкості передачі у вікні GUI можуть вже містити дані;
  • поля введення адрес у вікні GUI можуть містити дані;
  • вікно лога може містити дані.

Отримання останньої прошивки

Espressif має сторінку, на якій розміщується остання версія прошивки. Перейдіть на сторінку bbs.espressif.com , натисніть на запис SDKs у списку Downloads , а потім натисніть " latest release " у розділі Announcements . На момент написання статті на цій сторінці можна було побачити таке:


Остання версія Non-OS SDK (Software Development Kit) - це те, що нам потрібно, і, схоже, що, якщо ви клацніть на "Latest Version: 1.4.0", то отримаєте останню версію. Але це зовсім так; Зверніть увагу, що є доступний патч, вказаний як esp_iot_sdk_v1.4.1_15_10_22. Це не патч; це виправлена ​​версія прошивки версії 1.4.0. Нам потрібен він та bin файли AT_v0.50. Клацніть по черзі на кожному з них та завантажте файли.

Звичайно, на той час, коли ви це прочитаєте, можуть з'явитися більше свіжі версії SDK, і їх розташування можуть бути змінені, але принаймні ви знаєте, де шукати. Просто переконайтеся, що уважно прочитали, щоб бути впевненим, що ви завантажуєте останню версію. Як ми побачили раніше, це не завжди очевидно.

Можливо, ви помітили, що є розділ для завантаження документів. Всі вони містять якісну інформацію, але іноді істотна її частина втрачається при перекладі з китайської на англійську. На даний момент не забудьте отримати останні версії ESP8266 AT Instruction Set та Espressif IOT SDK User Manual.

Встановлення прошивки

Запустіть ESP flash download tool і переконайтеся, що в жодному чекбоксі у лівому верхньому куті вікна GUI не поставлена ​​галка. Введіть COM порт, який ви використовуєте, та швидкість передачі 115200 у полях введення в нижній частині вікна. Зверніть увагу, що під час введення даних вони записуються у вікні журналу.

Подайте живлення на свою збірку для програмування ESP та підключіть її до комп'ютера. Натисніть та утримуйте кнопку Reset, а потім натисніть та утримуйте кнопку Flash. Відпустіть кнопку Reset, а потім відпустіть кнопку Flash. Натисніть кнопку STARTвікні GUI інструмент прошивки ESP. Програма завантаження флеш-пам'яті повинна перевірити ESP8266 у вашій збірці та створити звіт, схожий на той, що наведено нижче. Натисніть та відпустіть кнопку Reset на вашому макеті, щоб вийти з режиму прошивки ESP8266 та відновити нормальну роботу.


Зауважте, що тепер вікно GUI містить інформацію про ESP8266, включаючи розмір флеш-пам'яті (у прикладі 8 Мбіт), тактову частоту(у прикладі 26 МГц) та дві MAC-адреси для чіпа. Така ж інформація міститься у вікні журналу.

Потім натисніть у вікні GUI по чекбоксу з написом " SpiAutoSet", що змусить інструмент завантаження автоматично вибрати правильні розмір флеш-пам'яті та тактову частоту.

Тепер нам потрібно вибрати файли для установки ESP8266 і встановити початкову адресу пам'яті для кожного файлу. Щоб оновити ESP чип, необхідно правильно встановити чотири файли. Відкрийте Посібник користувача Espressif IOT SDK і знайдіть розділ про запис образів у флеш-пам'ять. У версії 1.4 посібника він починається зі сторінки 20. Потім знайдіть підрозділ, який описує версію підтримувану Cloud Update (FOTA), і в цьому підрозділі знайдіть таблицю про розмір флеш-пам'яті у ESP8266. У цьому прикладі розмір флеш-пам'яті становить 8 Мбіт, що дорівнює 1024 кілобайт, отже, в таблиці 2 на сторінці 25 посібника міститься інформація, необхідна прикладу. Подивимося на малюнок нижче.


Необхідні чотири файли: esp_init_data_default.bin , blank.bin , boot.bin і user1.bin . Адреса, за якою має бути встановлений кожен із файлів, відображається поряд з ім'ям файлу. Перші три з необхідних файлівзнаходяться в каталозі esp_iot_sdk_v1.4.1_15_10_22, раніше завантаженому з bbs.espressif.com, а четвертий розташований в AT_v0.50 bin files. Перейдіть туди, де знаходяться ці завантажені файли, та скопіюйте шляхи до них у поля введення у верхній частині вікна GUI програми Flash Download Tool; введіть правильну адресу для кожного файлу в полі поруч із ім'ям файлу. Виконайте такі кроки для кожного файлу:

  • клацніть усередині поля введення "set firmware path";
  • клацніть по кнопці... праворуч від поля введення;
  • перейдіть до місця зберігання файлу та клацніть по файлу. GUI автоматично введе шлях до файлу у полі введення;
  • введіть правильну адресу (з таблиці) для кожного файлу.

Зверніть увагу, що файли, які потрібно завантажити, можуть бути не такими, як ті, що вказані в таблиці в цьому прикладі, але будуть близькі до них.

Тепер клацніть на чотири прапорці зліва від імені кожного з файлів. Вікно графічного інтерфейсу програми Flash Download Tool має бути схожим на малюнок нижче. Двічі перевірте адреси таблиці.

На своєму макеті прошивки ESP натисніть та утримуйте кнопку Reset, а потім натисніть та утримуйте кнопку Flash. Відпустіть кнопку Reset, а потім відпустіть кнопку Flash. Натисніть кнопку STARTвікні GUI інструмент прошивки ESP. Повинна розпочатися завантаження, і її прогрес має бути показаний у вікні графічного інтерфейсу та вікні журналу Flash Download Tool, як показано нижче.


Як показано вище, успішна операція прошивки флеш-пам'яті призведе до того, що всі файли будуть надіслані ESP8266, а COM порт буде закритий.

Перевірка успішності прошивки

Після завершення прошивки закрийте програму Flash Download Tool. Зніміть живлення з макета програмування ESP, а потім знову підключіть живлення.

Знову запустіть PuTTY, виберіть збережений сеанс ESP8266 та натисніть кнопку Load (Завантажити). Це має помістити раніше вибрані вами налаштування COM порту та швидкості передачі у відповідні вікна. Натисніть Open (Відкрити)і відкриється нове вікно сеансу терміналу PuTTY.

Увімкніть Caps Lock у себе на комп'ютері та введіть AT, але не натискайте Enter. Ви повинні побачити AT у вікні терміналу PuTTY. Введіть символ +, а потім GMR. Коли ви побачите AT+GMR у вікні терміналу PuTTY, утримуючи клавішу Ctrl , спочатку натисніть клавішу M , а потім J . Відпустіть клавішу Ctrl. У вікні терміналу PuTTY ви повинні побачити інформацію про прошивку ESP8266, аналогічну показаній нижче.


Як ви можете бачити, ESP8266 явно встановлена нова прошивка. Вона була оновлена ​​із SDK версії 1.1.1 на SDK версії 1.4.0. Крім того, також було встановлено відповідну версію 0.50.0.0 набору AT команд.

Закрийте вікно сеансу терміналу PuTTY та натисніть OK, коли PuTTY запитає, чи впевнені ви.

І на останок

Пара тренувань, і весь процес оновлення прошивки займе набагато менше часу, ніж потрібно для прочитання цієї статті. Як тільки ви зробите це, то будете впевнені в тому, що знаходиться всередині вашого ESP8266 і зможете зосередитися на своєму Wi-Fi проекті замість вгадування прошивки ESP і надії на підтримку необхідного набору AT команд.

JavaScript повинен бути спрямований на ордер для використання цієї сторінки

Прошивка та запуск модуля ESP8266 (updated: 23 Jun 2018, 22:01:16)

Це загальна документація щодо чіпа ESP8266. Зверніть увагу, що цей чіп вважається застарілим, хоч і дуже популярним - на зміну йому прийшов чіп ESP32.

Для початку необхідно визначити, скільки пам'яті встановлено на модулі ESP8266. Зустрічаються варіанти модулів, з встановленою пам'яттю 512 кбайт (4 мегабіти), а також 4мбайт (32 мегабіти). Рідко, але трапляються із флеш пам'яттю 1 мбайт (8 мегабіт). Майже всі різновиди ESP-12 та нові ESP-07 мають на борту 4 мегабайти. Об'єм пам'яті можна визначити за маркуванням flash чіпа, подивитися у програмі Flash Download Tool або на вкладці /debug. Маркування має вигляд 25QXX, де XX - об'єм у мегабітах, наприклад 25Q32 має на борту 32 мегабіти = 4 мегабайти.

Визначення розміру пам'яті на вкладці ip_adr/debug:

Вкладка debug містить різну корисну інформацію, в тому числі і реальний розмір чіпа флеш пам'яті в рядку Flash real size, а також розмір пам'яті, встановлений в програмі Flash set size, що прошиває, який важливий для правильної підтримки OTA.

Якщо ви не зареєстровані в конструкторі, то ви можете завантажити зібрані прошивки на головній сторінці, де доступні 2 полегшені варіанти прошивки:

Варіант із підтримкою OTA з об'ємом пам'яті чіпа 1мбайт і вище. Необхідно обов'язково вибирати в програмі, що прошиває, розмір пам'яті 1мбайт!! Модулі з розміром flash пам'яті 512кб не підтримуються режимом OTA!

Варіант без підтримки OTA. Якщо розмір файлу (одним файлом) більше 496кб, то потрібна підтримка flash пам'яті не менше 1 мегабайта!! У порівнянні з режимом OTA у цьому варіанті кількість включених опцій можна увімкнути значно менше.

Можливість подальшого оновлення прошивки OTA доступна тільки у кого є активовані ключі!

Якщо у вас є проблеми зі стартом прошивки, то обов'язково дивимося нижче абзац про вирішення проблем із прошивкою!

Складання прошивки в конструкторі

Конструктор дозволяє зібрати прошивку під свої вимоги, включивши в прошивку ті функції і датчики, які потрібні.

Не має сенсу включати всі опції в прошивці - в цьому випадку прошивка може не зібратися, оскільки не влізе в модуль. Краще прошивкуперезбирати знову, якщо ви хочете випробувати інші опції.

Деякі опції мають додаткові налаштування, які знаходяться у значок-шестерні. Там можна вибрати доступну кількість, наприклад термостатів або інших опцій. При зміні кількості через динамічних налаштуваньможуть "злетіти" інші опції модуля після подальшого оновлення. При початковому налаштуваннібажано одразу вибрати потрібну кількість опцій, щоб таких проблем не було.

При початковому збиранні прошивки рекомендується скористатися опцією OTA, щоб наступне оновлення було можливим через інтернет без використання підключення програматора. З опцією OTA кількість опцій можна включити більше, але потрібно, щоб пам'ять на модулі була не менше 1 мегабайта!!

Під час складання прошивки можна вибирати різний SDK. Рекомендована версія SDK 1.3.0. У нових версіях помічено проблему з режимом точки доступу ( Safe Mode)(???) , але немає проблем із надійністю зв'язку з роутером. SDK – це набір бібліотек та функцій від виробника чіпа для роботи пристрою.

Після натискання кнопки "скомпілювати" через деякий час конструктор прошивки видасть посилання для скачування:

У режимі без OTA можна прошити файли прошивки одним файлом – тоді всі налаштування модуля, якщо вони були скинуті. Якщо ви оновлюєте прошивку і не хочете, щоб налаштування видалилися, необхідно оновлювати прошивку двома файлами за адресами, вказаними в імені файлу.

У режимі OTA достатньо залити прошивку одним файлом. Але 0x81000.bin може знадобитися, якщо ви хочете оновити прошивку по кабелю після використання OTA, коли завантажено файл user2.bin - у цьому випадку оновлення прошивки одним файлом не оновить активну прошивку.

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

Для прошивки ESP8266 потрібний USB-UART перехідник або Arduino. ESP8266 необхідно забезпечити напругу живлення 3.3в та струмом 200..300мА. Живлення 3.3в від ARDUINO або USB-UART підключати не рекомендується - модуль може працювати не стабільно через нестачу струму. Рекомендується використовувати стабілізатор типу 1117.

Підключення ESP8266 до USB-UART: Необхідно підключити загальні висновки GND (мінус). RX USB-UART на TX ESP, TX USB-UART на RX ESP. Підключаємо також джерело живлення 3.3в.

Підключення ESP8266 до Arduino: Необхідно підключити загальні висновки GND(мінус).RX у Arduino на RX ESP, TX у Arduino на TX ESP. Підключаємо також джерело живлення 3.3в. RESET у Arduina необхідно підключити до GND.

На модулі ESP8266 висновок CH_EN необхідно підключити до +3.3в щоб увімкнути чіп.

GPIO 0 на час програмування, перед увімкненням живлення необхідно підключити до GND (земля). Після успішного прошивки GPIO 0 потрібно відключити від GND. Якщо на модулі виведено GPIO 15, його необхідно підключити на GND через резистор 10кОм на постійній основі!!

Якщо у вас модуль esp8266 має вже на борту USB-UART (наприклад, Wemos, NodeMCU), то вказані вище дії проводити не потрібно.

Прошивка модуля

Для початку необхідно встановити драйвера для вашого USB-UART перехідника або Arduin.

Прошивка через Nodemcu Flasher: Встановлюємо на вкладці Advanced Параметр Flash size відповідно до вибраного розміру flash пам'яті (в байтах). Режим роботи flashставимо QIO (при використанні GPIO 9/10 – DIO). Інші параметри не чіпаємо. На вкладці Config вказуємо шлях на файл прошивки з адресою 0x0000. На вкладці Operation вибираємо COM порт і натискаємо кнопку FLASH.

Прошивка через Flash download tool: Дії аналогічні

Прошивка через Flasher for сайт. Програма має російськомовний інтерфейс та підтримується як Windows, так і Linux системи. На даний момент прошивка йдетільки за адресою 0x0000 файлу "Завантажити одним файлом (0x00000)". При встановленому API ключі можливе автоматичне завантаження заздалегідь зібраноюпрошивки безпосередньо з конструктора (тільки з режимом OTA). Для очищення пам'яті замість бланка можна використовувати опцію "стерти чіп перед прошивкою".

Для модулів ESP8285 та модулях з пам'яттю PN25F08Bпотрібне встановлення режиму пам'яті DOUT !!

Прошивки через esptool. Приклад команди esptool.py --port /dev/ttyUSB0 write_flash-fs 8m 0x00000 esp8266.bin. де -fs 8m параметр потрібен лише для вказівки розміру при одномегабайтовій прошивці.

Прошивка файлу ESP INIT DATA

Рекомендовано прошити файл файл esp_init_data_default.bin з калібруванням за замовчуванням, ці настройки впливають на роботу wifi і adc. Найчастіше модулі працюють коректно без цього файла. Останні SDK можуть взагалі не запускатися без цього файлу.

Адреса прошивки файлу залежить від встановленого розміру flash пам'яті:

0x7c000 для 512 KB.

0xfc000 на 1 MB.

0x3fc000 для 4 МБ.

0xffc000 для 16 МБ.

Також дані налаштування можна завантажити подавши GET команду http:///configinit?def=1, останні SDK самі прописують дані налаштування.

Запуск модуля

При першому увімкненні модуль вмикається в режим safe modeавтоматично, оскільки не містить імені точки доступу. В режимі safe modeв ефірі з'явиться точка з ім'ям WiFi-IoT(у прошивках до 12.10.16 HomeSmart) , до якої можна підключиться використовуючи смартфон або ноутбук.

У режимі safe mode ще можна потрапити, замкнувши між собою RX і TX і перезапустивши модуль або натиснути 3 рази підрятують (з інтервалом натискання близько секунди) кнопку RESET на ESP8266.

1. За допомогою Captive Portal мобільний пристрійвиведе повідомлення про підключення, при натисканні на яке відбувається автоматичне відкриття головної веб-сторінки модуля. Можна також зайти в модуль ввівши браузері адресу iot.local(або будь-яке інше, наприклад, iot.ru). Captive Portal не підтримується, якщо прошивка зібрана на SDK 0.9.5!

2. Після успішного коннекту заходимо вручну за адресою http://192.168.4.1, використовуючи веб-браузер.

Далі налаштовуємо підключення до свого роутера на вкладці main веб-інтерфейсу.Необхідно вбити у поля WiFi options дані своєї точки доступу. Для підключення до роутера вибираємо режим "Station mode". Після натискання кнопки set нижче з'явиться IP адреса, на яку можна заходити всередині своєї бездротової мережі.

Тут же можна встановити свій логін і пароль на сторінки налаштувань веб-інтерфейсу. Довга логіна та пароля не більше 8 символів. Пароль потрібно на всі вкладки налаштувань. А за встановленої опції "Full Security" і на всі GET запити управління. У режимі safe mode парольне запитується!

На цій вкладці можна задати ім'я модулю, яке відображатиметься на головній та в системі flymon, а також у топіці на MQTT сервері.

Вказані вище дії виконувати не потрібно, якщо прошивка була зібрана з опцією Параметри за замовчуванням, де були заздалегідь прописані параметри роутера та IP-адреса. Після успішного прошивки та перезавантаження відразу можна заходити на вказану IP адресу модуля всередині своєї wi-fi мережі.

Вирішення проблем з прошивкою

Іноді, після сторонніх прошивок або сміття, модуль може не запуститися і необхідно виконати додаткові дії. Необхідно затерти flash пам'ять на адресу 0x00000. Далі вже прошиваємо саму прошивку знову.

У деяких користувачів навіть після зачистки бланком модуль не стартує або стартує тільки при встановленому режимі 512 кб або 4мб, можливо це пов'язано з низькою якістю flash пам'яті або її частковою несумісністю з чіпом ESP8266. За деякими відомостями, від користувачів допомагає заміна чіпа пам'яті.

Якщо на головній сторінці модуля виводиться повідомлення "Error flash size! (code 0x1)", то це була прошита прошивка 1мегабайт в режимі 512кб. При цьому вмикається режим Safe Mode і можливі збої в роботі модуля через такі неправильні установки. Переконайтеся, що на модулі встановлено необхідний розмір пам'яті - це видно на веб-вкладці ІП_АДРЕСА/debug у рядку Flash real size. Режим обсягу пам'яті вказується в програмі, що прошиває.

Якщо на головній сторінці модуля виводиться повідомлення "Error flash size! (code 0x2)", то цей модуль має всього 512кб flash пам'яті і це означає, що необхідно використовувати прошивку без увімкненого режиму 1 мегабайт або не використовувати OTA. Можна так само перепаяти мікросхему flash пам'яті більш ємну.

ВАЖЛИВО!!Якщо модуль не може отримати IP-адресу. Висить постійно статус connect , то рекомендується вписати IP-адресу вручну нижче. Для цього необхідно вибрати режим Static IP та вписати IP модуля та IP шлюзу (IP роутера). Після цього можна заходити на модуль вже всередині мережі за адресою IP, який вказали в налаштуваннях.

Іноді статус connect може висіти, якщо тип шифрування на роутері увімкнений, який не підтримується чіпом ESP8266.

Збереження налаштувань у файл

Налаштування модуля можна зберегти у файл, за винятком налаштувань WI-FI, стану GPIO, список датчиків DS18B20. Файл необхідно завантажити на адресу IP_ADRES/configsave.bin . Записується назад у модуль через програматор за адресою 0x3C000 для 512кб прошивки, 0x7C000 – для 1мб. Налаштування можна завантажити і через esptool.py використовуючи приклад нижче, підставивши потрібну адресу.

Завантажити налаштування WI-FI можна за адресою ІП_АДРЕСА/configsave.bin?pg=66 для 512кб, ІП_АДРЕСА/configsave.bin?pg=130 для 1 мег. Завантажити за допомогою esptool.py можна командою esptool.py read_flash 0x7E000 4096 mywifi_settings.bin для 512 кб (Для 1024кб адреса буде 0xfe000).

Корисні посилання:

Відеоінструкціяз налаштування від Umka.

Як перевірити ESP8266

Для перевірки ESP8266, який ви щойно придбали, потрібно .

Увага!Допустимий діапазон напруги живлення модуля ESP8266 від 3,0 до 3,6 вольт. Подача підвищеної напруги живлення на модуль гарантовано призведе до виходу ESP8266.

Щоб перевірити ESP8266 ESP-01, достатньо підключити три піна: VCC і CH_PD (chip enable) до живлення 3,3 вольт, а GND до землі. Якщо у вас не ESP-01, а інший модуль і на ньому виведений GPIO15, то додатково потрібно підключити GPIO15 до землі.

При успішному старті заводської прошивки на модулі ESP8266 загориться червоний світлодіод (індикатор живлення, на деяких версіях модуля, наприклад ESP-12, може бути відсутній) і кілька разів блимає синій (це індикатор передачі даних від модуля до терміналу по лінії TX-RX, може мати інший колір) і у вашій бездротовій мережі має з'явитися нова точка доступу з ім'ям ESP_XXXX, яку ви зможете побачити з будь-якого WiFi пристрою. Назва точки доступу залежить від виробника прошивки та може бути іншою, наприклад AI-THINKER_AXXXXC. Якщо точка доступу з'явилася, то можна продовжити експерименти далі, якщо ні, то ще раз перевірте живлення, CH_PD, GND і якщо все правильно підключено то, швидше за все, у вас несправний модуль, але є надія, що прошивка в модулі з нестандартними налаштуваннями і можливо, вам допоможе перепрошивка.

Як швидко підключити ESP8266

У мінімальний набір для підключення та прошивки модуля ESP8266 входить:

Червоний - харчування 3,3в

Чорний - GND

Жовтий – на стороні ESP8266 – RX, на стороні USB-TTL – TX

Зелений - на стороні ESP8266 - TX, на стороні USB-TTL - RX

Помаранчевий – CH_PD (CHIP ENABLE) – повинен бути завжди підтягнутий до харчування

Синій – GPIO0 – підключений через вимикач до землі для увімкнення режиму перепрошивки модуля. Для звичайного старту модуля GPIO0 можна залишити не підключеним.

Рожевий на правій схемі - нестабілізоване харчування 5-8 вольт

4. Для старту модуля розірвіть ланцюг GPIO0 - GND і можете подавати харчування (причому саме в такому порядку: спочатку переконуємося, що GPIO0 "висить у повітрі", потім подаємо харчування на VCC і CH_PD)

Увага! У вищенаведених, реально працюючих прикладах підключення ESP8266 використовується підключення висновків ESP8266 «безпосередньо» до землі та харчування, або «висить у повітрі», як у нас нікуди не підключений RESET, що є абсолютно неправильним і придатним тільки для пари перших експериментів, хоча і цілком працездатно на переважній більшості модулів. "Напряму" до живлення підключається тільки висновок VCC, інші висновки: CH_PD, RESET, GPIO0, GPIO2, повинні бути підтягнуті (pullup) до живлення (VCC) через резистор від 4,7 до 50 кОм. «Напряму», до мінуса (загального дроту) живлення підключаємо тільки GND, а GPIO0 підтягуємо (pulldown) теж через резистор до 10k до GND для переведення модуль у режим завантаження прошивки. Якщо ви плануєте і далі експериментувати з ESP8266, то зробіть так само, як і для будь-яких інших мікроконтролерів. Детальний опис pullup і pulldown виходить за межі цієї статті, але ви зможете легко нагуглити опис правильного підключенняпортів введення-виведення. Підключення дозволить вам уникнути безлічі «чудес» і проблем і буде неминуче необхідним при виникненні труднощів із запуском або перепрошивкою модуля ESP8266.

Як правильно підключити ESP8266

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

Схема підключення ESP8266 (без автозавантаження прошивки, прошиваємося попередньо встановивши перемичку BURN та перезавантаживши модуль)

Схема підключення за допомогою автозавантаження прошивки з Arduino IDE, UDK, Sming. Для Flash Download Tool та XTCOM_UTIL, можливо, буде потрібно відключення RTS/DTR. Якщо RTS і DTR вам відключати незручно, можна додати у схему перемички

На цих схемах не показано підключення ADC і вільних GPIO - їх підключення залежатиме від того, що ви захочете реалізувати, але якщо хочете стабільності, то не забудьте притягнути все GPIO до живлення (pullup), а ADC до землі (pulldown) через резистори, що підтягують. .

Резистори на 10k можуть замінити інші від 4,7k до 50k, крім GPIO15 — його номінал має бути до 10k. Номінал конденсатора, що згладжує високочастотні пульсації, може бути іншим.

З'єднання RESET і GPIO16 через резистор deep sleep на 470 Ом вам знадобиться, якщо ви використовуватимете режим deep sleep: для виходу з режиму глибокого сну модуль перезавантажує сам себе, подаючи низький рівень на GPIO16. Без цього з'єднання глибокий сон буде вічним для вашого модуля.

На перший погляд, на цих схемах здається, що GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) зайняті і ви не можете їх використовувати для своїх цілей, але це не так. Високий рівень на GPIO0 і GPIO2, низький на GPIO15 потрібні тільки для старту модуля, а в подальшому ви можете використовувати їх на свій розсуд, тільки не забудьте забезпечити потрібні рівні до перезавантаження модуля.

Можна використовувати і TX, RX як GPIO1 і GPIO3 відповідно, не забуваючи про те, що при старті модуля будь-яка прошивка буде смикати TX, відправляючи налагоджувальну інформацію в UART0 на швидкості 74480, але після успішного завантаження ви можете використовувати їх не тільки як UART0 для обміну даними з іншим пристроєм, а й як звичайні GPIO.

Для модулів, що мають меншу кількість розведених пінів, наприклад ESP-01 підключення нерозведених пінів не потрібно, тобто. на ESP-01 розведені тільки: VCC, GND, GPIO0, GPIO2, CH_PD та RESET - ось тільки їх і підтягуєте. Немає жодної необхідності припаюватися прямо до мікросхеми ESP8266EX і притягувати нерозведені піни, тільки якщо це вам .

Дані схеми підключення народилися після безлічі експериментів, проведених нашими форумчанами і зібрані по крихтах з розрізненої і недоступної спочатку документації нашим співтовариством, я лише постарався об'єднати ці знання в одному місці. Безліч порад з підключення ви знайдете. Там же ви зможете задати питання, що вас цікавлять, або знайти. Якщо ви побачили помилку, неточність у цій статті або є що додати, то .

Увага! Навіть ці схеми не можна назвати «ідеальними». Досконало немає межі: зручно підключити другий USB-TTL до UART1 (з ESP8266 можна взяти тільки GND і UTXD1, тобто GPIO2) для підключення терміналу налагодження (потрібний другий USB-TTL конвертер) — тоді можна буде прошивати модуль ESP8266 через UART0 без відключення терміналу налагодження на UART1. Непогано буде підключити резистори малого номіналу до висновків обох UART, поставити діод у лінію RTS, додати конденсатор до лінії живлення для гасіння низькочастотних імпульсів і т.д. Дуже зручно, наприклад, зроблено в цій налагоджувальній платі: на всі GPIO підключені світлодіоди, на ADC підключений фоторезистор, але шкода, що немає кнопки RESET і перемичка лише одна на GPIO0.

Правильним буде сказати вам, що не існує ідеальної і водночас універсальної схемипідключення ESP8266 Вся справа в тому, що багато залежить від прошивки, яку ви збираєтеся туди залити. Наведені вище схеми розраховані на новачків, які тільки починають освоювати ESP8266, для експериментів. Для реальних проектів, можливо, вам доведеться трохи змінити схему. Наприклад, потрібно підключити RTS до GPIO15, а CTS до GPIO13. Також у реальних проектах рекомендую приділити особливу увагу питанню.

Підключення ESP8266 через Arduino

Якщо у вас під рукою не було USB-TTL конвертера на 3,3в, але є Arduino з вбудованим USB-TTL конвертером, то можна використовувати таку схему підключення

На що звернути увагу:

1. Arduino Reset підключений до GND (синій провід) щоб не запускався мікроконтролер на Arduino, в даному виді ми використовуємо Arduino як прозорий USB-TTL конвертер

2. RX і TX підключені не "на перехрест", а прямо - RX - RX (зелений), TX - TX (жовтий)

3. Решта підключено так само, як і в попередніх прикладах

Увага! У цій схемі також потрібно узгоджувати рівні TTL 5 вольт Arduino і 3.3 вольта ESP8266, проте непогано працює і так.

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

З підключенням до послідовного порту доведеться трохи почаклувати: у зв'язку з різноманітністю прошивок для ESP8266, підключення може здійснюватися на різних швидкостях. Потрібну швидкість можна визначити шляхом простого перебору трьох варіантів: 9600, 57600 та 115200. Як здійснити перебір? Підключаєтеся в термінальній програмі до вашого віртуального послідовного порту, виставивши наступні параметри: 9600 8N1, потім перезавантажуєте модуль, відключивши CH_PD (chip enable) від живлення (USB-TTL при цьому залишається підключеним до USB) і знову вмикаєте (тобто просто перекручує CH_PD , чому не пересмикуємо живлення - читаємо, також можна короткочасно замкнути RESET на землю для перезавантаження модуля) і спостерігаєте дані в терміналі. По-перше, світлодіоди ESP8266 повинні горіти як описано на початку статті в розділі . По-друге, у терміналі ви повинні побачити "сміття" з різних символів, що закінчується рядком "ready". Якщо "ready" ми не бачимо, то перепідключається терміналом на іншій швидкості і знову перезавантажуємо модуль.

На одному з варіантів швидкості "ready" ви все-таки побачите - вітаємо, ваш модуль готовий до роботи. Якщо ні, то ласкаво просимо - ми постараємося допомогти, але попередньо почитайте.

Трохи докладніше про «сміття». Справа в тому, що при старті прошивки, UART модуля ESP8266 перемикається на швидкість передачі 74880 (ось такі кумедні ці китайці) видає в UART налагоджувальну інформацію, потім перемикає швидкість порту на 115200 (ну або на 9600 або 57600 в залежності від версії , Так ось ця налагоджувальна інформація і бачиться нам як сміття, т.к. ми підключаємось до модуля на іншій швидкості. Можете підключитися до ESP8266 на швидкості 74880 ( підтримує цю швидкість) і ви цю налагоджувальну інформацію побачите, буде щось на кшталт цього:

wdt reset load 0x40100000, len 25052, room 16 tail 12 chksum 0x0b ho 0 tail 12 room 4 load 0x3ffe8000, len 3312, room 12 tail 4 chksum 0x5 tail 12 chksum 0x0d csum 0x0d

wdt reset

load 0x40100000 , len 25052 , room 16

tail 12

chksum 0x0b

ho 0 tail 12 room 4

load 0x3ffe8000, len 3312, room 12

Що робити далі

Якщо у вас новий модуль, то, швидше за все, в ньому прошита одна із старих кастомних AT прошивок. Швидше за все це якийсь AI-THINKER AT v0.16 SDK v0.9.2. Перевірити версію прошивки можна командою «AT+GMR», тобто. прямо в термінальній програмі набираєте AT+GMR без лапок і тиснете Enter. Модуль повинен відповісти "OK" і видати версію прошивки (наприклад, "0016000092" - в різних версіях AT прошивок (формат виведення версії відрізняється). Управління модулем ESP8266 AT командами заслуговує на окрему статтю, проте ви легко зможете розібратися з цим і самі, скориставшись одним з наших довідників по AT командам:

На момент написання цієї статті актуальна версіяпрошивки для ESP8266:

Оновлення прошивки ESP8266

Модуль ESP8266 чудовий тим, що не вимагає спеціального програматора - оновлення прошивки здійснюється на тому ж залізі, на якому ви підключаєте модуль ESP8266 до комп'ютера, тобто. теж через USB-TTL конвертер (ну чи Arduino чи RPi). Для оновлення прошивки на модулі ESP8266 виконайте наступне:

1. Завантажте нову версіюпрошивки з нашого сайту з розділу (ось посилання на момент написання цієї статті)

2. Завантажте одну з утиліт для прошивки ESP8266 в залежності від вашої операційної системи з розділу нашого сайту

Багато користувачів вже встигли звернути увагу на чіп ESP8266-12, випущений компанією Espressif. Вартість його значно дешевше в порівнянні зі стандартною платою Bluetooth-адаптера, та й за менших габаритів він відрізняється значно ширшими можливостями. Тепер усі домашні любителі отримали можливість роботи у мережі Wi-Fiвідразу в двох режимах, тобто підключати свій комп'ютер до будь-яких точок доступу або включати його в якості такої точки.

З іншого боку, потрібно правильно розуміти, що такі плати є не просто шилдами, призначеними тільки для зв'язку по Wi-Fi. Сам по собі ESP8266 є мікроконтролером, що має власні UART, GPIO і SPI-інтерфейси, тобто його можна використовувати як абсолютно автономне обладнання. Багато хто після виходу даного чіпа назвали його справжнісінькою революцією, і з часом такі пристрої почнуть вбудовуватися навіть у самі прості видитехніки, але поки що пристрій є порівняно новим і будь-якої стабільної прошивки на нього немає. Багато фахівців по всьому світу намагаються винаходити власні прошивки, адже заливати їх у плату насправді не становить особливих труднощів, але незважаючи на різні труднощі, пристрій вже зараз можна назвати цілком придатним до роботи.

На даний момент розглядається лише два варіанти застосування даного модуля:

  • Використання плати в комбінації з додатковим мікроконтролером або комп'ютером, яким здійснюватиметься контроль над модулем через UART.
  • Самостійне написання прошивки для чіпа, що дозволяє потім використовувати його як самодостатній пристрій.

Цілком природно, що розглядати самостійну прошивку в даному випадку ми не будемо.

Дивлячись на зручність використання та хороші характеристикиБагато людей серед безлічі мікроконтролерів віддають свою перевагу моделі ESP8266. Підключення та оновлення прошивки даного пристроює гранично простим і доступним, і виготовляють тому ж залозі, у якому здійснюється підключення устаткування до комп'ютера. Тобто так само через USB-TTL-конвертер або, якщо хтось віддає перевагу іншим варіантам підключення, може здійснюватися через RPi та Arduino.

Як перевірити?

Для того щоб перевірити працездатність щойно купленого пристрою, вам потрібно буде використовувати спеціальне джерело стабілізованої напруги, розраховане на 3,3 вольта. Відразу варто відзначити, що реальний діапазон напруги живлення даного модуля становить від 3 до 3,6 вольт, а подача підвищеної напруги відразу призведе до того, що ви просто виведете з ладу свій ESP8266. Прошивка та інше програмне забезпечення після подібної ситуації може почати некоректно працювати, і вам уже потрібно буде ремонтувати пристрій або якось його виправляти.

Щоб визначити працездатність цієї моделі мікроконтролера, потрібно просто підключити три піна:

  • CH_PD та VCC підключаються до живлення 3,3 вольт.
  • GND підключається до землі.

Якщо вами використовується не ESP-01, а якийсь інший модуль, і на ньому вже спочатку є виведений GPIO15, то в такому випадку вам і його потрібно буде додатково підключити до землі.

Якщо заводська прошивказапустилася нормально, то в такому випадку можна побачити, а потім пару раз блимає синій. Однак варто відзначити, що червоний індикатор живлення мають не всі серії ESP8266. Прошивка на деяких пристроях не передбачає загоряння червоного індикатора, якщо в модулі він відсутній (зокрема, це стосується моделі ESP-12).

Після підключення до бездротової мережі активується нова точка доступу, яка буде називатися ESP_XXXX, і її можна буде виявити з будь-якого пристрою, який має доступ до Wi-Fi. У цьому випадку назва точки доступу безпосередньо залежить від виробника використовуваної вами прошивки, і тому може бути будь-яким іншим.

Якщо точка дійсно з'являється, ви можете продовжувати експерименти, в іншому випадку потрібно буде проводити повторну перевірку живлення, а також коректність підключення GND і CH_PD, а якщо все підключено правильно, то, швидше за все, ви все-таки намагаєтеся використовувати зламаний модуль або на ньому встановлена ​​прошивка з нестандартними налаштуваннями.

Як його швидко підключити?

Стандартний набір, необхідний для підключення даного модуля, включає наступне:

  • сам модуль;
  • безпайкову макетну плату;
  • повноцінний набір проводів мама-тато, призначені для макетної плати, або спеціальний кабель DUPONT M-F;
  • USB-TTL конвертер на основі PL2303, FTDI або якомусь аналогічному чіпі. Найбільш оптимальний варіант - якщо на USB-TTL адаптер також виводяться RTS і DTR, так як за рахунок цього можна досягти достатньо швидкого завантаженняпрошивки з якогось UDK, Arduino IDE або Sming, не маючи навіть необхідності в ручному перемиканні GPIO0 на землю.

Якщо вами використовується конвертер на 5 вольт, то в такому разі потрібно буде придбати додатковий стабілізатор живлення на базі чіпа 1117 або аналогічному, а також джерело живлення (для стандартного 1117 цілком непогано підійде навіть звичайна зарядка від смартфона на 5 вольт). Рекомендується не використовувати Arduino IDE або USB-TTL як джерело живлення для ESP8266, а застосовувати окремий, тому що за рахунок цього можна позбутися зрештою маси проблем.

Розширений набір для забезпечення комфортної та постійної роботи з модулем передбачає необхідність використання додаткових резисторів, світлодіодів та DIP-перемикачів. Крім цього, можна використовувати недорогий USB монітор, який дозволить вам постійно спостерігати за кількістю споживаного струму, а також забезпечить невеликий захист шину USB від виникнення

Що потрібно робити?

Насамперед варто відзначити той факт, що в ESP8266 управління може бути дещо різним залежно від того, яка саме модель використовується. Таких модулів сьогодні представлено досить багато, і перше, що буде потрібно, - це провести ідентифікацію моделі, що використовується, і визначитися з її розпинуванням. У даній інструкції ми говоритимемо про роботу з модулем ESP8266 ESP-01 V090, і якщо вами використовується якась інша модель з виведеним піном GPIO15 (HSPICS, MTDO), вам потрібно буде притягнути його до землі як для стандартного старту модуля, так і для використання режиму прошивки.

Після цього двічі переконайтеся в тому, що напруга живлення для підключеного модуля становить 3,3 вольта. Як говорилося вище, допустимий діапазон становить від 3 до 3,6 вольт, і в разі підвищення пристрій виходить з ладу, але при цьому напруга живлення може бути навіть значно нижче 3 вольт, які заявлені в документах.

Якщо ви використовуєте USB-TTL конвертер на 3,3 вольта, то в такому випадку підключіть модуль так само, як на лівій частині картинки нижче. Якщо ж вами застосовується виключно п'ятивольтовий USB-TTL, зверніть увагу на праву частину малюнка. Багатьом може здатися, що права схема ефективніша за рахунок того, що в ній застосовується окреме джерело живлення, але насправді у разі застосування USB-TTL конвертера на 5 вольт вкрай бажано зробити додатковий дільник на резисторах, щоб забезпечити узгодження тривольтових і п'ятивольтових рівнів логіки, або просто використовувати модуль перетворення рівнів.

Особливості підключення

На правому малюнку є підключення UTXD (TX), а також URXD (RX) даного модуля до п'ятивольтової логіки TTL, і проведення таких процедур здійснюється тільки на свій страх і ризик. До ESP8266 опис говорить про те, що модуль ефективно працює лише з 3,3-вольтовою логікою. У переважній більшості випадків навіть у разі роботи з п'ятивольтовою логікою обладнання не виходить з ладу, але зрідка відбуваються такі ситуації, тому подібне підключення не рекомендоване.

Якщо у вас немає можливості використовувати спеціалізований USB-TTL конвертер на 3,3 вольт, можна застосувати дільник на резисторах. Також варто відзначити, що на правому малюнку стабілізатор живлення 1117 підключається без додаткової обв'язки, і це дійсно робоча технологія, але все-таки найкраще користуватися схемою підключення 1117 з конденсаторною обв'язкою - потрібно звірити її з ESP8266 datasheet на ваш стабілізатор або використовувати вже повністю готовий модуль, що ґрунтується на базі 1117.

Щоб запустити модуль, потрібно розірвати GPIO0-TND ланцюг, після чого можна подавати живлення. При цьому варто відзначити, що робити все потрібно саме в такому порядку, тобто спочатку переконайтеся в тому, що GPIO0 «висить у повітрі», і лише потім уже подавайте харчування на CH_PD та VCC.

Як правильно підключати?

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

Варто відзначити, що на зображенні вище не показується використання вільних GPIO або ADC, і їх підключення безпосередньо залежатиме від того, що конкретно ви хочете реалізувати, але якщо ж ви захочете забезпечити стабільність, не забувайте притягувати все GPIO до живлення, а ADC до землі з використанням підтягуючих резисторів.

Резистори на 10k за необхідності можна замінити будь-які інші в діапазоні від 4,7k до 50k, крім GPIO15, оскільки його номінал має бути трохи більше 10k. Номінал конденсатора, що згладжує високочастотні пульсації, може бути дещо іншим.

З'єднання RESET і GPIO16 через використання резистора deep sleep на 470 Ом може стати необхідним під час використання відповідного режиму, оскільки для того, щоб вийти з режиму глибокого сну, модуль здійснює повне перезавантаження, здійснюючи подачу низького рівня на GPIO16. При відсутності даного з'єднаннярежим глибокого сну для вашого модуля триватиме вічно.

На перший погляд може здатися, що GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) і GPIO15 зайняті, тому використовувати їх для своїх цілей не вийде, але насправді це далеко не так. Досить високий рівень на GPIO0 і GPIO2, а також низький на GPIO15 можуть знадобитися тільки для початкового запуску модуля, а надалі вже можна застосовувати їх на власний розсуд. Єдине, що варто відзначити - не забувайте забезпечувати потрібні рівні до того, як здійснювати повне перезавантаження вашого обладнання.

Також можна використовувати TX, RX як альтернативу GPIO1 і GPIO3, але при цьому не варто забувати про те, що після старту модуля кожна прошивка починає «смикати» ТХ, паралельно займаючись відправкою налагоджувальної інформації в UART0 зі швидкістю 74480, але після того, як буде проведено успішне завантаження, їх можна використовувати не тільки як UART0 для того, щоб зробити обмін даних з іншим пристроєм, але і як стандартні GPIO.

Для модулів, у яких є невелика кількість розведених пінів (наприклад, ESP-01), не потрібно підключення нерозведених пінів, тобто на ESP-01 розводяться тільки: GND, CH_PD, VCC, GPIO0, GPIO2 і RESET, і саме їх вам потрібно буде підтягувати. Немає жодної потреби в тому, щоб припаюватися безпосередньо до мікросхеми ESP8266EX, а потім притягувати нерозведені піни, якщо це вам дійсно потрібно.

Такі схеми підключення використовувалися після великої кількості експериментів, проведених кваліфікованими фахівцями та зібрані з безлічі різноманітної інформації. При цьому варто відзначити, що навіть такі схеми не можна вважати ідеальними, тому що можна використовувати цілу низку інших, не менш ефективних варіантів.

Підключення через Arduino

Якщо у вас чомусь не виявилося USB-TTL конвертера на 3,3 вольт, то в такому випадку модуль WiFi ESP8266 можна підключити через Arduino з вбудованим конвертером. Тут вам потрібно буде спочатку звернути свою увагу на три основні елементи:

  • При використанні в роботі з ESP8266 Arduino Reset спочатку підключений до GND, щоб унеможливити запуск мікроконтролера, і в даному вигляді він використовувався як прозорий USB-TTL конвертер.
  • RX і TX підключалися не "на перехрест", а безпосередньо - RX-RX (зелений), ТХ-ТХ (жовтий).
  • Решта підключається точно так, як зазначено вище.

Що потрібно враховувати

У цій схемі також потрібно узгодження рівнів TTL 5 вольт Arduino, а також 3,3 вольта ESP8266, але при цьому непогано може функціонувати і так.

При підключенні до ESP8266 Arduino може оснащуватися стабілізатором живлення, який не витримує струм, який потрібен для ESP8266, внаслідок чого перед тим, як його активувати, потрібно звіритися з даташипом на той, який використовується у вас. Не спробуйте підключати якісь інші енергоспоживаючі елементи разом з ESP8266, оскільки це може призвести до того, що вбудований в Arduino стабілізатор живлення просто вийде з ладу.

Також є інша схема підключення ESP8266 та Arduino, в якій використовується SoftSerial. Так як для бібліотеки SoftSerial швидкість порту, що дорівнює 115200, має занадто високе значення і не може гарантувати стабільну роботу, такий спосіб підключення використовувати не рекомендується, хоча є деякі випадки, в яких все працює цілком стабільно.

Підключення через RaspberryPi

Якщо ви не маєте взагалі ніяких USB-TTL конвертерів, то в такому випадку можна використовувати RaspberryPi. В даному випадку для ESP8266 програмування та підключення здійснюється практично ідентично, але при цьому тут все не так зручно, а додатково потрібно використовувати також стабілізатор живлення на 3,3 вольта.

Для початку RX, TX та GND нашого пристрою підключаємо до ESP8266, а GND та VCC беремо з розрахованого на 3,3 вольта. Тут окрему увагу слід приділити тому, що потрібно провести з'єднання всіх пристроїв GND, тобто стабілізатора RaspberryPi і ESP8266. Якщо вбудований у вашу модель пристрою стабілізатор може витримувати до 300 міліампер додаткового навантаження, то в такому випадку підключення ESP8266 здійснюється цілком нормально, але це все робиться тільки на свій страх і ризик.

Налаштовуємо параметри

Коли ви розібралися, як підключити ESP8266, потрібно переконатися, що драйвера до ваших пристроїв встановлені коректно, внаслідок чого в системі було додано новий послідовний віртуальний порт. Тут потрібно буде використовувати програму – термінал послідовного порту. У принципі, утиліту можна підібрати будь-яку на свій смак, але при цьому ви повинні правильно розуміти, що будь-яка команда, яка вирушатиме вами в послідовний порт, в кінці повинна мати завершальні символи CR+LF.

Досить широким поширенням користуються утиліти CoolTerm і ESPlorer, причому остання дозволяє не вводити ESP8266 самостійно, і при цьому дає простіше працювати з lua скриптами під NodeMCU, тому її можна цілком використовувати як стандартний термінал.

Для нормального підключення доведеться виконати чимало роботи, так як прошивки для ESP8266 в більшості своїй є різноманітними і активація може проводитися на різних швидкостях. Щоб визначитися з найбільш оптимальним варіантом, вам потрібно буде перебрати три основні варіанти: 9600, 57600 та 115200.

Як перебирати?

Для початку підключіться у термінальній програмі до послідовного віртуального порту, виставляючи параметри 9600 8N1, після чого проводьте повне перезавантаження модуля, відключаючи CH_PD (chip enable) від живлення, після чого знову активуйте його, пересмикуючи CH_PD. Також можна провести короткочасне замикання RESET на землю для того, щоб перезавантажити модуль, та спостерігати за даними у терміналі.

В першу чергу світлодіоди пристрою повинні відображатися точно так, як це показано в описі процедури перевірки. Також ви повинні спостерігати в терміналі набір різних символів, який закінчуватиметься рядком ready, а якщо його немає, проводиться перепідключення до терміналу на іншій швидкості з наступним перезавантаженням модуля.

Коли ви побачите на одному з варіантів швидкості цей рядокможна вважати модуль підготовленим до роботи.

Як оновлювати прошивку?

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

Для початку завантажуйте нову версію прошивки з офіційного сайту, а також завантажуйте спеціальну утилітудля прошивки. Тут окрему увагу слід приділити тому, яка операційна системавстановлена ​​на тій машині, з якою працює ESP8266. Підключення пристрою найкраще проводити до систем старше Windows 7.

Для стандартних ОС Windows цілком оптимально використовувати програму під назвою XTCOM UTIL, яка особливо зручною в роботі, якщо прошивка складається тільки з одного файлу. Найкращим мультиплатформним варіантом варто назвати утиліту esptool, яка, щоправда, вимагає python, а також необхідність вказівки параметрів через командний рядок. Крім цього, в ESP8266 підключення основних функцій дозволяє зручно зробити програма Flash Download Tool, яка має досить велику кількість налаштувань, а також зручну технологіювстановлення прошивок із кількох файлів.

Далі відключайте свою термінальну програму від послідовного порту, а також повністю відключайте CH_PD від живлення, приєднуйте модуля GPIO0 до GND, і після цього CH_PD можна буде повернути назад. Зрештою просто запускайте програму для модульної прошивки та завантажуйте її в ESP8266 реле.

У переважній більшості випадків прошивка завантажується в модуль зі швидкістю в районі 115200, але при цьому спеціальний режим передбачає автоматичний розподіл швидкості, внаслідок чого прошивка може проводитися на швидкості більше 9600, оновлюючи доступні функції ESP8266. Arduino використовувався для підключення або USB-TTL - тут не відіграє особливої ​​ролі, і тут гранична швидкість вже залежить від довжини проводів, конвертера, що використовується, і цілого ряду інших факторів.