ESP8266-12s является одним из самых популярных модулей, так как у него физически выведены на плату все возможные GPIO выводы микроконтроллера. Он построен на базе микросхемы ESP8266EX. Для синхронизации используется кварцевый резонатор на 26 МГц.
На данный момент ESP-12s является одним из самых высокоинтегрированных Wi-Fi-чипов в своём классе. Версия 12s является модификацией модуля ESP8266-12 со значительно увеличенной чувствительностью и радиусом действия.
Основными особенностями ESP8266-12S является встроенная антенна, более экономичная работа в активном режиме и ультранизкое потребление в спящем и ждущем режимах, наличие металлического экрана для защиты чипа от различных наводок, помех и механических повреждений, режим сна с низким энергопотреблением, разъём для подключения внешней антенны, наличие свободных выводов (9 штук), интерфейсы (SPI, I2C, I2S, UART), 10-разрядный АЦП, ШИМ и IR, наличие встроенного TR переключателя, balun, LNA,PLL, регулятора, системы управления питанием, а также усилителя мощности сигнала и соответствия сети.
Все основные элементы находятся под защитным экраном. На плате есть светодиод связи.
Модуль предназначен для подключения к сети Wi-Fi различных устройств. Он может работать как в качестве клиента, так и в качестве сервера. Заводская прошивка ESP8266-12s позволяет работать с микроконтроллерами через интерфейс UART с помощью AT-команд.
ESP-модуль можно использовать в двух вариантах:
- В связке с микроконтроллером (управление модулем происходит МК через UART);
- Как самостоятельный микроконтроллер (управление берёт на себя микросхема ESP8266EX). В этом случае необходимо писать программу под конкретный ESP и прошивать её прямиком в него (например, можно через Arduino IDE).
Приём и передача данных в первом случае выглядит, как обычное взаимодействие с Serial-портом посредством AT-команд. Существует возможность подключать данный модуль к практически любым выводам Arduino, но для этого необходимо установить библиотеку SoftwareSerial. Стандартная скорость работы модуля — 115200 бод.
Во втором случае, необходимо установить в Arduino IDE новую плату — ESP8266. Далее работа с модулем аналогична работе с Arduino. Более подробное описание работы с ESP как с отдельным МК здесь.
Спецификация:
Напряжение питания |
3.0… 3.6 В |
Максимальный потребляемый ток |
220 мА |
Средний потребляемый ток |
80 мА |
Средний потребляемый ток в режиме сна |
< 10 мкА (< 5 мкА в режиме полной остановки) |
Рабочая температура |
-40 … +125 °C |
Количество выводов |
16 (9 из них предназначены для свободного применения) |
Объём флэш-памяти |
4 Мб |
Объём ОЗУ данных |
80 Кб |
Интерфейс подключения к МК |
UART |
Дополнительные интерфейсы и аппаратные особенности |
SPI, I2C, I2S, 10-разрядный АЦП, IR, ШИМ |
Шаг выводов |
2 мм |
Габаритные размеры модуля |
18 ×24 ×3 мм |
Беспроводной интерфейс |
Wi-Fi 802.11 b/g/n с WPA, WPA2, 2,4 ГГц |
Режимы работы |
STA (клиент), AP (точка доступа), STA+AP (клиент + точка доступа) |
Ниже приведены ссылки на дополнительные материалы, которые вы можете просмотреть у нас на сайте и в интернете.
Даташит ESP8266EX
Даташит ESP-12s
Справочник AT-команд
Питание ESP8266-12s:
Напряжение питания модуля — 3,3 В. Будьте осторожны при питании ESP, т.к. его выводы не рассчитаны на питание от 5В и попросту выйдут из строя. Для связи ESP и 5-вольтовых микросхем нужно использовать делители напряжения (например, из двух резисторов на 10Ком), либо преобразователь уровней напряжения. Однако 3,3В сигнал от модуля будет воспринят как логическая единица в управляющем МК, поэтому никаких переходников для связи сигнальных цепей ESP и МК не требуется.
ESP очень привередлив в питании. Напрямую питать ESP от вывода 3,3V Arduino не получится, т.к. выходной ток с этого вывода не более 50 мА, а ESP может потреблять до 220 мА (предельное значение), поэтому нужно обязательно использовать внешний регулятор напряжения. Аналогично с FTDI FT232RL, выходного тока с вывода 3,3V также не хватит для питания ESP.
ПРИМЕЧАНИЕ: если Вы планируете питать систему с ESP модулем от батареек, то нужно выпаять светодиод (в целях энергосбережения).
Расположение выводов ESP8266-12s:
![](https://robohobby.by/wp-content/uploads/2017/12/esp__12s_pinout-300x225.jpg)
Назначение выводов ESP8266-12s:
Интерфейс |
Название вывода |
Назначение |
|
VCC |
Питание (3.0 … 3,6 В) |
|
GND |
Земля (0В) |
|
RESET |
Сброс (активный низкий уровень) |
|
CH_PD |
Разрешение работы (активный высокий уровень) |
|
ADC |
Вывод 10-разрядного АЦП |
UART0 |
RXD (GPIO3) |
Передаваемое данное в COM-порт |
TXD (GPIO1) |
Принимаемое данное из COM-порта |
RTS (GPIO15) |
Запрос на отправку |
CTS (GPIO13) |
Разрешение отправки |
UART1 |
TXD (GPIO2) |
Принимаемое данное из COM-порта |
ШИМ |
GPIO12 |
ШИМ-выводы |
GPIO15 |
GPIO13 |
SPI |
SCLK (GPIO14) |
Последовательный тактовый сигнал. Служит для передачи тактового сигнала для ведомых устройств |
MISO (GPIO12) |
Вход ведущего, выход ведомого. Служит для передачи данных от ведомого устройства ведущему |
MOSI (GPIO13) |
Выход ведущего, вход ведомого. Служит для передачи данных от ведущего устройства ведомому |
SS (GPIO15) |
Выбор микросхемы, выбор ведомого |
I2C |
SCL (GPIO14) |
Последовательная шина тактирования |
SDA (GPIO2) |
Последовательная шина данных |
I2S |
I_DATA (GPIO12) |
Сигнал данных (входной) |
I_BCK (GPIO13) |
Тактовый сигнал битовой синхронизации (входной) |
I_WS (GPIO14) |
Тактовый сигнал фреймовой синхронизации (входной) |
O_DATA (GPIO3) |
Сигнал данных (выходной) |
O_BCK (GPIO15) |
Тактовый сигнал битовой синхронизации (выходной) |
O_WS (GPIO2) |
Тактовый сигнал фреймовой синхронизации (выходной) |
|
GPIO16 … GPIO12, GPIO5, GPIO4, GPIO2, GPIO0 |
Выводы для пользовательских нужд |
IR (может быть сконфигурирован программно; кодирование NEC, частота
несущего сигнала 38 кГц.) |
IR_T (GPIO14) |
IR-передатчик |
IR-R (GPIO5) |
IR-приёмник |
Подключение ESP8266-07 к Arduino
ESP-модуль подключается к Arduino через интерфейс UART в соответствии со схемой и таблицей (также потребуется внешний источник питания на 3.3 В)
Вывод ESP8266-12s |
Вывод Arduino Nano |
VCC |
Внешний источник питания (вывод 3.3 В) |
GND |
Земля (вывод 0 В) |
RXD |
10 |
TXD |
9 |
CH_PD |
Внешний источник питания (вывод 3.3 В) |
Остальные выводы никуда не подключаются |
![](https://robohobby.by/wp-content/uploads/2017/12/ESP8266-12s_схема-300x244.png)
![](https://robohobby.by/wp-content/uploads/2017/12/ESP8266-12s_bb_1-300x166.png)
Выводы RXD и TXD могут подключаться к любым цифровым выводам Arduino (но для этого необходимо установить библиотеку SoftwareSerial). Выводы Arduino, соответствующие выводам RXD и TDX задаются программно.