суббота, 10 июня 2023 г.

ESP8266 настройка Arduino IDE и загрузка мигалки

 Недорогой и компактный WIFI модуль ESP8266 можно использовать для управления по WIFI каким либо прибором или получением от него каких либо данных. Данный модуль лучше подойдет для каких нибудь не сложных действий, например включение лампочки по WIFI, чем более современные и сложные ESP32 т.к. имеет более низкую (хотя и не значительно) стоимость а также более компактные (тоже не сильно но всё таки) размеры. Существует некоторое количество вариантов таких модулей. Например ESP-12-F -это один из минималистичных вариантов с антенной, светодиодом, экранирующим корпусом и некоторым количеством выводов. Для того чтобы загрузить в такой модуль скетч можно собрать схему например такую как на фотографии:


На фотографии есть резистор с сопротивлением 100 Ом внизу на перекрученных проводах, он соединяет пин GPIO0 и GND, это сделано для того чтобы перевести модуль в режим программирования. В этот режим модуль перейдет после подачи питания при соединенных GPIO0 и GND. Эти пины можно соединить также обычной перемычкой, однако же резистор создает страховку на случай неправильного соединения. Для того чтобы модуль заработал в обычном рабочем, не загрузочном, режиме, нужно подать питание или перезагрузить модуль при разъединенных пинах GPIO0 и GND. Для того чтобы иметь возможность писать, компилировать и загружать программы, в данный модуль, через Arduino IDE, нужно сначала эту среду настроить. Ниже будут инструкции по настройке, они подходят для Arduino IDE версии 1.8.19 но могут не подходить для других версий. Чтобы настроить Arduino IDE, для работы с модулями ESP8266, нужно её открыть, выбрать пункт "настройки" во вкладке файл:
В открывшемся окне надо найти поле "Дополнительные ссылки для менеджера плат" и если оно пустое то вставить в него ссылку:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Если в поле уже имеется какой то текст например:

https://dl.espressif.com/dl/package_esp32_index.json

для модуля ESP32 (об этом есть отдельная статья в данном блоге) то нужно нажать на кнопку которая находиться справа от этого поля:

 и в открывшемся окне дописать данную ссылку в дополнении к тем или той которая уже имеется в данном окне:
После нужно нажать "ОК" на данном окне и том которое появилось до него чтобы перейти в основную часть программы где теперь нужно выбрать пункт "Менеджер плат" в пункте показывающем текущую выбранную плату не вкладке "инструменты":

В открывшемся окне найти пакет ESP8266 чему поможет строка поиска сверху. После того как пакет найден его можно установить нажав соответствующую кнопку с надписью "установка":
После установки можно нажать кнопку "закрыть" в текущем окне, чтобы перейти в основное. В основном окне, на вкладке "инструменты" в пункте "плата" выбрать "Generic 8266 Module" чтобы можно было загружать скетч в модуль ESP-12-F (по крайней мере с моим модулем это сработало):
Чтобы проверить что всё работает, можно открыть пример мигалки:
Или выбрать другой пример, после того как он откроется можно замкнуть GPIO0 на GND на модуле, воткнуть его в USB порт, выбрать правильный COM порт в настройках и нажать кнопку вгрузить:
Другие настройки д.б. примерно такими:

Они могут отличаться и если загрузка не удается то можно попробовать их поменять. После успешной загрузки можно вынуть переходник из USB порта. Разомкнуть GPIO0 от земли. Подать питание 3.3в на модуль и увидеть как мигает встроенный на плату светодиод: