Вопрос Передача данных с помощью ESP-12E между датчиком и модулем управления
Имеется модуль управления (ДЭЛ-140) и датчик нагрузки (ДН130). Они связаны проводом — интерфейс связи RS485, а протокол передачи информации ModBus. Также имеются 2 модуля ESP-12E (ESP8266 Nodemcu) и 2 трансивера MAX485. Можно ли связать модуль управления и датчик по Wi-Fi с помощью еспшек? Если возможно, есть ли похожие примеры?
pvvx
Активный участник сообщества
Если возможно, есть ли похожие примеры?
Karsh
New member
К несчастью, в моём случае используется Modbus ASCII. Можно ли переделать ваш проект под ASCII или прошивку надо будет писать с нуля?
pvvx
Активный участник сообщества
К несчастью, в моём случае используется Modbus ASCII. Можно ли переделать ваш проект под ASCII или прошивку надо будет писать с нуля?
Для Modbus ASCII моя прошивка ModbusTCP не годится. Может возможно приспособить прошивку TCP2UART (попробовать), но желательно взять что-то проще и написать самому. Тут всё зависит хотите ли вы поддерживать стандарты или достаточно поддержки только каких-то частей для стыковки с уже имеющимся внешним ПО.
Karsh
New member
Для Modbus ASCII моя прошивка ModbusTCP не годится. Может возможно приспособить прошивку TCP2UART (попробовать), но желательно взять что-то проще и написать самому. Тут всё зависит хотите ли вы поддерживать стандарты или достаточно поддержки только каких-то частей для стыковки с уже имеющимся внешним ПО.
Поскольку я новичок в этом деле, можете посоветовать с чего начать изучение/написание прошивки? Или может на ардуино будет проще написать,например, на базе такой прошивки?
ESP8266 прошивка, программирование в Arduino IDE
И снова привет Хабр. Этот материал является продолжением моей предыдущей статьи — ESP8266 и Arduino, подключение, распиновка, и, должен сказать, что они взаимосвязаны. Я не буду затрагивать темы, которые уже раскрыты.
А сегодня, я поведаю, как же программировать ESP8266 при помощи Arduino IDE, так же прошивать другие прошивки, например NodeMcu… Вообщем, этот материал не ограничивается только одной темой Ардуино.

Тема ESP8266 — довольно таки непростая. Но, если работать с этими Wi-Fi модулями в среде разработки Arduino IDE — порог вхождения опускается до приемлемого для обычного ардуинщика уровня. Да и не только ардуинщика, а любого человека, у которого есть желание сварганить что-то по теме IoT(интернет вещей), причём не затрачивая много времени читая документацию для микросхемы и изучение API для этих модулей.
Данное видео, полностью дублирует материал, представленный в статье ниже.
Ну что же, мы уже умеем подключать ESP8266 и переводить его в режим программирования, теперь давайте перейдём к чему-то более полезному.
Скажу сразу — один раз запрограммировав модуль в среде разработки ардуино, мы сносим родную прошивку, и у нас пропадёт возможность работать с модулем при помощи AT-команд. Лично мне, от этого, не холодно/не жарко, но если кому-то это будет нужно — ближе к концу статьи я покажу, как обратно прошить в модуль родную прошивку, ну или какой-то загручик типа NodeMcu.
Для начала, на офф.сайте качаем последнюю версию Arduino IDE, на данный момент это 1.6.7. Более старые версии типа 1.0.5. не подойдут, потому что банально не имеют нужного функционала, а танцы с бубном нас не интересуют, не так ли?
Запускаем среду разработки и тут же идём в Файл/Настройки:

Вставляем ссылку в поле «Дополнительные ссылки для Менеджера плат:» и жмём «OK».
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Данную ссылку я взял на странице проекта Arduino core for ESP8266 WiFi chip.
Потом идём Инструменты/Плата:/Менеджер плат.

Перед нами появится окно менеджера плат, листаем его до самого низа, и если всё сделано правильно мы увидим что-то подобно этому:

