Забегая наперёд, скажу, что будет вторая статья, уже более практическая, по теме прошивки и программирования модуля ESP8266 в среде разработки Arduino IDE. Но, обо всём по порядку.
Этот видеоролик, полностью дублирует материал, представленный в статье.
А вот распиновка ESP01, ESP03, ESP12:
* Данную картинку можно посмотреть в хорошем качестве на офф. сайте pighixxx.com.
Лично мне, больше всего нравится версия ESP07. Как минимум за то, что тут есть металлический экран (он защищает микросхемы от внешних наводок, тем самым обеспечивает более стабильную работу), своя керамическая антенна, разъём для внешней антенны.
Давайте вернёмся к нашим баранам Wi-Fi модулям и Arduino. В этой статье, я буду рассматривать подключение ESP8266(модели ESP01) к Arduino Nano V3.
Но, данная информация будет актуальна для большинства модулей ESP8266 и так же разных Arduino плат, например самой популярной Arduino UNO.
Пару слов по ножкам ESP01:
Vcc и GND(на картинке выше это 8 и 1) — питание, на ножку Vcc можно подавать, судя по документации, от 3 до 3.6 В, а GND — земля (минус питания). Я видел, как один человек подключал этот модуль к двум AA аккумуляторам (напряжение питания в этом случае было примерно 2.7 В) и модуль был работоспособным. Но всё же разработчики указали диапазон напряжений, в котором модуль должен гарантированно работать, если вы используете другой — ваши проблемы.
Внимание! Этот модуль основан на 3.3 В логике, а Arduino в основном — 5 В логика. 5 В запросто могут вывести из строя ESP8266, потому на него нужно отдельно от ардуино подавать питание.
— На моей ардуинке есть ножка, где написано 3.3 В, почему бы не использовать её?
Наверное подумаете вы. Дело в том, что ESP8266 довольно таки прожорливый модуль, и в пиках может потреблять токи до 200 мА, и почти никакая ардуинка по умолчанию не способна выдать такой ток, разве что исключением является Arduino Due, у которой ток по линии 3.3 В может достигать 800 мА, чего с запасом хватит, в других же случаях советую использовать дополнительный стабилизатор на 3.3 В, например AMS1117 3.3 В. Таких валом как в Китае, так и у нас.
Ножка RST 6 — предназначена «железной» для перезагрузки модуля, кратковременно подав на неё низкий логический уровень, модуль перезагрузиться. Хоть и на видео я этим пренебрёг, но всё же вам советую «прижимать» данную ногу резистором на 10 кОм к плюсу питания, дабы добиться лучшей стабильности в работе модуля, а то у меня перезагружался от малейших наводок.
Ножка CP_PD 4(или по-другому EN) — служит, опять же, для «железного» перевода модуля в энергосберегающий режим, в котором он потребляет очень маленький ток. Ну и снова — не будет лишним «прижать» эту ногу резистором на 10 кОм к плюсу
питалова. На видео я тупо закоротил эту ногу на Vcc, потому как под рукой не оказалось такого резистора.Ноги RXD0 7 TXD0 2 — аппаратный UART, который используется для перепрошивки, но ведь никто не запрещает использовать эти порты как GPIO(GPIO3 и GPIO1 соотвественно). GPIO3 на картинке почему-то не размечен, но в даташите он есть:
К стати, к ножке TXD0 2 подключен светодиод «Connect», и горит он при низком логическом уровне на GPIO1, ну или когда модуль отправляет что-то по UART.
GPIO0 5 — может быть не только портом ввода/вывода, но и переводить модуль в режим программирования. Делается это подключив этот порт к низкому логическому уровню(«прижав» к GND) и подав питание на модуль. На видео я делаю это обычной кнопкой. После перепрошивки — не забудьте вытащить перемычку/отжать кнопку(кнопку во время перепрошивки держать не обязательно, модуль при включении переходит в режим программирования, и остаётся в нём до перезагрузки).
GPIO2 3 — порт ввода/вывода.
И ещё один немаловажный момент, каждый GPIO Wi-Fi модуля может безопасно выдавать ток до 6 мА, чтобы его не спалить, обязательно ставьте резисторы последовательно портам ввода/вывода на… Вспоминаем закон Ома R = U/I = 3.3В / 0.006 А = 550 Ом, то есть, на 560 Ом. Или же пренебрегайте этим, и потом удивляйтесь почему оно не работает.
В ESP01 все GPIO поддерживают ШИМ, так что к нашим четырём GPIO, то есть GPIO0-3 можно подключить драйвер двигателя, аля L293 / L298 и рулить двумя двигателями, например катера, или же сделать RGB Wi-Fi приблуду. Да, да, данный модуль имеет на борту много чего, и для простеньких проектов скрипач Arduino не нужен, только для перепрошивки. А если использовать ESP07 то там вообще портов почти как у Uno, что даёт возможность уже уверенно обходиться без ардуино.
Всё вроде как по распиновке пояснил, и вот схема подключения ESP8266 к Arduino Nano:
Видите на Arduino Nano перемычка на ножках RST и GND? Это нужно для того, чтобы ардуинка не мешала прошивке модуля, в случае подключения ESP8266 при помощи Arduino — обязательное условие.
Так же если подключаете к Arduino — RX модуля должен идти к RX ардуинки, TX — TX. Это потому, что микросхема преобразователь уже подключена к ножкам ардуино в перекрестном порядке.
Так же немаловажен резистивный делитель, состоящий из резисторов на 1 кОм и 2 кОм (можно сделать из двух резисторов на 1 кОм последовательно соединив их) по линии RX модуля. Потому как ардуино это 5 В логика а модуль 3.3. Получается примитивный преобразователь уровней. Он обязательно должен быть, потому что ноги RXD TXD модуля не толерантные к 5 В.
Ну и можно вообще обойтись без ардуино, подключив ESP8266 через обычный USB-UART преобразователь. В случае подключения к ардуино, мы, по сути, используем штатный конвертер интерфейсов usb и uart, минуя мозги. Так зачем тратиться лишний раз, если можно обойтись и без ардуино вообще? Только в этом случае, мы подключаем RXD модуля к TXD конвертора, TXD — RXD.
Если вам лениво заморачиваться с подключением, возится с резисторами и стабилизаторами — есть готовые решения NodeMcu:
Тут всё значительно проще, воткнул кабель в компьютер, установил драйвера и программируй, только не забывай задействовать перемычку/кнопку на GPIO0 для перевода модуля в режим прошивки.
Ну вот, с теорией наверное всё, статья получилась пожалуй довольно таки большая, и практическую часть, аля прошивка и программирование модуля, я опубликую немного позже.
Я, у себя на ютуб канале, открыл целый плейлист посвящённый моим видео по теме этого Wi-Fi модуля. В планах построили машинку, или лодку, на Wi-Fi управлении, где вместо пульта ДУ будет обычный смарт. Но пока что я к этому ещё не пришёл, так что это всего лишь планы на будущее.
Продолжение этой статьи.
Даташиты на:
ASM1117 3.3 B;
ESP8266EX(микроконтроллер, что стоит в модуле);
Ещё ссылки:
Русскоязычное сообщество по ESP8266;
Схемы рисовал в программе Fritzing;
Почему многие не любят Arduino;
Все мои публикации на geektimes.
By Сергей ПоделкинЦ ака MrПоделкинЦ.
P.S.
http://www.pighixxx.com/test/2015/12/esp32-pinout/
Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).
Описание
WiFi модуль ESP-12E разработан компанией Ai-thinker и построен на базе процессора с ядром ESP8266, отличительной особенностью которого является наличие радиоинтерфейса WiFi. Ядро ESP8266 интегрировано в Tensilica L106 – 32-битный микроконтроллер с ультранизким энергопотреблением. Поддержка тактовых частот 80 и 160 МГц, поддержка RTOS, встроенные Wi-Fi MAC/BB/RF/PA/LNA, микрополосковая антенна на плате модуля.
Модуль поддерживает стандарт IEEE802.11 b/g/n, полный стек TCP/IP протоколов. Пользователи могут использовать модули либо в качестве дополнения для подключения какого-либо устройства к сети, либо в качестве отдельного сетевого контроллера.
Модуль специально сконструирован для создания мобильных устройств и интернета вещей (IoT).
Характеристики (кратко):
ESP-12 распиновка и назначение выводов так-же в pdf
Назначение выводов платы ESP-12E на базе микроконтроллера ESP8266
Номер вывода | Название вывода | Назначение |
---|---|---|
1 | RST | Сброс модуля |
2 | ADC | Вход аналого-цифрового преобразователя. Входное напряжение в диапазоне 0–1 вольт; результат 0–1024. |
3 | EN | Вывод включения чипа. Активный уровень – высокий. |
4 | IO16 | GPIO16; может использоваться для пробудить чипсет из режима глубокого сна. |
5 | IO14 | GPIO14; HSPI_CLK |
6 | IO12 | GPIO12; HSPI_MISO |
7 | IO13 | GPIO13; HSPI_MOSI; UART0_CTS |
8 | VCC | Вход питания 3,3В. |
9 | CS0 | Выбор чипа |
10 | MISO | Вход ведущего, выход ведомого. |
11 | IO9 | GPIO9 |
12 | IO10 | GPIO10 |
13 | MOSI | Выход ведущего, вход ведомого. |
14 | SCLK | Последовательный тактовый сигнал. |
15 | GND | Корпус. |
16 | IO15 | GPIO15; MTDO; HSPICS; UART0_RTS |
17 | IO2 | GPIO2; UART1_TXD |
18 | IO0 | GPIO0 |
19 | IO4 | GPIO4 |
20 | IO5 | GPIO5 |
21 | RXD | UART0_RXD; GPIO3 |
22 | TXD | UART0_TXD; GPIO1 |
схема подключения и прошивки
резисторы R2 R3 необходимы для старта модуля , разрешение и сброс
резисторы R4 R5 R6 для выбора режима работа прошивка
резистор R1 необходим для выхода модуля из режима сна, если режим сна не используется его можно не ставить и вывод 16 испоользовать для своих целей
для перехода в режим прошивки необходимо зажать SW1 SW2, после чего отпустить SW1 затем SW2. или-же подать питание при нажатой кнопке SW2.
datasheet ESP12
спецификация на ESP8266
РаспиновкаВ этом руководстве мы увидим распиновку обеих плат NodeMCU, а также модуля ESP-12E, который является базовой платой для NodeMCU. Распиновка ESP12-E будет полезна, если вы разрабатываете собственное оборудование, а понимание распиновки NodeMCU очень полезно, если вы работаете с платой ESP8266 NodeMCU.
Outline
Несмотря на то, что концепция Интернета вещей (IoT) существует уже несколько лет, она стала действительно популярной после того, как сообщество DIY начало инвестировать в нее. Чтобы помочь недорогим и простым в реализации системам IoT, вам необходимо как вспомогательное оборудование, так и хорошее программное обеспечение.
Именно здесь компания Espressif Systems произвела фурор. SoC ESP8266, выпущенный еще в 2014 году, был популярным чипом для проектов, связанных с IoT, в сообществе DIY.
Несколько сторонних производителей взяли SoC ESP8266 и начали разработку небольших модулей и плат, которые можно легко интегрировать в нашу существующую установку для любителей, состоящую в основном из Arduino.
Одним из популярных модулей на базе ESP8266 является ESP-01, разработанный Ai-Thinker. Это простая плата с SoC ESP8266, флэш-памятью и несколькими контактами для подключения к другим устройствам, таким как Arduino.
Это отличная плата для начала работы с ESP8266, но есть несколько ограничений, например, контакты не совместимы с макетом, только два контакта GPIO, для программирования требуется модуль преобразователя USB в UART и т. д.
Итак, какие производители начали делать вместо того, чтобы использовать ванильную версию модуля ESP8266, которая является ESP-01, они начали использовать немного продвинутую версию под названием ESP-12E, которая также от Ai-Thinker.
Преимущество ESP-12E в том, что он имеет больше контактов GPIO, а печатная плата имеет зубчатые края, так что вы можете легко припаять эту плату к своей конструкции.
ESP-12E компании Ai-Thinker — это модуль Wi-Fi, основанный на SoC ESP8266EX. ESP8266EX SoC — это чип Wi-Fi, основанный на 32-разрядном процессоре Tensilica L106 Diamond и интегрированном MAC-адресе Wi-Fi с поддержкой полного стека TCP/IP.
Модуль ESP-12E с краевыми зубцамиПоскольку он оснащен микроконтроллером (в виде Tensilica L106 Diamond), ESP-12E можно использовать либо как автономное устройство с подключением к Wi-Fi и контактами GPIO, либо как можно использовать как адаптер Wi-Fi для других микроконтроллеров, таких как Arduino, например, через интерфейс UART.
Модуль ESP-12E состоит из SoC ESP8266, 4 МБ флэш-памяти SPI, кристалла 26 МГц, антенны на печатной плате и некоторых компонентов, связанных с радиочастотой. Как видно из изображения, у ESP-12E гораздо больше контактов, чем у модуля ESP-01, и все контакты на печатной плате имеют зубчатые края.
Если вы заинтересованы в разработке собственной коммутационной платы для модуля ESP-12E, то следующее изображение распиновки ESP-12E будет вам очень полезно. Как видите, на модуле ESP-12E 22 контакта.
Приведенная выше схема выводов модуля ESP-12E описывает все выводы и их альтернативные функции. В следующей таблице описаны контакты модуля ESP-12E.
Штифт | Функция |
РСТ | Сброс модуля |
АЦП0 | Вывод АЦП с 10-битным разрешением |
ЕН | Контакт включения чипа (активный ВЫСОКИЙ) |
GPIO16 | Контакт GPIO16 (выход из режима глубокого сна) |
GPIO14 | Контакт GPIO14 (HSPI_CLK) |
GPIO12 | Контакт GPIO12 (HSPI_MISO) |
GPIO13 | Контакт GPIO13 (HSPI_MOSI) |
ВКЦ | Блок питания 3,3 В (макс. 3,6 В) |
СДКМД | SDIO CMD (GPIO11) |
SDD0 | Данные SDIO 0 (GPIO7) |
SDD2 | Данные SDIO 2 (GPIO9) |
SDD3 | Данные SDIO 3 (GPIO10) |
SDD1 | Данные SDIO 1 (GPIO8) |
SCCLK | SDIO CLK (GPIO6) |
Земля | Контакт заземления |
GPIO15 | Контакт GPIO15 (HSPI_CS) |
GPIO2 | Контакт GPIO2 (TXD1) |
Вспышка | Вывод флэш-памяти (GPIO0) |
GPIO4 | Контакт GPIO4 (SDA — программный I2C) |
GPIO5 | Контакт GPIO5 (SCL — программный I2C) |
RXD0 | Контакт UART0 RXD (GPIO3) |
ТХД0 | UART0 TXD (GPIO1) |
Используя модуль ESP-12E в качестве базовой платы, команда NodeMCU разработала разделительную плату для своего проекта микропрограммы NodeMCU и сделала проект открытым исходным кодом. Я уже обсуждал встроенные периферийные устройства платы ESP-12E NodeMCU в разделе «9».0045 Начало работы с NodeMCU ». Плата
NodeMCU (ESP-12E)В этом уроке я просто дал простое изображение распиновки NodeMCU без каких-либо подробных объяснений. Именно для этого предназначен этот учебник. Сначала мы увидим схему распиновки, а затем поймем функции каждого контакта.
На следующем изображении показана распиновка платы NodeMCU. Типичная плата NodeMCU (если она основана на оригинальном дизайне NodeMCU Devkit) имеет 30 контактов. При этом 8 контактов связаны с питанием, а 2 зарезервированы. Остальные 20 контактов связаны с контактами модуля ESP-12E.
Краткое описание контактов приведено в следующей таблице.
Штифт | Описание | Альтернативные функции | По умолчанию |
АЦП0 | Аналоговый вход | АЦП0 | |
Зарезервировано | |||
Зарезервировано | |||
SDD3 | Данные SDIO 3 | GPIO10 | СДД3 |
SDD2 | Данные SDIO 2 | GPIO9 | СДД2 |
SDD1 | Данные SDIO 1 | GPIO8 | SDD1 |
SDDCMD | SDIO CMD | GPIO11 | SDDCMD |
SDD0 | Данные SDIO 0 | GPIO7 | SDD0 |
СДКЛК | SDIO CLK | GPIO6 | СДКЛК |
Земля | Земля | ||
3,3 В | Выход 3,3 В | ||
ЕН | Включение чипа (активный ВЫСОКИЙ) | ||
РСТ | Сброс (Активный НИЗКИЙ) | ||
Земля | Земля | ||
ВИН | Вход 5 В для регулятора 3,3 В | ||
3,3 В | Выход 3,3 В | ||
ЗЕМЛЯ | Земля | ||
ТХД0 | УАПП0 ТСД | GPIO1 | ТСД0 |
РСД0 | USRT0 RXD | GPIO3 | РСД0 |
GPIO15 | GPIO15 | HSPI_CS/RTS0 | GPIO15 |
GPIO13 | GPIO13 | HSPI_MOSI/CTS0 | GPIO13 |
GPIO12 | GPIO12 | HSPI_MISO | GPIO12 |
GPIO14 | GPIO14 | HSPI_SCK | GPIO14 |
Земля | Земля | ||
3,3 В | Выход 3,3 В | ||
GPIO2 | GPIO2 | UART1 ТСД | GPIO2 |
Вспышка | Вспышка | GPIO0 | Вспышка |
GPIO4 | GPIO4 | Программное обеспечение SDA (I2C) | GPIO4 |
GPIO5 | GPIO5 | SCL программного обеспечения (I2C) | GPIO5 |
GPIO16 | GPIO16 | Пробуждение (глубокий сон) | GPIO16 |
В следующем разделе я расскажу обо всех доступных периферийных устройствах, какие контакты использовать, как питать плату и т. д.
Существует два способа питания платы NodeMCU. Один через порт micro-USB, а другой через контакт VIN. Обратите внимание, что SoC ESP8266EX совместим только с 3,3 В. Итак, на плате NodeMCU установлена микросхема регулятора напряжения 3,3 В (AMS1117 — 3,3).
Если вы отрегулировали питание 5 В, то вы можете применить это к контакту VIN. Есть три контакта 3,3 В, которые подключены к выходу 3,3 В регулятора.
Строго говоря, это связано с SoC ESP8266EX. Имея это в виду, давайте посмотрим на все периферийные устройства, доступные на NodeMCU.
ESP8266EX имеет 17 контактов GPIO. Но не все они доступны для пользователя, так как некоторые из них используются для своих альтернативных функций (например, UART, SDIO, SPI и т. д.) в NodeMCU (модуль ESP-12E).
Мы увидим доступные контакты GPIO на NodeMCU после просмотра всех других периферийных устройств.
На SoC ESP8266EX есть два интерфейса SPI (SPI и HSPI). Оба поддерживают операции Master и Slave. Тактовая частота ведущего режима может быть настроена на 80 МГц, а тактовая частота подчиненного режима — до 20 МГц.
Выводы GPIO для SPI мультиплексированы с некоторыми выводами SDIO. Кроме того, на модуле ESP-12E имеется флэш-память SPI объемом 4 МБ, подключенная через контакты SPI. Таким образом, у вас нет доступа к контактам SPI. Вы можете использовать контакты HSPI только для связи SPI.
Аппаратное обеспечение I2C недоступно в ESP8266, но может быть реализовано с помощью программного обеспечения. GPIO4 и GPIO5 можно использовать как SDA и SCL, так как у них нет других альтернативных функций.
ESP8266EX имеет два аппаратных UART (UART0 и UART1) со скоростью передачи до 115200 бод. При этом UART0 может использоваться для связи, а также имеет управление потоком данных. UART1 имеет только контакт TX (его контакт RX используется SDD1), поэтому его можно использовать для регистрации данных.
Дополнительные функции
Все контакты GPIO, кроме GPIO16, поддерживают прерывания.
На плате NodeMCU есть два встроенных светодиода. Один светодиод находится на модуле ESP-12E и подключен к GPIO2, а другой светодиод находится на плате NodeMCU и подключен к GPIO16.
Если вы рассмотрите всю информацию, представленную до сих пор, вы можете сделать вывод о количестве контактов GPIO, доступных для пользователя. Прежде всего, GPIO6 — GPIO11 используются для SPI Flash. Таким образом, они недоступны для пользователя.
Кроме того, GPIO1 и GPIO3 используются в качестве контактов UART TX и RX, что также исключает их использование. Итак, из 17 контактов GPIO 8 уже используются для других целей. Это оставляет нам 9 булавок. Эти контакты помечены как D0-D8 на плате NodeMCU.
В следующей таблице показаны доступные контакты GPIO на NodeMCU.
Контакт GPIO | Вывод NodeMCU | Информация |
0 | Д3 | Вытянут ВЫСОКИЙ уровень и подключен к кнопке вспышки |
1 | ТХ | Не использовать во время передачи |
2 | Д4 | |
3 | РХ | Не использовать во время RXing |
4 | Д2 | I 2 C ПДД |
5 | Д1 | I 2 C SCL |
6 – 11 | – | Подключен к флэш-памяти SPI |
12 | Д6 | |
13 | Д7 | |
14 | Д5 | |
15 | Д8 | Вытянут НИЗКИЙ |
16 | Д0 | Используется для пробуждения от глубокого сна. Без прерывания, I2C, ШИМ |
Следующие контакты для выбора режима загрузки.
GPIO 0 | GPIO 2 | GPIO 15 | Режим загрузки |
НИЗКИЙ | ВЫСОКИЙ | НИЗКИЙ | Загрузчик UART |
ВЫСОКИЙ | ВЫСОКИЙ | НИЗКИЙ | Загрузка с флэш-памяти SPI |
х | х | ВЫСОКИЙ | Загрузка с SDIO |
Вы узнали о модуле ESP-12E, распиновке ESP-12E, плате NodeMCU, распиновке NodeMCU, важной информации о выводах NodeMCU.
Одна из приятных особенностей ESP8266 заключается в том, что он имеет достаточное количество контактов GPIO для работы. Вам не придется жонглировать или мультиплексировать контакты ввода-вывода. Тем не менее, есть несколько вещей, о которых следует помнить, поэтому, пожалуйста, внимательно прочитайте распиновку.
Примечание:
Обратите внимание, что следующая распиновка относится к популярной 30-контактной отладочной плате ESP8266 NodeMCU .
Не каждая макетная плата ESP8266 предоставляет доступ ко всем контактам, но каждый контакт работает одинаково независимо от того, какую макетную плату вы используете.
ESP8266 NodeMCU имеет в общей сложности 17 контактов GPIO, которые выведены на контактные разъемы с обеих сторон макетной платы. На эти контакты можно назначать различные периферийные функции, в том числе:
1 канал АЦП | 1 канал 10-битного прецизионного последовательного АЦП |
2 интерфейса UART | 2 интерфейса UART с поддержкой для управления потоком |
4 выхода ШИМ | 4 контакта ШИМ для управления такими параметрами, как скорость двигателя или яркость светодиодов |
2 интерфейса SPI и 1 интерфейс I2C | Два интерфейса SPI и один интерфейс I2C для подключения различных датчиков и периферийных устройств |
Интерфейс I2S | Один интерфейс I2S для добавления звука в ваш проект |
Благодаря функции мультиплексирования контактов ESP8266 , которая позволяет нескольким периферийным устройствам совместно использовать один контакт GPIO. Это означает, что один контакт GPIO может выполнять такие функции, как I2C, I2S, UART, PWM и т. д.
Подробную информацию о ESP8266 см. в техническом описании.
Техническое описание ESP8266
Всего у ESP8266 NodeMCU 30 контактов. Для удобства контакты со схожим функционалом сгруппированы вместе. Распиновка следующая:
Давайте подробнее рассмотрим выводы ESP8266 и их функции один за другим.
ESP8266 NodeMCU имеет 17 контактов GPIO, которым можно назначать различные функции путем программирования соответствующих регистров. Каждый GPIO может быть сконфигурирован с внутренним подтягиванием или понижением или настроен на высокий импеданс.
Хотя у ESP8266 много выводов с различными функциями, некоторые из них могут не подойти для ваших проектов. В приведенной ниже таблице показано, какие контакты безопасны в использовании, а какие следует использовать с осторожностью. 10) дискретных аналоговых уровней. Другими словами, он будет преобразовывать входные напряжения в диапазоне от 0 до 3,3 В (рабочее напряжение) в целочисленные значения в диапазоне от 0 до 1024. В результате получается разрешение 3,3 вольта/1024 единицы или 0,0032 вольта (3,2 мВ) на единицу.
Следующие два измерения могут быть реализованы с использованием АЦП. Однако их нельзя реализовать одновременно.
ESP8266 имеет два интерфейса SPI (SPI и HSPI) в режимах ведомого и ведущего. Эти SPI также поддерживают функции SPI общего назначения, перечисленные ниже:
Можно использовать SPI на любых контактах путем «битового удара».
У ESP8266 нет аппаратных выводов I2C, но это можно сделать с помощью «битового удара». Он работает довольно хорошо, и ESP8266 достаточно быстр, чтобы соответствовать скорости «уровня Arduino».
По умолчанию GPIO4 (SDA) и GPIO5 (SCL) используются в качестве выводов I2C, чтобы облегчить людям работу с существующим кодом, библиотеками и эскизами Arduino.
Однако вы можете использовать любые два других контакта GPIO в качестве контактов I2C, вызвав wire.begin(SDA, SCL)
в Arduino IDE.
ESP8266 имеет два интерфейса UART, UART0 и UART2, которые поддерживают асинхронную связь (RS232 и RS485) со скоростью до 4,5 Мбит/с.
RXD0 и TXD0 — это контакты последовательного управления и загрузки. В основном они используются для связи с модулем ESP.
Поэтому при их использовании следует соблюдать осторожность, поскольку они подключены через преобразователь USB-последовательный порт и, следовательно, будут получать трафик USB.
Все выводы GPIO ESP8266, от GPIO0 до GPIO15, можно запрограммировать для генерации выходов с широтно-импульсной модуляцией (ШИМ).
На ESP8266 сигнал ШИМ имеет 10-битное разрешение, а диапазон частот ШИМ регулируется в пределах от 1000 мкс до 10000 мкс, т. е. от 100 Гц до 1 кГц.
ESP8266 имеет один подчиненный SDIO (Secure Digital Input/Output Interface) для подключения SD-карт. Поддерживаются SDIO v1.1 (4-битная, 25 МГц) и SDIO v2.0 (4-битная, 50 МГц).
Вывод VIN можно использовать для прямого питания ESP8266 и его периферийных устройств, если у вас есть регулируемый источник питания 5 В.
Контакт 3V3 — это выход встроенного регулятора напряжения; вы можете получить до 600 мА от него.
GND — контакт заземления.
Все GPIO могут быть настроены как прерывания, кроме GPIO16.
Контакт EN (также известный как CH_PD или Chip Power Down) является контактом включения для ESP8266, по умолчанию установлен в высокий уровень.