Какие контакты доступны на модуле ESP8266 и ESP-12E. Как правильно подключать периферийные устройства к ESP8266. Какие особенности нужно учитывать при работе с GPIO ESP8266. На что обратить внимание при выборе контактов для проекта на ESP8266.
Обзор модулей ESP8266 и ESP-12E
ESP8266 — это популярный Wi-Fi модуль, который широко используется в проектах интернета вещей и умного дома. Наиболее распространенной модификацией является ESP-12E, которая имеет больше доступных контактов по сравнению с базовой версией ESP-01.
Ключевые характеристики ESP-12E:
- 32-битный процессор Tensilica L106 с тактовой частотой до 160 МГц
- Встроенный Wi-Fi модуль с поддержкой 802.11 b/g/n
- 4 МБ флеш-памяти
- 22 контакта для подключения периферии
- Размеры модуля всего 16×24 мм
Благодаря компактным размерам и богатой функциональности, ESP-12E стал основой для создания плат разработки, таких как популярная NodeMCU.
Распиновка ESP-12E
Модуль ESP-12E имеет 22 контакта, расположенных по периметру платы. Их назначение следующее:
- RST — сброс модуля
- ADC — аналоговый вход (10 бит)
- EN — включение чипа (активный высокий уровень)
- GPIO16 — вывод общего назначения, также используется для пробуждения из режима глубокого сна
- GPIO14, GPIO12, GPIO13 — выводы общего назначения, также могут использоваться как SPI
- VCC — питание 3.3В
- GND — земля
- GPIO15, GPIO2, GPIO0, GPIO4, GPIO5 — выводы общего назначения
- RX, TX — UART
Важно отметить, что не все GPIO доступны для свободного использования, так как некоторые задействованы для работы WiFi и флеш-памяти.
Особенности распиновки NodeMCU
Плата NodeMCU на базе ESP-12E имеет более удобную для разработчиков распиновку. Она содержит 30 контактов, из которых 17 являются GPIO. Основные отличия от распиновки ESP-12E:
- Добавлены контакты питания 5В (Vin) и 3.3В
- GPIO пронумерованы как D0-D8 для удобства
- Выведены дополнительные земляные контакты
- Добавлен micro-USB для программирования и питания
Такая конфигурация позволяет легко подключать внешние датчики и устройства без использования дополнительных переходников.
Доступные периферийные интерфейсы ESP8266
ESP8266 поддерживает следующие интерфейсы для подключения периферийных устройств:
- UART — 2 порта для последовательной связи
- SPI — 2 интерфейса для высокоскоростного обмена данными
- I2C — 1 программный интерфейс для подключения датчиков
- I2S — для передачи аудио
- PWM — на большинстве GPIO для управления моторами, светодиодами и т.д.
Благодаря мультиплексированию выводов, один и тот же контакт может выполнять разные функции. Это позволяет гибко настраивать ESP8266 под конкретную задачу.
Рекомендации по использованию GPIO
При работе с GPIO ESP8266 следует учитывать несколько важных моментов:
- GPIO6-GPIO11 используются для работы с флеш-памятью и недоступны для пользователя
- GPIO0, GPIO2 и GPIO15 определяют режим загрузки и должны иметь определенное состояние при старте
- GPIO16 не поддерживает прерывания
- ADC доступен только на одном выводе
Наиболее безопасными для использования являются GPIO4, GPIO5, GPIO12-GPIO14. Их рекомендуется задействовать в первую очередь при разработке проектов.
Подключение питания к ESP8266
Правильное подключение питания критично для стабильной работы ESP8266. Основные моменты:
- Рабочее напряжение — 3.3В
- Максимальный ток — до 250 мА
- Допускается питание 5В через встроенный регулятор на NodeMCU
- Рекомендуется использовать стабилизированный источник питания
При питании от батарей нужно учитывать, что в режиме передачи WiFi потребление может достигать 170 мА. Поэтому емкость элементов питания должна быть достаточной.
Программирование ESP8266
Для программирования ESP8266 доступно несколько вариантов:
- Arduino IDE — самый простой способ для начинающих
- Espressif SDK — официальный инструментарий для разработки
- MicroPython — для программирования на Python
- NodeMCU — прошивка для работы с Lua
Выбор среды разработки зависит от предпочтений программиста и требований проекта. Arduino IDE подходит для большинства любительских применений благодаря простоте и обилию готовых библиотек.
Типичные схемы подключения периферии
Рассмотрим несколько базовых схем подключения внешних устройств к ESP8266:
Подключение светодиода
Светодиод подключается анодом к GPIO через резистор 220-330 Ом, катод — на землю. Для управления используется функция digitalWrite().
Считывание данных с DHT11
Датчик температуры и влажности DHT11 подключается к питанию 3.3В, земле и одному из GPIO. Для работы с ним удобно использовать готовую библиотеку.
Управление реле
Реле подключается к GPIO через транзистор, так как выходной ток ESP8266 недостаточен для прямого управления. Необходимо также использовать защитный диод.
При разработке более сложных схем нужно внимательно следить за токами потребления и использовать подходящие GPIO с учетом их особенностей.
Заключение
ESP8266 и его модификация ESP-12E являются мощной и удобной платформой для создания устройств интернета вещей. Правильное понимание распиновки и особенностей работы с GPIO позволяет максимально эффективно использовать возможности этого популярного WiFi-модуля. При разработке проектов важно учитывать ограничения на использование некоторых выводов и соблюдать рекомендации по питанию устройства.
ESP 12 описание распиновка
ESP 12 описание распиновкаОписание
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).
Характеристики (кратко):
- Поддержка беспроводного стандарта 802.11 b/g/n;
- Поддержка 2 режима работы Wi-Fi Direct (P2P), soft-AP;
- Интегрирован стек протокол TCP/IP;
- Интегрированы TR переключатель, балун, LNA, усилитель и согласователь сети;
- Интегрированы PLLs, регуляторы, DCXO и блок управления питанием;
- Выходная мощность в режиме 802. 11b: +19.5dBm;
- Поддержка подключения нескольких TCP Client;
- встроенный 32-битный MCU с низким энергопотреблением;
- встроенный 10-битный АЦП;
- встроенный стек протоколов TCP/IP;
- встроенный РЧ коммутатор, РЧ трансформатор сопротивлений, LNA, усилитель мощности;
- встроенные блоки ФАПЧ и управления мощностью;
- Wi-Fi 2,4 ГГц, поддержка WPA/WPA2;
- SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO;
- STBC, 1×1 MIMO, 2×1 MIMO;
- Прием/передача пакетов
- A-MPDU и A-MSDU агрегация и 0.4мс защитный интервал;
- Энергопотребление в режиме ожидания потребление в режиме глубокого сна ток утечки в выключенном режиме
- диапазон рабочик температур: -40 – 125 ºC.
- Пользовательская настройка Набор AT команд, Cloud Server, приложение Android/iOS
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
Понемногу обо всем..: ESP-8266 коротко о главном
На этой странице я планирую в простых , бестолковых словах объяснить то, что сначала кажется сложным .
Началось все с того , что прикупил я себе как то на новый год набор ардуиншика — Матрешка, типа поиграть в умного программиста и пописать программки для светодиодов, войти в мир микропроцессоров. Поиграл, надоело (( В процессе поиска информации и изучения темы микропроцессоров, о которых я до этого практически ничего не знал, я наткнулся на интересный портал — http://homes-smart.ru/index.php/about-us. Вот тут меня зацепило!
Один умный человек решил создать конструктор для программирования микропроцессора, а конструктор это кубики, которые и дурак сложить сможет. Не надо отлаживать программный код и изобретать велосипед. Да и микропроцессор он выбрал очень интересный — ESP-8266 со встроенным WiFi. Маленький и удаленький, его можно и в лампочку приспособить и дом охранять научить. В общем понеслось…..
Рассказывать подробности не буду, все можно прочесть по ссылкам, опишу свои ощущения и мнения. Ссылки на Али привожу средне потолочные, ни разу не реклама, а просто образец для поиска.
Начнем с того что на сегодня есть много модификаций этого модуля :
1. Если в перспективе есть планы встроить модуль в небольшое устройстао то нужен модуль
ESP-12E
(https://ru.aliexpress.com/item/Free-Shipping-1pcs-lot-ESP8266-serial-WIFI-model-ESP-12-ESP-12E-ESP12E-ESP12-Authenticity-Guaranteed/32716987849.html?)
Он самый компактный, но к нему нужен программатор.
Специальный драйвер для PC, который вам может неоднократно понадобиться при желании перепрограммировать модули уже встроенные в разные готовые продукты.
Программатор FTDI-USB
(https://ru. aliexpress.com/item/FT232RL-FTDI-USB-to-TTL-Serial-Adapter-Module-for-Arduino-Mini-Port-3-3V-5V-Free/32422482038.html?)
Классическая схема подключения модуля ESP8266
Сразу скажу, что ни разу не паял эту схему полностью, а упрощенно работает (у меня по крайней мере). По мне так надо всего два сопротивления (к CH-PD и GPIO-15). Я это понял по китайской платке которую можно прикупить и меньше паять (два сопротивления уже на месте) В миру зовется «белая плата для esp8266»
(https://ru.aliexpress.com/item/Serial-WIFI-ESP8266-module-ESP-07-ESP-12-ESP-12E-adapter-plate-excluding-module/32642652906.html?)
2. Второй вариант рекомендую всем!!! Модуль полностью распаян, подключается по usb к любой телефонной зарядке, программируется прямым подключением к компьютеру.
В народе зовется бутерброд или Witty.
(https://ru.aliexpress.com/item/free-shipping-ESP8266-serial-WIFI-Witty-cloud-Development-Board-ESP-12F-module-MINI-nodemcu/32738532939. html?)
Что замечательно — на ней есть трехцветный светодиод и фоторезистор, которые вам наглядно могут показать многие возможности ESP. И не надо ничего паять и мудрить ))) Эту плату можно и в дальнейшем применять в любых конструкциях, главное учесть эти элементы или выпаять / вырезать их.
3. Wemis D1 mini. Вариант это среднее между двумя первыми.
(https://ru.aliexpress.com/item/NodeMCU-Lua-ESP8266-ESP-12-WeMos-D1-Mini-WIFI-4M-Bytes-Development-Board-Module/32703511086.html?)
Модуль также готов к использованию и не имеет ничего лишнего. Программируй и подключай.
К нему также можно докупить несколько готовых модулей с датчиками. Собрал и работает.
Наигравшись с паяльником, остановился на варианте готовых модулей …
4. Готовый и недорогой модуль.
https://ru.aliexpress.com/item/Wavgat-nodemcu-V3-Lua-WI-FI-esp8266/32841025867.html?
Ну вот как то с матчастью разобрались, приблизительно. Теперь о главном — а нахрена оно вообще нужно ???
По простому это микрокомпьютер у которого есть несколько специальных выходов для подключения различных устройств — датчиков, исполнительных элементов, индикаторов, передающих и принимающих устройств. Благодаря миниатюрности и невысокой цене можно использовать только один выход для одного устройства, а можно почти все задействовать. Благодаря WiFi все взаимодействия с модулем производятся без проводов.
— самое распространенное применение это погодная станция, «любая ESP со временем превращается в погодную станцию» как говориться. Подключив датчики температуры, влажности, освещенности, СО и пр. можно получать оперативную информацию в любое время и в любом месте.
— можно управлять освещением в доме или где угодно с компьютера или смартфона из дома или из за границы
— можно дистанционно открывать ворота, контролировать вход и выход людей через калитку, охранять дом
— можно управлять насосом в колодце, отоплением в доме, поливом огорода.
— можно все вышеперечисленные мероприятия записывать и хранить данные для статистики или из любопытства на своем сервере или в интернете или где угодно
Много чего можно, но главное не забывать о безопасности и резервных каналах управления. Как всякая электроника, тем более китайская, да еще завязанная на беспроводные технологии и даже интернет — ESP имеет право глючить в самый неподходящий момент, поэтому я стараюсь не навешивать на один модуль слишком много задач и использовать два модуля для подстраховки (перезапуска) друг друга, и даже подключил к ним управление через GSM модуль, до кучи.
Да и главное — управлять то этим всем должна программа, вот ссылка на первоисточник — https://wifi-iot.com/?m=main, а вот мои описания тута и тута.
Вот вроде и все для начального понимания, на других страницах я обрисую свои конкретные изделия и мысли по поводу развития и модернизации проектов.
коллекция нужных ссылок :
https://geektimes.ru/post/276280/
https://geektimes. ru/post/271078/
https://wifi-iot.com/?m=main
http://homes-smart.ru/index.php/about-us
https://esp8266.ru/forum/
ESP8266 — подключение и обновление прошивки
https://mysku.ru/blog/aliexpress/37928.html
Краткое руководство по распиновке NodeMCU и ESP-12E, описанию контактов и периферийным устройствам — Matha Electronics
Модуль ESP-12E, который служит базовой платой платы NodeMCU, а также распиновка обеих плат, будут рассмотрены в этом уроке. Если вы создаете собственное оборудование, распиновка ESP12-E будет полезна, а знание распиновки NodeMCU будет иметь решающее значение, если вы используете плату ESP8266 NodeMCU.
Введение
Идея Интернета вещей (IoT) существует уже давно, но по-настоящему она стала популярной только тогда, когда сообщество DIY начало инвестировать в нее. Для поддержки недорогих и простых систем IoT вам необходимо как соответствующее оборудование, так и превосходное программное обеспечение.
Компания Espressif Systems оказала большое влияние на эту ситуацию. SoC ESP8266, впервые представленный в 2014 году, стал стандартным чипом для проектов DIY, связанных с IoT.
Многие независимые производители начали использовать SoC ESP8266 для создания небольших модулей и плат, которые легко интегрировать в нашу текущую установку для любителей, в которой в основном используется Arduino.
ESP-01, созданный Ai-Thinker, является одним из широко используемых модулей на основе ESP8266. С SoC ESP8266, флэш-памятью и несколькими разъемами для подключения к другим гаджетам, таким как Arduino, это простая плата.
Контакты не подходят для макетирования, есть только два контакта GPIO, для программирования требуется модуль преобразователя USB в UART и т. д. Это замечательная плата для начала работы с ESP8266.
В результате производители начали использовать несколько более сложную модель ESP-12E, также разработанную Ai-Thinker, а не ESP-01, которая является базовой моделью модуля ESP8266.
Преимущество платы ESP-12E заключается в том, что она имеет больше контактов GPIO и зубчатые края на печатной плате, что упрощает подключение этой платы к вашей собственной конструкции.
Модуль ESP-12E
ESP-12E от Ai-Thinker — это модуль Wi-Fi, основанный на SoC ESP8266EX. ESP8266EX SoC — это чип Wi-Fi с поддержкой полного стека TCP/IP, основанный на 32-разрядном процессоре Tensilica L106 Diamond и встроенном MAC-адресе Wi-Fi.
Модуль ESP-12E с краевыми зубцами
ESP-12E можно использовать как автономное устройство с подключением к Wi-Fi и выводами GPIO или как адаптер Wi-Fi для других устройств. микроконтроллеры, такие как Arduino, например, использующие интерфейс UART, потому что у него есть микроконтроллер (в форме L106 Diamond от Tensilica).
Модуль ESP-12E состоит из SoC ESP8266, 4 МБ флэш-памяти SPI, кристалла 26 МГц, антенны на печатной плате и нескольких компонентов, связанных с радиочастотами. ESP-12E имеет намного больше контактов, чем модуль ESP-01, как вы можете видеть на изображении, и каждый контакт на печатной плате имеет зубчатый край.
Распиновка ESP-12E
Это изображение распиновки ESP-12E будет очень полезно для вас, если вы заинтересованы в создании собственной коммутационной платы для модуля ESP-12E. Как видите, модуль ESP-12E имеет 22 контакта.
Все выводы и их альтернативные функции описаны на схеме выводов модуля ESP-12E выше. Контакты модуля ESP-12E описаны в следующей таблице.
Pin | Function |
RST | Reset the Module |
ADC0 | ADC Pin with 10-bit resolution |
EN | Chip Enable Pin (active HIGH) |
GPIO16 | GPIO16 pin (wake pin from deep sleep mode) |
GPIO14 | GPIO14 pin (HSPI_CLK) |
GPIO12 | GPIO12 pin (HSPI_MISO) |
GPIO13 | GPIO13 pin (HSPI_MOSI) |
VCC | 3. 3V Power Supply (max 3.6V) |
SDCMD | SDIO CMD (GPIO11) |
SDD0 | SDIO Data 0 (GPIO7) |
SDD2 | SDIO Data 2 (GPIO9) |
SDD3 | SDIO Data 3 (GPIO10) |
SDD1 | SDIO Data 1 (GPIO8) |
SCCLK | SDIO CLK (GPIO6) |
GND | Ground Pin |
GPIO15 | GPIO15 pin (HSPI_CS) |
GPIO2 | GPIO2 pin (TXD1) |
Flash | Flash Pin (GPIO0) |
GPIO4 | GPIO4 pin (SDA – software I2C) |
GPIO5 | GPIO5 pin (SCL – software I2C) |
RXD0 | UART0 RXD pin (GPIO3) |
TXD0 | UART0 TXD (GPIO1) |
ESP8266 NodeMCU Breakout Board
Команда NodeMCU создала коммутационную плату для своего проекта прошивки NodeMCU, используя модуль ESP-12E в качестве базовой платы, и выпустила проект с открытым исходным кодом. Встроенные периферийные устройства платы ESP-12E NodeMCU уже были рассмотрены в уроке «Начало работы с NodeMCU».
Плата NodeMCU (ESP-12E)
Распиновка NodeMCU
Распиновка платы NodeMCU показана на рисунке ниже. Если он основан на оригинальном дизайне NodeMCU Devkit, типичная плата NodeMCU включает 30 контактов. 8 контактов используются для питания, а 2 остаются. Остальные 20 контактов подключены к контактам модуля ESP-12E.
В следующей таблице приведено краткое описание контактов.
Pin | Description | Alternate Functions | Default | |
ADC0 | Analog Input | ADC0 | ||
Reserved | ||||
Reserved | ||||
SDD3 | Данные SDIO 3 | GPIO10 | SDD3 | |
SDD2 | Данные SDIO 2 | GPIO9 | SDD2 | |
SDD1 | SDIO Data 1 | GPIO8 | SDD1 | |
SDDCMD | SDIO CMD | GPIO11 | SDDCMD | |
SDD0 | SDIO Data 0 | GPIO7 | SDD0 | |
SDCLK | SDIO CLK | GPIO6 | SDCLK | |
GND | Ground | |||
3. 3V | 3.3V Output | |||
EN | Chip Enable (Active HIGH) | |||
RST | Reset (Active LOW) | |||
GND | Ground | |||
VIN | 5V Input to 3.3V Регулятор | |||
3,3V | 3,3 В.0049 GPIO1 | TXD0 | ||
RXD0 | USRT0 RXD | GPIO3 | RXD0 | |
GPIO15 | GPIO15 | HSPI_CS / RTS0 | GPIO15 | |
GPIO13 | GPIO13 | HSPI_MOSI / CTS0 | GPIO13 | |
GPIO12 | GPIO12 | HSPI_MISO | GPIO12 | |
GPIO14 | GPIO14 | HSPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI_SPI0050 | GPIO14 | |
GND | Ground | |||
3. 3V | 3.3V Output | |||
GPIO2 | GPIO2 | UART1 TXD | GPIO2 | |
Flash | Flash | GPIO0 | Flash | |
GPIO4 | GPIO4 | Программное обеспечение SDA (I2C) | GPIO4 | |
GPIO5 | GPIO5 | |||
GPIO5 | ||||
GPIO16 | GPIO16 | Wake (Deep Sleep) | GPIO16 |
Плата NodeMCU может питаться двумя разными способами. Порт micro-USB используется для одного и контакт VIN для другого. Имейте в виду, что с SoC ESP8266EX совместимо только 3,3 В. Таким образом, плата NodeMCU оснащена микросхемой регулятора напряжения 3,3 В (AMS1117 — 3.3).
Вы можете подать регулируемое напряжение 5 В на контакт VIN, если он у вас есть. Есть три контакта 3,3 В, которые подключены к выходу 3,3 В регулятора.
Какие периферийные устройства доступны на NodeMCU?
Это конкретно относится к SoC ESP8266EX. Давайте рассмотрим все различные периферийные устройства NodeMCU, помня об этом.
- GPIO
На ESP8266EX имеется 17 контактов GPIO. Однако не все из них доступны пользователю, так как некоторые из них (например, UART, SDIO, SPI и т. д.) используются для других функций в NodeMCU (модуль ESP-12E).
Изучив все остальные периферийные устройства, мы рассмотрим доступные контакты GPIO NodeMCU.
- SPI
На SoC ESP8266EX есть два интерфейса SPI (SPI и HSPI). Два из них позволяют выполнять операции как Master, так и Slave. Тактовая частота ведомого режима ограничена 20 МГц, но тактовая частота ведущего режима может быть отрегулирована до 80 МГц.
- SCLK — GPIO6 (недоступно)
- MISO — GPIO7 (недоступно)
- MOSI – GPIO8 (Not Available)
- CS – GPIO11 (Not Available)
- HSPI_CLK – GPIO14
- HSPI_MISO – GPIO12
- HSPI_MOSI — GPIO13
- HSPI_CS — GPIO15
Несколько контактов SDIO мультиплексированы с контактами GPIO для SPI. Флэш-память SPI 4 МБ также включена в модуль ESP-12E и подключается через контакты SPI. Таким образом, вы не можете получить доступ к контактам SPI. Для связи SPI могут использоваться только выводы HSPI.
- I2C
ESP8266 не имеет аппаратного I2C, но поддерживает его программно. Поскольку они не выполняют никаких других операций, кроме SDA и SCL, в качестве этих функций можно использовать GPIO4 и GPIO5.
- UART
Два аппаратных UART на ESP8266EX (UART0 и UART1) поддерживают скорость передачи до 115200 бод. UART0 может использоваться для связи, а также обеспечивает управление потоком данных. UART1 можно использовать для регистрации данных, так как он имеет только вывод TX (вывод RX используется SDD1).
- UART0 TX – GPIO3
- UART0 RX – GPIO1
- UART0 RTS – GPIO15
- UART0 CTS – GPIO13
- UART1 TX – GPIO2
- UART1 RX – GPIO8 (недоступно)
Дополнительные функции
За исключением GPIO16, все контакты GPIO допускают прерывания.
Плата NodeMCU имеет два внутренних светодиода. Один светодиод модуля ESP-12E подключен к GPIO2, а другой светодиод платы NodeMCU подключен к GPIO16.
Итак, какие контакты GPIO доступны на NodeMCU?
Общее количество контактов GPIO, доступных для пользователей, можно рассчитать, используя информацию, которая была предоставлена до этого момента. Во-первых, SPI Flash использует GPIO с 6 по 11. В результате пользователь не может получить к ним доступ.
Кроме того, поскольку GPIO1 и GPIO3 используются в качестве контактов UART TX и RX, они также исключаются. Другими словами, 8 из 17 контактов GPIO уже используются. Теперь у нас осталось 9 булавок. На плате NodeMCU эти контакты помечены как D0-D8.
Контакты GPIO, доступные на NodeMCU, перечислены в таблице ниже.
GPIO Pin | NodeMCU Pin | Information |
0 | D3 | Pulled HIGH and connected to Flash Button |
1 | TX | Do not use while TXing |
2 | D4 | |
3 | RX | Не использовать во время приема |
4 | D2 | I2C SDA |
5 | D1 | I2C SCL |
6 – 11 | – | Connected to SPI Flash |
12 | D6 | |
13 | D7 | |
14 | D5 | |
15 | D8 | Pulled LOW |
16 | D0 | Used to wake from deep sleep. Без прерывания, I2C, ШИМ |
Контакты выбора режима загрузки
Эти контакты используются для выбора режима загрузки.
GPIO 0 | GPIO 2 | GPIO 15 | Boot Mode |
LOW | HIGH | LOW | UART Bootloader |
HIGH | HIGH | LOW | Boot from SPI Вспышка |
x | x | ВЫСОКИЙ | Загрузка с SDIO |
Заключение
Надеюсь, вы все поняли основы распиновки NodeMCU и распиновки ESP-12E. Мы MATHA ELECTRONICS скоро вернемся с более информативными блогами.
Справочник по распиновке ESP8266 — Last Minute Engineers
Одна из приятных особенностей ESP8266 заключается в том, что он имеет достаточное количество контактов GPIO для работы. Вам не придется жонглировать или мультиплексировать контакты ввода-вывода. Тем не менее, есть несколько вещей, о которых следует помнить, поэтому, пожалуйста, внимательно прочитайте распиновку.
Примечание:
Обратите внимание, что следующая распиновка относится к популярной 30-контактной отладочной плате ESP8266 NodeMCU .
Не каждая макетная плата ESP8266 предоставляет доступ ко всем контактам, но каждый контакт работает одинаково независимо от того, какую макетную плату вы используете.
Периферийные устройства и ввод-вывод ESP8266
ESP8266 NodeMCU имеет в общей сложности 17 контактов GPIO, которые выведены на контактные разъемы с обеих сторон макетной платы. На эти контакты можно назначать различные периферийные функции, в том числе:
1 Канал ADC | 1 канал 10-битного точности SAR ADC |
2 Интерфейсы UART | 2 Интерфейсы UART с опорой для управления потоком |
4 PWM. для управления такими параметрами, как скорость двигателя или яркость светодиода | |
2 интерфейса SPI и 1 интерфейс I2C | Два интерфейса SPI и один интерфейс I2C для подключения различных датчиков и периферийных устройств |
Интерфейс I2S | Один интерфейс I2S для добавления звука в ваш проект |
Благодаря функции мультиплексирования контактов ESP8266 , которая позволяет нескольким периферийным устройствам совместно использовать один контакт GPIO. Это означает, что один контакт GPIO может выполнять такие функции, как I2C, I2S, UART, PWM и т. д.
Подробную информацию о ESP8266 см. в техническом описании.
Техническое описание ESP8266
Распиновка ESP8266
Всего у ESP8266 NodeMCU 30 контактов. Для удобства контакты со схожим функционалом сгруппированы вместе. Распиновка следующая:
Давайте подробнее рассмотрим выводы ESP8266 и их функции один за другим.
Контакты GPIO ESP8266
ESP8266 NodeMCU имеет 17 контактов GPIO, которым можно назначать различные функции путем программирования соответствующих регистров. Каждый GPIO может быть сконфигурирован с внутренним подтягиванием или понижением или установлен на высокий импеданс.
Какие GPIO ESP8266 безопасны в использовании?
Хотя у ESP8266 много выводов с различными функциями, некоторые из них могут не подойти для ваших проектов. В приведенной ниже таблице показано, какие контакты безопасны в использовании, а какие следует использовать с осторожностью. 10) дискретных аналоговых уровней. Другими словами, он будет преобразовывать входные напряжения в диапазоне от 0 до 3,3 В (рабочее напряжение) в целочисленные значения в диапазоне от 0 до 1024. В результате получается разрешение 3,3 вольта/1024 единицы или 0,0032 вольта (3,2 мВ) на единицу.
Следующие два измерения могут быть реализованы с использованием АЦП. Однако их нельзя реализовать одновременно.
- Измерьте напряжение питания VDD3P3 (контакты 3 и 4).
- Измерьте входное напряжение A0.
Выводы SPI ESP8266
ESP8266 имеет два интерфейса SPI (SPI и HSPI) в режимах ведомого и ведущего. Эти SPI также поддерживают функции SPI общего назначения, перечисленные ниже:
- 4 временные режимы передачи формата SPI
- До 80 МГц и разделенные тактовые частоты 80 МГц
- До 64-байт FIFO
Можно использовать SPI на любых контактах путем «битового удара».
Выводы ESP8266 I2C
У ESP8266 нет аппаратных выводов I2C, но это можно сделать с помощью «битового удара». Он работает довольно хорошо, и ESP8266 достаточно быстр, чтобы соответствовать скорости «уровня Arduino».
По умолчанию GPIO4 (SDA) и GPIO5 (SCL) используются в качестве выводов I2C, чтобы облегчить людям работу с существующим кодом, библиотеками и эскизами Arduino.
Однако вы можете использовать любые два других контакта GPIO в качестве контактов I2C, вызвав wire.begin(SDA, SCL)
в Arduino IDE.
Выводы ESP8266 UART
ESP8266 имеет два интерфейса UART, UART0 и UART2, которые поддерживают асинхронную связь (RS232 и RS485) со скоростью до 4,5 Мбит/с.
- UART0 (контакты TXD0, RXD0, RST0 и CTS0) используется для связи.
- UART1 (контакт TXD1) имеет только сигнал передачи данных и обычно используется для печати журналов.
RXD0 и TXD0 — это контакты последовательного управления и загрузки. В основном они используются для связи с модулем ESP.
Поэтому при их использовании следует соблюдать осторожность, поскольку они подключены через преобразователь USB-последовательный порт и, следовательно, будут получать трафик USB.
Выводы ШИМ ESP8266
Все выводы GPIO ESP8266, от GPIO0 до GPIO15, можно запрограммировать для генерации выходов с широтно-импульсной модуляцией (ШИМ).
На ESP8266 сигнал ШИМ имеет 10-битное разрешение, а диапазон частот ШИМ регулируется в пределах от 1000 мкс до 10000 мкс, т. е. от 100 Гц до 1 кГц.
ESP8266 Контакты SDIO
ESP8266 имеет один подчиненный SDIO (Secure Digital Input/Output Interface) для подключения SD-карт. Поддерживаются SDIO v1.1 (4-битная, 25 МГц) и SDIO v2.0 (4-битная, 50 МГц).
Контакты питания ESP8266
Контакт VIN можно использовать для прямого питания ESP8266 и его периферийных устройств, если у вас есть регулируемый источник питания 5 В.
Контакт 3V3 — это выход встроенного регулятора напряжения; вы можете получить до 600 мА от него.
GND — контакт заземления.
Выводы прерывания ESP8266
Все GPIO могут быть настроены как прерывания, кроме GPIO16.
Выводы управления ESP8266
Вывод EN (также известный как CH_PD или Chip Power Down) используется для включения ESP8266.