Кликаем курсором по надписи «esp8266 by ESP8266 Community» после этого, у нас появилась кнопка «Установка», выбираете нужную версию, я беру последнюю, на сегодняшний день это 2.1.0. и устанавливаю её. Среда разработки закачает нужные ей файлы(около 150 мегабайт) и напротив надписи «esp8266 by ESP8266 Community» появится «INSTALLED» то есть установлено:

Листаем список плат вниз и видим, что в списке у нас появилось много разных ESP, берём «Generic ESP8266 Module»:

Идём в «Инструменты» и выбираем нужный COM порт(у меня это COM32) Arduino или USB UART конвертора, потом ставим Upload Speed:«115200»:

Далее открываем консоль в Arduino IDE, подаём питание на модуль, если всё было сделано правильно, то мы увидим что-то в этом роде:

Выставляем скорость 74880 и «NL & CR» и опять же отключаем и подаём питание и он ответит кое какой отладочной информацией:

Заметьте, 74880 — не основная скорость ESP8266, просто он всего лишь на ней отправляет отладочную информацию. Если модуль ничего не отправляет в консоль, тогда возможно что-то подключили не так как надо.
По умолчанию скорость должна быть 115200, но в отдельных случаях может быть и 9600 и другие… Так что попробуйте подобрать.

После подбора нужной скорости отправляем модулю «AT» и он должен ответить что всё «ОК». Команда «AT+GMR» выводит информацию о прошивке.
Прежде чем начать прошивать ESP8266 в Arduino IDE я советую дочитать статью до конца.
Теперь давайте попробуем прошить ESP8266 через Arduino IDE. Переводим модуль в режим программирования(как это сделать я писал в предыдущей статье).
Давайте зашьём мигалку штатным светодиодом:
// By MrПоделкинЦ youtube.com/RazniePodelki // special to geektimes.ru/post/271754/ #define TXD 1 // GPIO1/TXD01 void setup() < pinMode(TXD, OUTPUT); >void loop()
Замигал? Значит всё сделано правильно. Откуда я взял что светодиод подключен на первый пин? В предыдущей статье есть картинка с распиновкой разных модулей, и там есть разметка портов, при использовании загрузчика Arduino(пины отмечены розовым цветом).

