Введение в ESP8266
Предисловие:
В своих начинаниях с ESP8266 я опирался на материал от Владимира Воробьева (NarodStream.ru) и его видеоролики.
В них содержится большой объем информации, но какие-то моменты я переделал. Настоятельно рекомендую посмотреть его видеоуроки!
//
//————————————————————————
//
Начинаем цикл статей по работе с микроконтроллерами ESP8266.
Программировать будем в среде Eclipse.
в своих тестах я буду использовать ESP01, ESP01S и плату NodeMCU, а также программатор для ESP01.

на момент начала работы с esp8266 у меня не было платы NodeMCU и программатора, поэтому сделал доработку модуля esp01 (слева).
Для работы необходимо собрать схему как на рисунке:

Вместо резистора R4 допускается поставить перемычку.
Для нормальной работы модуля нужно обеспечить напряжение 3,3В и ток ДО 250мА.
Принцип работы и загрузка прошивки:
При старте м/к «опрашивает» выводы GPIO0 и GPIO2 и GPIO15 и если GPIO0=0 , то микроконтроллер переходит в режим загрузчика и принимает прошивку по uart.
(необходимые сигналы GPIO0 = 0, GPIO2 = 1 и GPIO15 = 0)
Для загрузки прошивки используются U0_Tx и U0_Rx. Прошивка загружается во внешнюю память по SPI.
Если GPIO0=1 (необходимые сигналы GPIO0 = 1, GPIO2 = 1 и GPIO15 = 0), то м/к начинает стартовую программу из ПЗУ (условно файл main.c и цикл while(1)) в котором может использовать эти выводы (GPIO0 и GPIO2 и GPIO15)
ВАЖНО при старте микроконтроллера вывод GPIO15 необходимо притянуть к 0, на плате ESP01 он не выведен на гребенку, но притянут по умолчанию.
работа м/к подразумевает использование этого выхода.
Примечание: Плата NodeMCU сама входит в режим загрузчика/рабочий режим ничего нажимать на требуется.
«программатор» для esp8266 по сути обычный переходник usb-uart на микросхеме ch340 (такая же стоит в платах Arduino) его удобство в раздаче питания и колодке.
Для обеспечения работы пришлось запаять переключатель между выводом GPIO_2 и землей. И перед подключение программатора выбирать режим. В планах добавить кнопку для перезапуска (сейчас приходится передергивать питание).
NodeMCU -плата разработчика на основе модуля ESP12, выведены все пины, добавлен программатор.
Контроллер ESP8266 имеет на своем борту модуль wifi что делает его весьма интересным для разработки устройств умного дома. Единственное ограничение — большое потребление до 250мА. Но с учетом цены (модуль стоит около 100руб на 09.21) его использование м.б. весьма оправданным.
В следующей статье мы приступим к настройке среды eclipse и зальем первый проект из нее.
В дальнейшем будем рассматривать функционал набора библиотек SDK от производителя (Espressif) и постепенно переходить к wifi.
Примечание: на ESP01, ESP12 (NodeMCU) светодиод на GPIO0 зажигается нулем (светодиод катодом подключен к м/к)