Нижний Новгород, Россия
Автор статьи Максим Захаров
В данной статье я рассмотрю прошивку плат ESP8266 через среду разработки Arduino IDE. Arduino IDE позволяет загрузить на плату огромное количество готовых примеров, которые были ранее написаны для плат Arduino, поэтому данный навык будет вам очень полезен при создании своих устройств!
Первым делом необходимо скачать свежую версию Arduino IDE (https://www.arduino.cc/en/Main/Software) и установить ее на ваш компьютер. Перед началом прошивки платы ESP необходимо добавить дополнительные пакеты в среду разработки Arduino IDE.
Открываем Arduino IDE и добавляем в него возможность работы с платами esp8266, для этого:
1) Переходим в раздел Preferences в меню.
2) В поле "Дополнительные ссылки для Менеджера плат" (Additional Board Manager URLs) вставляем строчку http://arduino.esp8266.com/stable/package_esp8266com_index.json и нижимаеи кнопку "OK".
3) Открываем менеджер плат в меню "Инструменты > Плата > Менеджер плат..." (Go to Tools > Board > Boards Manager…)
4) В появившемся окне в поиске вводим esp8266 и устанавливаем соответствующий пакет
5) Закрываем и заново открываем Arduino IDE. Теперь в списке доступных плат появились платы на основе чипа ESP.
В плате NodeMCU версии 1.0 используется чип CP2102 (USB to UART Bridge VCP). Чтобы наш компьютер мог видеть плату esp необходимо скачать драйвер данного чита с официального сайта https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers. Скачиваем и устанавливаем драйвер под нужную операционку. После установки драйвера перезапускаем Arduino IDE.
Теперь если подключить плату NodeMCU к компьютеру, то в списке портов вы увидите новое устройство. Для MacOS оно будет иметь вид:
Для Windows:
Для проверки работы прошивки загрузим стандартный пример с мигающим светодиодом. Для этого в меню выбираем "Примеры > Basic > Blink".
Откроется новое окно Arduino IDE со стандартным примером, нажимаем на него. Теперь нам необходимо выбрать соответствующую плату и нужный порт. Выбираем NodeMCU 1.0 и порт, на который подключен модуль ESP. Все параметры должны быть такими же как на скриншоте.
Нажимаем кнопку "Загрузить" в верхней части окна:
Код начнет компилироваться:
После компиляции начнется загрузка кода на плату ESP, в нижней части экрана побегут оранжевые пиксели и будут появляться проценты загрузки. В результате загрузка дойдет до 100% и чуть выше вы увидите надпись "Загрузка завершена". Поздравляем, вы только что прошили модуль NodeMCU! Посмотрите на плату - на ней должен начать мигать светодиод!
В отличии от NodeMCU в модуле ESP-01 нет встроенного программатора и его нельзя напрямую подключить к USB. Поэтому для прошивки я буду использовать внешний программатор.
Для данного модуля подойдут практические любиые USB-to-UART программаторы, но я заказал специальный программатор с разъемом под ESP-01.
В данном программаторе точно также как и в NodeMCU используется чип CP2102, поэтому нам не надо ставить дополнительный драйвер. Также этот программатор имеет дополнительные пины, через которые можно прошивать модули Sonoff. Теперь просто втыкаем плату в программатор, а программатор в USB.
В меню "Порт" появится знакомый нам cu.SLAB_USBtoUART (Для Windows это будет COM*), выбираем его. В поле "Плата:" выбираем "Generic ESP8266 Module". Все параметры должны быть на скриншоте.
Обратите внимание, что каждый раз перед прошивкой этот программатор необходимо вытыкать и втыкать в USB заново. Также иногда внешние программаторы могут быть не видны в Arduino IDE. В этому случае приходится перезгаружать среду разработки. Поэтому для первых экспериментов с модулем ESP я рекомендую использовать модуль NodeMCU.
Как вы видите подготовить Arduino IDE к работе и прошить первый скетч на ESP не так уж и трудно. В следующей статье я расскажу вам как написать скетч, который будет работать с MQTT сервером, а также как потом подключить девайс к системе OpenHAB2.