Мигание светодиодом это конечно хорошо, но надо бы какой-то веб-сервер заделать или начать управлять светодиодом хотя бы при помощи кнопок в браузере, не так ли? Но об этом я расскажу уже как-нибудь в другой раз.
А теперь как прошить назад родную прошивку, да и как вообще прошивать модуль сторонними загрузчиками. Для ESP8266 есть такая программа как NodeMCU Flasher, которая изначально предназначена для прошивки загрузчика NodeMCU. Но как оказалось, она отлично прошивает и другие прошивки.
Я прикреплю к статье архив с данной программой и прошивкой для удобства, но тут всегда можно скачать новую версию NodeMCU Flasher.
В папке «nodemcu-flasher-master» есть 2 папки Win64 и Win32 и в зависимости от того какая разрядность у вашей ОС выбираем нужную. Дальше в папке Release запускаем «ESP8266Flasher.exe» и видим интерфейс программы:
Выбираем нужный COM порт и идём во вкладку «Config», убираем хрестик около «INTERNAL://NODEMCU» и ставим его на один пункт ниже, как на скрине:
(Если захотите прошить загрузчик NodeMCU — убираете хрестик там где его не было, и ставите — где он был, то есть около «INTERNAL://NODEMCU»).
Потом жмём по шестеренке и выбираем где лежит наша прошивка, прошивка как правило в формате *.bin(в прикреплённом архиве это «v0.9.5.2 AT Firmware.bin» которая лежит в основной папке), и так же выбираем «0x00000» как и выше.
Дальше идём во вкладку «Advanced» и меняем там скорость на 115200, именно эта скорость будет основная и модуль будет отзываться по ней на AT-команды в случае соответствующей прошивки.
Возвращаемся опять на вкладку «Operation» переводим модуль в режим программирования и жмём «Flash»:
Всё, модуль начал прошиваться, после перепрошивки не забываем перезагрузить модуль и вуаля, он прошит нужной нам прошивкой.

Проверяем AT-командой «AT+GMR» сделали ли мы всё верно:

Как видите всё нормально прошилось.
By Сергей ПоделкинЦ ака MrПоделкинЦ.
Уже на подходе плата на базе esp32:

http://www.pighixxx.com/test/2015/12/esp32-pinout/
Которая значительно круче чем esp8266, так что нас скоро ждёт бум, как мне кажется, темы IoT(интернет вещей).
Система сбора данных на ESP. Часть I. CO2

Доброго времени суток! В данной статье хочу рассказать о реализации устройств на модулях ESP. Тема похожих девайсов уже раскрыта в интернете, но не перестает быть актуальной.
Идея
Давно думал о реализации некой системы индикации и управления в квартире, но никак не мог найти применения, имеющихся в продаже датчиков, конкретно для себя. Первое что смущало – это наличие некого сервера (отдельной железки), который собирает данные, обрабатывает и выкидывает куда-либо для просмотра. Хотелось бы иметь наращиваемую систему независимых устройств, желательно работающих с одним приложением, оптимально, если приложение будет готовым, что казалось практически невозможным (забегая вперед скажу, что такое приложение есть и оно довольно гибко может настраиваться под наши задачи). И конечно же хотелось сделать линейку своих устройств.
Требования к системе
- Отсутствие аппаратного сервера («Центральный блок»).
- Независимые датчики/элементы управления.
- Датчики должны быть беспроводными.
- При изменении состава и типов датчиков не должно быть зависимости (добавляя новое устройство не должно быть необходимости «пилить» что-то на других).
- По возможности датчики должны быть с батарейным питанием.
- При необходимости датчики должны иметь возможность настройки, но без копания в коде (оптимально web).
- Уведомления. Это отдельное требование. Все мы привыкли пользоваться сотовыми телефонами и получать уведомления мгновенно.
Поиск решения
Решение для создания системы пришло несколько позже. Сначала было разработано первое устройство, о котором я напишу в данной статье.
Аппаратная часть. ESP-12E и ESP32. Все описанные ниже проекты реализованы на первом модуле. На втором модуле есть несколько коммерческих проектов, которые в рамках данной статьи рассматриваться не будут.
О ESP-12E есть много статей и форумов в интернете, и повторяться про все плюсы и минусы я не буду. Все «затыки» происходили, в основном, из-за недостатка опыта в работе с модулем и со средой, в принципе.

Рис 1. Фото ESP-12E.
Программная часть. Прошивка для ESP писалась в среде «Arduino IDE». На стороне телефона/планшета работает приложение «Blynk». Это очень удобный конструктор для отображения данных. Приложение имеет облачный сервер, куда устройства (датчики) шлет данные, а Blynk их получает и позволяет отображать (www.blynk.cc). Таким же образом организована обратная связь с устройством. Что немаловажно, одно приложение может собирать и отображать данные с нескольких устройств.


Рис 2. Скрины приложения.
Позже выложим статью по софту и ссылки на исходники. Я занимаюсь аппаратной частью. Программную реализацию осуществляет мой коллега.
Первое трио датчиков
1. OpenWindAir Датчик концентрации углекислого газа.
Построен на основе Wi-Fi модуля ESP-12E. Измерение происходит при помощи датчика CO2 MH-Z19. Он широко известен и позволяет быстро и точно делать измерения. Помимо этого, в устройстве есть встроенный датчик температуры и влажности воздуха AM2302. Также существует поддержка выносного датчика для использования, например, с системой «Народный мониторинг». Питается устройство по miniUSB от ПК или блока питания 5В. Реализована светодиодная и звуковая сигнализация (последнюю можно отключать из приложения, либо использовать по часам – чтобы ночью не просыпаться).
2. LifeOfFlowers Датчик влажности почвы для растений.
Построен на основе Wi-Fi модуля ESP-12E. Измерение влажности почвы происходит при помощи втыкаемого электрода в землю (часть платы устройства). Что важно – электрод, как и вся плата, залита лаком (тут пришлось исхитриться с измерениями), что будет препятствовать гниению контактов. Помимо влажности почвы устройство измеряет влажность и температуру окружающего воздуха (AM2302), освещенность и напряжение батареек. Да, LifeOfFlowers работает от 1 до 3 лет от двух элементов питания AAA (время работы зависит от частоты обновления данных).
3. WarningWater Датчик протечек.
Построен на основе Wi-Fi модуля ESP-12E. Измерение происходит при помощи электродов, входящих в состав корпуса IP-65. Устройство работает от двух элементов питания AAA (или АА), время работы также составляет от 1 года. Размеры корпуса устройства составляют всего 55x55x30мм. Для начала работы необходимо положить девайс в потенциально опасное место и он просигнализирует о наличии воды на полу. В приложении также отображается напряжение батареек, чтобы не забыть их вовремя заменить.
OpenWindAir — аппаратная реализация
Схемотехнических изысков тут не встретить, все просто и по даташитам. Если кому-то нужна схема, могу дать.
ESP8266 ESP-12E – собственно сам модуль, отвечающий за сбор, обработку и отправку данных. Питание 3,3В.
MH-Z19 – датчик концентрации углекислого газа. Работает по UART, измеряет до 5000ppm и питается от 5В.
AM2302 – измерение влажности и температуры. Так как датчик находится внутри корпуса пришлось ввести калибровочные константы, и данные измерения являются справочными. Для более точных измерений используется выносной датчик.
1-1462037-8 (IM03TS) – реле, для коммутации слаботочки, заложили на всякий случай, поиграться. В принципе штука интересная, но применения пока не придумали (выведено на тот же внешний разъем, что и внешний датчик влажности).
CP2102-GM – USB-UART. Да, решили сделать красивые логи для отображения инфы в реальном времени, получилось очень удобно, можно смотреть данные в терминале, смотреть порядок загрузки, отлаживаться.
LM1117MP-ADJ – LDO для 3,3В.
Также есть бипер, пара кнопок и три светодиода. Помимо порогов концентрации CO2 светодиоды осуществляют индикацию процесса загрузки устройства, подключения к точке доступа (либо работу в режиме offline) и процесс обновления.
В устройстве реализовано OTA обновление. Кидаем прошивку на любой сервак (предварительно прописав его), жмем кнопку, подаем питание и начинается процесс прошивки. После прошивки (или перезапуска) в течении заданного времени можно зайти в web интерфейс (устройство представляется точкой доступа) и вбить настройки сети – после этого все готово к работе.

Рис 3. Фото платы с компонентами.
Хочу немного написать о форме и особенностях печатной платы. При тестировании обнаружилось что при длительной работе Wi-Fi модуль разогревает плату. Это не было бы критичным, если бы встроенный датчик температуры и влажности внутри корпуса. Пришлось разнести модуль ESP с питателем и датчики в разные стороны, а также сделать вырез в плате, куда подобно конструктору еще вставляется специальная перегородка. Тем самым не происходит смешивания воздуха внутри корпуса и измерения температуры и влажности получаются намного достовернее.

Рис 4. Фото перегородки на плате.
Тут было много сомнений – хотелось иметь красивый металлический, обтекаемый корпус с матовой полоской индикации и т.д., но как всегда, на помощь пришел минимализм. Форм-фактор корпуса определил наличие олдскульных 5мм светодиодов, которые, как оказалось очень удобны. За счет того, что они выпуклые – это позволяет поставить устройство, например, на полку и индикация все равно будет хорошо видна. Сам корпус вырезали лазером из оргстекла 2мм.
Сделали несколько вариантов, разного цвета и с сочетанием цветов, а также из разных материалов. Смотрится очень прилично. Пробовал даже делать из текстолита сразу с заказом печатных плат. В данный момент продумываем вариант с изготовлением корпуса на производстве, но пока это только в планах. Модели также могу выложить.

Рис 5. Фото устройства.
Вообще, в планах сделать еще несколько устройств (помимо этих трех). Например, ESP32 имеет встроенный Ethernet (нужна только физика) и больше встроенных АЦП, что позволит обходиться без мультиплексора, как в случае с LifeOfFlowers, но об этом позже.
ЗЫ. Blynk имеет API сервера, которое легко разворачивается (проверяли) на ПК. Таким образом пропадает привязка к серверу.
ЗЗЫ. Чтобы было меньше негатива переименовал статью. Когда перейдем к управлению домом с помощью устройств, подкорректирую статью.
Спасибо за внимание!
ЗЗЗЫ: Как и обещал, вот ссылка на статью по софту geektimes.ru/post/122601
Модуль WiFi ESP-12E чип ESP8266

В современном, быстроразвивающемся мире, мы все давно привыкли к тому, что нас уже практически везде окружают разнообразные сети беспроводной связи, предлагающие нам возможность отправлять в Интернет или принимать из него различного рода цифровые данные, будь то музыкальные треки, фотографии, файлы с видеорядом или иную полезную информацию повсюду, где к таким сетям есть доступ. Среди существующего множества стандартов связи, подавляющему большинству очень хорошо известна технология WiFi, ставшая повседневной обыденностью. Доступ к WiFi есть почти в каждой квартире, сеть активно развивается в общественном транспорте, часто встречается в сферах отдыха, развлечения и досуга. И конечно же, WiFi присутствует в любом современном персональном компьютере, в мобильном телефоне и планшете. Стоит упомянуть о том, что технология беспроводной связи WiFi широкими шагами углубляется в контекст систем видеонаблюдения, позиционирования и безопасности, а также неустанно набирает обороты по интеграции в бытовой и промышленной электронике. Подхватив тенденцию развития, производители разнообразной «умной» техники стараются усовершенствовать наш быт средствами удалённого обмена данными, внедряют технологию в свои продукты, одновременно обучая их общаться между собой в сетях нового поколения «Интернет Вещей» (англ. Internet of Things, IoT).
Модули на чипе ESP8266 завоевали заслуженную популярность среди разработчиков собственных электронных проектов благодаря низкой ценовой категории и наличием основного полноценного функционала. ESP-12E самодостаточен и лёгок в настройке. Он способен выполнять все базовые операции приёмо-передачи по технологии WiFi. Пользователю достаточно выбрать требуемую конфигурацию модуля под поставленную задачу. Антенна разведена по краю печатной платы в виде зигзагообразной дорожки, контакта или разъёма для монтажа внешней антенны не предусмотрено. Верхняя сторона модуля оборудована металлическим кожухом, защищающим внутреннюю электронику от возможных электрических помех. Флеш-память увеличена с 1 до 4 МБайт. Значительно расширен доступный функционал.
Наличие встроенной памяти позволяет ESP8266-12E работать практически автономно и не зависеть от дополнительных внешних микроконтроллеров. Конструктивно, ESP-8266EX представляет из себя микроконтроллер, напрямую связанный с интегрированной в модуль микросхемой флеш-памяти, в которую записываются исполняемый скетч и прошивка. В добавок ко всему, модуль обладает дополнительными выводами, позволяющими подключить внешнюю флеш-память размером до 16 МБайт, если объёма стандартной памяти не хватает.
Технические данные
- Контроллер: ESP8266EX Serial WiFi, однокристальная система на основе Tensilica L106 с ультра-низким энергопотреблением, разрядность 32-бит
- Рабочее напряжение: 3.3 В
- Поддерживаемое напряжение: 3.0 — 3.6 В
- Рабочий ток: 71-80 мА
- Максимальный ток: 500 мА
- Ток неглубокого сна: 2 мА
- Ток глубокого сна: 0.02 мА
- Флеш-память: 32 МБит / 4 МБайт
- Протоколы WiFi: 802.11 b/g/n
- Диапазон частот: 2.4ГГц-2.5ГГЦ (2400М-2483.5М)
- Режимы WiFi: Клиент, Точка доступа, Клиент+Точка доступа (station, softAP, station+softAP)
- Защита: WPA-PSK, WPA2-PSK
- Шифрование: WEP, TKIP, AES
- Сетевые протоколы: IPv4, TCP/UDP/HTTP/FTP
- Выводы общего назначения (вход/выход, GPIO): 17
- Максимальный ток на контакт общего назначения: 12 мА, рекомендуемый 6мА
- Аналоговые входы: 1, 10-бит
- ШИМ выходы: 4
- Технология STBC, 1×1 MIMO, 2×1 MIMO
- Выходная мощность в режиме 802.11b: +20dBm
- Интерфейсы: UART, SPI, HSPI, SDIO, I2C, I2S, IrDA, GPIO, PWM
- Интегрированные переключатель приёма/передачи, согласующий высокочастотный трансформатор, усилитель мощности
- Интегрированные блоки: согласования сети, фазовой автоподстройки частоты, управления питанием, блоки регулирования
- Антенна WiFi: PCB, разведена на плате в виде дорожки
- Поддержка файловой системы SPIFFS
- Поддержка функций Smart Link для устройств на Andriod и iOS
- Поддержка АТ-команд, Облачного Сервера и Наборов Разработки (SDK), обновление прошивки
- Шаг между контактами: 2.00 мм
- Светодиодная индикация: пользовательский вывод GPIO2
- Рабочая температура: -40°. +85°
- Размеры: 24.0 х 16.0 х 3.2 мм
ESP8266EX функциональная блок-схема
![]() |
Распиновка ESP-12E (Диаграмма выводов, ESP-12E подключение)
Модуль ESP8266-12E обладает цифровыми выводами (контакты 4-7, 9-14, 16-22) общего назначения, работающими с логикой напряжений «1» и «0». Под единицей подразумевается входящее/исходящее напряжение +0.75*Vin—3.6 вольта, называемое высоким сигналом. Под нулём — входящее/исходящее напряжение -0.3—0.25*Vin вольт, называемое низким сигналом. Некоторые выводы имеют встроенный подтягивающий или стягивающий резисторы (см.принципиальную схему). Большинство контактов могут быть смультиплексированы с различными интерфейсами (I2C, I2S, HSPI, UART, ШИМ). Рекомендуемый ток отдельного вывода составляет 6 миллиампер, предельный ток — 12 миллиампер.
Примечание! Избегайте превышение значений максимального тока более 12 миллиампер и напряжения более 3.3 вольта, способного повредить микроконтроллер.
- EXT_RSTB (RST, RESET) — контакт перезапуска модуля, активен при низкоуровневом сигнале
- ADC — Аналого-цифровой преобразователь (АЦП). Диапазон входного напряжения 0-1 В, диапазон значений 0-1023
- CHIP_EN (CH_PD, CH_PU) — контакт включения модуля в рабочий режим. Активен при высокоуровневом сигнале
- GPIO16 — контакт общего назначения, ввод/вывод данных. Соединение с выводом EXT_RSTB выводит модуль из режима глубокого сна
- GPIO0-GPIO15 — контакт общего назначения, ввод/вывод данных. Переназначаемый на другие функции. В среде Ардуино выводы определяются по нумерации, GPIO1 = 1 и т.д. Выводы GPIO6-GPIO11 привязаны к встроенной памяти и не рекомендуются к использованию в других целях, кроме подключения внешней памяти.
- VCC — контакт питания модуля, напряжение 3.0-3.6 В
- GND — общий, заземление
- Асинхронный последовательный интерфейс UART из 2х линий, устанавливает связь с другими устройствами по шине UART:
- UART0_RX — контакт GPIO3
- UART0_TX — контакт GPIO1
- UART0_RTS — контакт GPIO15
- UART0_CTS — контакт GPIO13
- UART1_TX — контакт GPIO2, может использоваться для вывода отладочной информации
- SDA — контакт GPIO2
- SCL — контакт GPIO14
- SPI_CLK — контакт GPIO6
- SPI_MISO — контакт GPIO7
- SPI_MOSI — контакт GPIO8
- SPI_HD — контакт GPIO9
- SPI_WP — контакт GPIO10
- SPI_CS0 — контакт GPIO11
- SPI_CS1 — контакт GPIO1
- SPI_CS2 — контакт GPIO0
- HSPI_CS — контакт GPIO15
- HSPI_MISO — контакт GPIO12
- HSPI_MOSI — контакт GPIO13
- HSPI_CLK — контакт GPIO14
- I2SI_DATA — приём, контакт GPIO12
- I2SI_BCK — приём, контакт GPIO13
- I2SI_WS — приём, контакт GPIO14
- I2SO_BCK — передача, контакт GPIO15
- I2SO_DATA — передача, контакт GPIO3
- I2S0_WS — передача, контакт GPIO2
- IR_Tx — контакт GPIO14
- IR_Rx — контакт GPIO5
- SDIO_DATA_0 — контакт GPIO7
- SDIO_DATA_1 — контакт GPIO8
- SDIO_DATA_2 — контакт GPIO9
- SDIO_DATA_3 — контакт GPIO10
- SDIO_CMD — контакт GPIO11
- SDIO_CLK — контакт GPIO6
Режимы энергосбережения ESP8266EX
За исключением стандартных режимов полного функционирования и выключенного состояния, модуль ESP-12E поддерживает энергосберегающие режимы, предназначенные для каждого определённого случая.
- Modem-sleep — настраивается для приложений, использующих функции ШИМ или I2S, заставляющие процессор работать. В случаях, когда WiFi-связь установлена и передача данных не требуется, схема Wi-Fi модема может быть отключена для экономии энергии. Например, в режиме DTIM3, когда ESP8266 «спит» 300 миллисекунд и просыпается на 3 миллисекунды для приёма от точки доступа пакетов беспроводных Маяков (Beacon), общее потребление тока составляет около 20мА.
- Light-sleep — используется в задачах, в которых поддерживается соединение Wi-Fi и передача данных не требуется, при этом процессор может быть приостановлен. Например, режим коммутатора Wi-Fi. Общее среднее потребление тока составляет около 2 мА.
- Deep-sleep — глубокий сон оптимален для приложений, которые не требуют подключения Wi-Fi и передают данные c большими задержками по времени. К таким задачам относятся датчики температуры, выполняющие измерения каждые 100 секунд. Например, когда ESP8266EX «спит» 300 секунд и просыпается для соединения с точкой доступа (около 0.3-1 секунды), общее среднее потребление тока намного меньше 1 мА.
Режимы запуска модулей серии ESP
Режим CHIP_EN GPIO15 GPIO0 GPIO2 Загрузка через UART высокий низкий низкий высокий Запуск из флеш памяти высокий низкий высокий высокий Режим SDIO высокий высокий не важно не важно Значения «Высокий» и «Низкий» — уровень сигнала на входе соответствующего контакта.
Добавление платформы ESP8266 в среду разработки ARDUINO IDE
Установка совместимых библотек для корректной работы с платформой ESP8266EX аналогично всему модульному ряду ESP. Пример настройки редактора ARDUINO IDE для ESP8266EX приведён в описании модуля ESP-01.
АТ команды ESP8266, режим роутера-модема
Коллектив компании Espressif Systems, для своих чипов ESP8266 и их разновидностей, выпускает прошивки со встроенным интерпретатором AT-команд, основанные на обновляемых программных наборах разработки ПО (SDK) с открытым кодом. Пользователь имеет возможность компилировать собственные кастомные прошивки, добавляя или исключая поддержку необходимых в проекте функций. Подобные прошивки формируют из контроллера ESP8266 своеобразный роутер-модем, вследствие чего способ взаимодействия с процессором ESP-12E значительно отличается от обычного. В коде ПО заложен перечень предопределённых заскриптованных команд, выполняющие различные действия с настройками контроллера ESP8266. АТ команды позволяют устанавливать и разрывать WiFi-соединения, отправлять и получать данные, или менять параметры шины UART. Любая АТ команда передаётся в ESP8266 через периферийный последовательный интерфейс UART (GPIO1, GPIO3) от ведущего устройства и всегда начинается с аббревиатуры АТ. Перечень поддерживаемых АТ команд разделён на три основные группы с подробным описанием каждой функции, включая примеры:
- Основные АТ команды
- WiFi AT команды
- TCP/IP AT команды
Минимальная рекомендуемая схема подключения

Техническая информация
- Документация ESP-12E v1.0 (англ., PDF)
- Документация ESP8266EX v1.0 (англ., PDF)
Полезные ссылки
