Мікроконтролер esp8266: підключення та налаштування

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

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

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

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

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

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

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

esp8266 прошивка

Для того щоб перевірити працездатність щойно купленого пристрою, вам потрібно буде використовувати спеціальний джерело стабілізованої напруги, розрахований на 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, а якщо все підключено вірно, то, швидше за все, ви все-таки намагаєтеся використовувати зламаний модуль або ж на ньому просто-напросто встановлена прошивка з нестандартними настройками.

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

arduino ide

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

  • сам модуль;
  • беспаечное макетну плату;
  • повноцінний набір проводів мама-тато, призначені для макетної плати, або ж спеціальний кабель 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 вольт вкрай бажано зробити також додатковий дільник на резисторах, щоб забезпечити узгодження трехвольтових і пятівольтового рівнів логіки, або ж просто використовувати модуль перетворення рівнів.

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

модуль esp8266

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

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

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

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

esp8266 arduino

Якщо ви можете приділити більше одного вечора того, щоб нормально підключити модуль 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 (зелений), ТХ-ТХ (жовтий).
  • Все інше підключається точно так же, як зазначено вище.

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

esp8266 управління

У даній схемі також потрібне узгодження рівнів 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 datasheet

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

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

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

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

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

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

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

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

esp8266 опис

Після того як ви встановите 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 - тут не грає особливої ролі, і тут гранична швидкість вже залежить від довжини проводів, використовуваного конвертера і цілого ряду інших факторів.


Увага, тільки СЬОГОДНІ!


Поділися, будь ласка статтю
всього голосів: 164
Увага, тільки СЬОГОДНІ!