Программировать ESP8266 можно разными способами, к примеру, ее родным кодом или при помощи NodeMCU. Но есть и более удобный способ – среда разработки IDE Arduino.
Правда, сначала в IDE Arduino нужно установить специальный аддон, позволяющий программировать на ESP8266. О том, как это сделать, читайте тут.
Сначала загрузите аддон для ESP8266. Его последнюю версию можно найти на GitHub. Ссылку на руководство по ее установке смотрите выше.
Установив аддон для ESP8266, запустите IDE Arduino. Подключите модуль ESP8266 к компьютеру. Подключение осуществляется также, как и при обновлении прошивки ESP8266. Кроме того, для программирования понадобится конвертер USB/TTL с чипом FT232RL от FTDI(). Настройте его на 3,3 вольта.
Внимание: Некоторые версии конвертеров USB/TTL FT232RL() не способны обеспечить ESP8266 достаточным напряжением. В этом случае ESP8266 нужно питать только от внешнего источника питания.
Теперь нам нужно поменять некоторые настройки в IDE Arduino. Сначала выберите правильный COM-порт в меню Инструменты > Порт (Tools > Port), а потом выберите программатор в меню Инструменты > Программатор > esptool (Tools > Programmer > esptool).
Затем выберите плату, кликнув на Инструменты > Плата > Generic ESP8266 Board (Tools > Board > Generic ESP8266 Board).
Теперь можно загружать программу. Это стандартный скетч для Arduino, суть которого в простом мигании светодиодом. Поскольку вместо Arduino используется ESP8266, в скетче нужно будет поменять номер контакта: вместо 13-го контакта нужно указать 2-ой (это 2-ойGPIO-контакт на ESP8266).
В модифицированном виде программа будет выглядеть следующим образом (ее также можно загрузить с GitHub):
/* Моргание Включает светодиод и держит его в таком состоянии 1 секунду, затем выключает светодиод и держит его в таком состоянии 1 секунду, затем повторяет эти действия заново. У большинства Arduino есть встроенный светодиод. На Uno и Leonardo он подключен к 13-ому контакту. Если вы не уверены, есть ли на вашей модели Arduino встроенный светодиод, сверьтесь с документацией на сайте http://arduino.cc Скетч не защищен авторскими правами. Модифицирован 8 мая 2014 года Скоттом Фитцдеральдом (Scott Fitzgerald) */// блок setup() запускается, когда вы нажимаете на кнопку сброса// или подключаете плату к питанию:voidsetup(){// выставляем 13-ый цифровой контакт в режим вывода данных:pinMode(2,OUTPUT);}// блок loop() будет работать снова и снова:voidloop(){digitalWrite(2,HIGH);// включаем светодиод // (т.е. подаем значение HIGH)delay(1000);// ждем секундуdigitalWrite(2,LOW);// выключаем светодиод// (т.е. подаем значение LOW)delay(1000);// ждем секунду}
Отредактировав программу, просто нажмите на кнопку «Загрузка» («Upload») в IDE Arduino. Если все настроено правильно, скетч скомпилируется и будет отправлен на ESP8266.
Закончив программировать, отключите контакт GPIO0 от GND.
Схема
Подключите к контакту GPIO2 на ESP8266светодиод() и резистор на 1 кОм(). Также подключите контакт CH_PD (на ESP8266) к питающему контакту (на картинке ниже это подключение не показано).