Знакомство с недорогим и функциональным микроконтроллером esp8266: прошивка и пример использования

Введение

Успех ESP8266 от Espressif Systems неоспорим. Это мощный микроконтроллер обладает встроенным Wi-Fi модулем и легко адаптируется к множеству применений в быстро растущей отрасли IoT (Internet of Things, интернет вещей). Одной из немногих трудностей использования этой микросхемы стало обновление прошивки в тысячах и тысячах отладочных модулей, которые проникли на рынок. Для предыдущей статьи были выявлены некоторые исправления и улучшения, и представление этой информации является целью данной статьи.

В частности, будут рассмотрены следующие улучшения:

  • лучшая схема прошивки;
  • более простая в использовании программа терминала;
  • обновленный инструмент прошивки Flash Download Tool и обновленная прошивка ESP8266 SDK v2.0.0.

Вместе взятые и поддерживаемые улучшенной документацией от Espressif эти изменения упростят процесс прошивки и повысят удобство использования ESP8266 как для любителей, так и для профессионалов.

Данная статья является продолжением этой статьи, и, возможно, вы захотите ознакомиться с ней для получения какой-либо полезной справочной информации.

Загрузка кода ESP8266

Используйте любой из приведенных выше способов и откройте Arduino IDE, затем выберите плату ESP8266 в меню:

Tools → Board → Generic ESP8266 Module
(Инструменты → Плата → Модуль ESP8266)

Если вы не установили и не настроили плату ESP8266 для Arduino, сделайте это, выполнив шаги выше этого руководства. Затем можете идти дальше.

Теперь скопируйте приведенный ниже код в Arduino IDE и нажмите кнопку загрузки. Измените SSID на точку доступа Wi-Fi и измените пароль на свой пароль Wi-Fi и скомпилируйте.

#include <ESP8266WiFi.h>

const char* ssid = "YOUR_SSID";//type your ssid
const char* password = "YOUR_PASSWORD";//type your password

int ledPin = 2; // GPIO2 of ESP8266
WiFiServer server(80);//Service Port

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}

void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}

// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}

// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

// Match the request

int value = LOW;
if (request.indexOf("/LED=ON") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
} 
if (request.indexOf("/LED=OFF") != -1){
digitalWrite(ledPin, LOW);
value = LOW;
}

//Set ledPin according to the request
//digitalWrite(ledPin, value);

// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); //  do not forget this one
client.println("<!DOCTYPE HTML>");
client.println("<html>");

client.print("Led pin is now: ");

if(value == HIGH) {
client.print("On");  
} else {
client.print("Off");
}
client.println("<br><br>");
client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
client.println("Click <a href=\"/LED=OFF\">here turn the LED on pin 2 OFF<br>");
client.println("</html>");

delay(1);
Serial.println("Client disconnected");
Serial.println("");
}

Откройте последовательный монитор и откройте URL, показанный на вашем последовательном мониторе, через веб-браузер. Подключите GPIO 2 от ESP8266 к более длинному выводу светодиода. Теперь вы можете управлять светодиодом удаленно через Интернет!

Нажмите на соответствующие гиперссылки в браузере, чтобы включить или выключить светодиод.

Удалите все провода, которые были необходимы для загрузки кода. Модуль LM1117 используется для обеспечения регулируемого выхода 3,3 В. Это позволит вам сделать модуль ESP8266 или ESP-01 автономным.

Пример Arduino: мигалка

Чтобы убедиться, что ядро ESP8266 Arduino и NodeMCU правильно настроены, мы загрузим самый простой скетч – The Blink!

Для этого теста мы будем использовать встроенный светодиод. Как упоминалось ранее в этом руководстве, вывод платы D0 подключен к встроенному синему светодиоду и программируется пользователем. Отлично!

Прежде чем мы перейдем к загрузке скетча и игре со светодиодом, мы должны убедиться, что в Arduino IDE выбрана правильная плата. Откройте Arduino IDE и выберите пункт NodeMCU 0.9 (ESP-12 Module) в меню Инструменты → Плата.

Рисунок 9 – Выбор отладочного модуля NodeMCU в Arduino IDE

Теперь подключите ESP8266 NodeMCU к компьютеру через USB-кабель micro-B. Как только плата будет подключена, ей должен быть назначен уникальный COM-порт. На компьютерах с Windows это будет что-то вроде COM#, а на компьютерах Mac/Linux он будет в виде /dev/tty.usbserial-XXXXXX. Выберите этот последовательный порт в меню Инструменты → Порт. Также выберите скорость загрузки: 115200

Рисунок 10 – Выбор COM порта в Arduino IDE

Предупреждение

Уделите больше внимания выбору платы, выбору COM порта и скорости загрузки. В случае некорректных настроек при загрузке новых скетчей вы можете получить ошибку espcomm_upload_mem.

После выполнения всех настроек попробуйте пример скетча, приведенного ниже.

После загрузки кода светодиод начнет мигать. Возможно, чтобы ваш ESP8266 начал работать со скетчем, вам придется нажать кнопку RST.

Рисунок 11 – Рабта тестового скетча Blink на ESP8266 NodeMCU

Как подключить Wi-Fi модуль

Давайте же рассмотрим подключение esp8266 esp 12e и что такое esp8266 мост wi-fi uart. Ведь именно подключение и настройка модуля вызывают больше всего вопросов.

Распиновка esp8266 esp 12e

В первую очередь определитесь, какая версия микроконтроллера у вас на руках. В первой встраиваются светодиоды около пинов, а на второй, которую стали выпускать совсем недавно, сигнальные огни находятся около антенны.

Перед подключением стоит подгрузить последнюю прошивку, позволяющую увеличивать скорость обмена пакетами до 9600 единиц информации в секунду. А проверять соединение мы будем через кабель usb-ttl и соответствующий терминал от CoolTerm.

Схема подключения ESP8266 к Arduino Nano

Пины для подключения вышеописанного кабеля стандартные, а вот питание идёт через 3.3 вольтовый пин с Ардуино

Важно помнить, что максимальную силу тока, которую подаёт плата, невозможно поставить выше 150 мА, а esp8266 esp 07 и esp8266 witty cloud wi-fi модуль для arduino требуют 240 Ма

Однако, если другого источника тока нет, можете использовать и стандартный вариант от Ардуино, но мощность платы пострадает. Хотя, при не сильной загрузке, достаточно и 70 мА, будьте готовы к внезапным перезагрузкам микроконтроллера в пиковые моменты нагрузки и пишите софт соответственно, чтобы он фильтровал и разбивал файлы, не перегружая плату.

Вариант подключения модуля ESP и Ардуино Uno

Еще один вариант подключения ниже

Важно — контакты RX-TX соединяются перекрестием. Так как уровни сигналов модуля ESP8266 3.3В, а Arduino 5В, нам нужно использовать резистивный делитель напряжения для преобразования уровня сигнала

Описание WeMos D1 R2

Плата WeMos D1, которая производится в Китае, выполнена на основе WiFi модуля ESP8266 ESP-12. На модуле имеется разъем под внешнюю WiFi антенну – благодаря этому можно расширить площадь покрытия сетью. Программирование платы осуществляется с помощью стандартной среды разработки Arduino IDE. Контроллер включает в себя процессор, периферию, оперативную память и устройства ввода/вывода. Наиболее часто микроконтроллеры применяются в компьютерной технике, бытовых приборах и других электронных устройствах. WeMos отличается дешевой стоимостью и простотой подключения и программирования.

Технические характеристики WeMos:

  • Входное напряжение 3,3В;
  • 11 цифровых выходов;
  • Микро USB выход;
  • 4 Мб флэш-памяти;
  • Наличие WiFi модуля;
  • Частота контроллера 80МГц/160МГц;
  • Рабочие температуры от -40С до 125С.

Основными областями применения контроллеров WeMos являются температурные датчики, датчики давления и другие, зарядные устройства, пульты для управления различными бытовыми приборами, системы обработки данных, робототехника. К микроконтроллеру можно подключать дополнительные компоненты – индикаторы, сенсоры, светодиоды, которые позволяют реализовывать различные проекты и расширять их возможности.

Распиновка модуля WeMos D1

  • TX;
  • RX;
  • GND земля;
  • 5В;
  • 3v3;
  • RST – reset, кнопка сброса;
  • D0 – D8 –порты общего назначения GPIO. Все пины, кроме D0, поддерживают прерывание, ШИМ, I2C.

Как работает код

Теперь давайте подробнее рассмотрим код, чтобы увидеть, как он работает, чтобы вы могли изменить его в соответствии со своими потребностями.

Первое, что вам нужно сделать, это включить библиотеку ESP8266WiFi.

Как упоминалось ранее, вам нужно вставить свой ssid и пароль в следующие строки внутри двойных кавычек.

Затем вы устанавливаете свой веб-сервер на порт 80.

Следующая строка создает переменную для хранения заголовка HTTP-запроса:

Затем вы создаете вспомогательные переменные для хранения текущего состояния ваших выходных данных. Если вы хотите добавить больше выходных данных и сохранить их состояние, вам нужно создать больше переменных.

Вам также необходимо назначить GPIO каждому из ваших выходов. Здесь мы используем GPIO 4 и GPIO 5. Вы можете использовать любые другие подходящие GPIO.

Настройка

Теперь перейдем к настройке. Функция setup () запускается только один раз при первой загрузке ESP. Сначала мы запускаем последовательную связь со скоростью 115200 бод для целей отладки.

Вы также определяете свои GPIO как ВЫХОДЫ и устанавливаете их в LOW.

Следующие строки начинают соединение Wi-Fi с WiFi.begin (ssid, пароль), ожидают успешного соединения и печатают IP-адрес ESP в Serial Monitor.

Цикл

В loop() мы программируем то, что происходит, когда новый клиент устанавливает соединение с веб-сервером.

ESP всегда прослушивает входящих клиентов этой строкой:

Когда запрос получен от клиента, мы сохраним входящие данные. Последующий цикл while будет работать до тех пор, пока клиент остается подключенным. Мы не рекомендуем менять следующую часть кода, если вы точно не знаете, что делаете.

Следующий раздел операторов if и else проверяет, какая кнопка была нажата на вашей веб-странице, и соответственно контролирует результаты. Как мы видели ранее, мы делаем запрос на разные URL в зависимости от кнопки, которую нажимаем.

Например, если вы нажали кнопку GPIO 5 ON, URL-адрес изменится на IP-адрес ESP, а затем / 5 / ON, и мы получим эту информацию в заголовке HTTP. Итак, мы можем проверить, содержит ли заголовок выражение GET / 5 / on.

Если он содержится, код печатает сообщение на последовательном мониторе, изменяет значение переменной output5State на on и включает светодиод.

Это работает аналогично для других кнопок. Поэтому, если вы хотите добавить больше выходных данных, вы должны изменить эту часть кода, чтобы включить их.

Отображение веб-страницы HTML

Следующее, что вам нужно сделать, это создать веб-страницу. ESP отправит в ваш браузер ответ с текстом HTML для отображения веб-страницы.

Веб-страница отправляется клиенту с помощью функции client.println (). Вы должны ввести то, что вы хотите отправить клиенту в качестве аргумента.

Первый текст, который вы всегда должны отправлять, — это следующая строка, которая указывает, что мы отправляем HTML.

Затем следующая строка делает веб-страницу отзывчивой в любом веб-браузере.

Следующий используется для предотвращения запросов, связанных со значком: вам не нужно беспокоиться об этой строке.

Стилизация веб-страницы

Далее у нас есть немного CSS для стилизации кнопок и внешнего вида веб-страницы. Мы выбираем шрифт Helvetica, определяем содержимое, которое будет отображаться в виде блока и выравниваться по центру.

Мы стилизуем наши кнопки с некоторыми свойствами, чтобы определить цвет, размер, границу и т. д.

Затем мы определяем стиль для второй кнопки со всеми свойствами кнопки, которые мы определили ранее, но с другим цветом. Это будет стиль для кнопки выключения.

Отображение кнопок и соответствующего состояния

Затем вы пишете абзац для отображения текущего состояния GPIO 5. Как вы можете видеть, мы используем переменную output5State, поэтому состояние изменяется мгновенно при изменении этой переменной.

Затем мы отображаем кнопку включения или выключения, в зависимости от текущего состояния GPIO.

Мы используем ту же процедуру для GPIO 4.

Закрытие соединения

Наконец, когда ответ заканчивается, мы очищаем переменную заголовка и прекращаем соединение с клиентом с помощью client.stop ().

Arduino IDE

Для использования совместно с ESP8266 рекомендуется использовать Arduino IDE версии 1.6.5. Если у вас более ранняя версия, то можете попробовать и её или обновить IDE до версии 1.6.5.

  • Как только у вас будет установлена подходящая версия Arduino IDE, запустите программу, перейдите в меню File (Файл) → Preferences (Настройки) и найдите в диалоговом окне поле ввода Additional Board Manager URLs (Дополнительные ссылки для Менеджера плат)

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

    . Введите следующий URL точно, как он написан, и нажмите OK:

  • Затем нажмите Tools (Инструменты) → Board Manager (Менеджер плат) и прокрутите список вниз, чтобы найти «esp8266 by ESP8266 Community«. Выберите эту запись и нажмите кнопку Install (Установка); загрузка и установка начнутся и будут продолжаться несколько минут. Пока дополнение устанавливается, взгляните на поддерживаемые платформы. В дополнение к базовому модулю ESP826 обеспечивается поддержка NodeMCU, Huzzah и SweetPea. К тому моменту, когда вы будете читать данную статью, этот список возможно расширится.
  • Когда установка закончится, нажмите кнопку Close (Закрыть).
  • Теперь нажмите Tools (Инструменты), перейдите в список плат и выберите «Generic ESP8266 Module«.
  • Снова нажмите Tools (Инструменты) и убедитесь, что выбран Generic ESP8266 Module.
  • Нажмите File (Файл), Examples (Примеры) и прокрутите список вниз, пока не дойдете до ESP8266WiFi, а затем выберите WiFiScan. После этого должно будет открыться новое окно IDE со кодом примера WiFiScan.

Снова подключите схему к компьютеру и убедитесь, что на ESP-01 горит красный светодиод. Нажмите Tools (Инструменты), Port (Порт) и выберите порт, к которому подключен ESP-01. Наконец, вы готовы запрограммировать ESP-01.

Нажмите и удерживайте кнопку Reset, а затем нажмите и удерживайте кнопку Flash. Отпустите кнопку Reset и, удерживая нажатой кнопку Flash, нажмите кнопку со стрелкой Загрузка в Arduino IDE. Скетч должен скомпилироваться и загрузиться примерно за минуту, и когда компилирование будет завершено, отпустите кнопку Flash. Скомпилированный код будет отправлен в ESP-01; когда отправка будет завершена, на ESP-01 замигает синий светодиод.

Чтобы посмотреть результаты всех этих нажатий и выбираний, нажмите Tools (Инструменты), Serial Monitor (Монитор порта) и установите скорость передачи в правом нижнем углу окна монитора порта на 115200. Если у вас более ранняя версия ESP-01 (возможно на синей печатной плате), скорость передачи данных, скорее всего, равна 9600.

ESP-01 должен сканировать Wi-Fi сети и сообщать о результатах в окне монитора порта, как показано на примере ниже.

Результаты сканирования Wi-Fi сетей модулем ESP-01

Среди сообщений вы должны увидеть свою собственную сеть и все остальные сети, которые сумел поймать ESP-01

Числа в скобках показывают уровень сигнала сети (обратите внимание, что эти числа отрицательные; следовательно, уровень сигнала -41 выше, чем -92)

Об официальных и неофициальных платах

Команда NodeMCU опубликовала в фотографию, которая демонстрирует, как официальные платы V2 отличаются от неофициальных. Но я, честно говоря, не совсем понимаю термин «официальный». На мой взгляд, если речь об open-source, то понятия «официальные платы» просто не существует. Это может значить лишь, что Amica – это «подтвержденный» производитель, а DOIT и LoLin – нет.

Затем NodeMCU опубликовали в еще одно фото (см. ниже), где подробнее рассказали, что является официальным, а что – нет. Amica – это, по всей видимости, единственный производитель, который производит свои прототипные платы со стопроцентным соответствием с требованиями NodeMCU V2. Платы Amica не продаются на Banggood, но их можно купить на AliExpress и seeed studio.

Официальная прототипная плата NodeMCU 1.0/V2

Обновление прошивки ESP8266

Модуль ESP8266 замечателен тем, что не требует специального программатора — обновление прошивки производится на том же железе, на котором вы подключаете модуль ESP8266 к компьютеру, т.е. тоже через USB-TTL конвертер (ну или Arduino или RPi). Для обновление прошивки на модуле ESP8266 проделайте следующее:

3. Отключите от последовательного порта вашу терминальную программу

4. Отключите питание от модуля ESP8266, подключите GPIO0 к GND, включите питание модуля.

5. Запускайте XTCOM_UTIL для прошивки модуля и загружайте новую прошивку в модуль ESP8266.

Если программа при запуске выдает ошибку, то вам необходимо установить

или

первая ссылка для 32-битных систем, а вторая для 64 разрядных.

Загрузка прошивки в модуль обычно осуществляется на скорости 115200, но режим прошивки модуля поддерживает автоопределение скорости и прошивка может быть осуществлена на скорости от 9600 и выше. Максимальная скорость зависит от многих факторов (вашего USB-TTL конвертера, длины проводов и прочего) и может быть определена экспериментально на конфигурации именно вашего оборудования.

Запускаем XTCOM_UTIL

ESP8266 обновление прошивки через XTCOM_UTIL шаг 1

В меню Tools выбираем Config device

ESP8266 обновление прошивки через XTCOM_UTIL шаг 2

Выбираем последовательный порт, к которому подключен ESP8266, выставляем скорость 115200, жмем Open

ESP8266 обновление прошивки через XTCOM_UTIL шаг 3

Эта картинка просто промелькнет, если программе удастся успешно соединится с модулем в режиме загрузки прошивки. Если вы все же увидите эту картинку и счетчик подключений Try to connect times будет расти, значит что-то пошло не так и лучше начать все заново.

ESP8266 обновление прошивки через XTCOM_UTIL шаг 4

Если все прошло гладко, то получим Connect with target OK!

Жмем OK, закрываем окошко Config Device, в меню API TEST выбираем Flash Image Download 

Жмем Browse и выбираем файл прошивки, который хотим загрузить и Download

Начнется процесс прошивки модуля ESP8266

ESP8266 обновление прошивки через XTCOM_UTIL шаг 5

По окончание процесса, если все прошло гладко вы увидите Operation Succeeded

ESP8266 обновление прошивки через XTCOM_UTIL шаг 6

На этом процесс прошивки модуля завершен. Отключайте GPIO0 от GND, передергивайте питание модуля и подключайте свою терминальную программу — наслаждайтесь работой модуля ESP8266 с новой прошивкой.

P.S. Все программы для загрузки прошивки в модуль ESP8266 могут загружать ЛЮБЫЕ прошивки, т.е. как прошивки, основанные на AT командах, так и NodeMCU и прочие.

Описание ESP8266 NodeMcu v3

Технические характеристики модуля:

  • Поддерживает Wi-Fi протокол 802.11 b/g/n;
  • Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
  • Входное напряжение 3,7В – 20 В;
  • Рабочее напряжение 3В-3,6В;
  • Максимальный ток 220мА;
  • Встроенный стек TCP/IP;
  • Диапазон рабочих температур от -40С до 125С;
  • 80 МГц, 32-битный процессор;
  • Время пробуждения и отправки пакетов 22мс;
  • Встроенные TR переключатель и PLL;
  • Наличие усилителей мощности, регуляторов, систем управления питанием.

Отличия от других модификаций

Платы поколения V1 и V2 легко отличить – они обладают различным размером. Также второе поколение оснащено улучшенной модификацией чипа ESP-12 и 4 Мб флэш-памяти. Первая версия, устаревшая, выполнена в виде яркой желтой платформы. Использовать ее неудобно, так как она покрывает собой 10 выходов макетной платы. Плата второго поколения сделана с исправлением этого недостатка – она стала более узкой, выходы хорошо подходят к контактам платы. Платы V3 внешне ничем не отличаются от V2, они обладают более надежным USB-выходом. Выпускает плату V3 фирма LoLin, из отличий от предыдущей платы можно отметить то, что один из двух зарезервированных выходов используется для дополнительной земли, а второй – для подачи USB питания. Также плата отличается большим размером, чем предыдущие виды.

Где купить модули NodeMCU и ESP8266

Сегодня на рынке доступно множество достаточно недорогих модификаций плат на базе ESP8266. Мы сделали небольшую подборку наиболее интересных вариантов:

Питание модуля NodeMcu

Подавать питание на модуль можно несколькими способами:

  • Подавать 5-18 В через контакт Vin;
  • 5В через USB-разъем или контакт VUSB;
  • 3,3В через вывод 3V.

Преимущества NodeMcu v3

  • Наличие интерфейса UART-USB с разъемом micro USB позволяет легко подключить плату к компьютеру.
  • Наличие флэш-памяти на 4 Мбайт.
  • Возможность обновлять прошивку через USB.
  • Возможность создавать скрипты на LUA и сохранять их в файловой системе.

Недостатки модуля NodeMcu

Основным недостатком является возможность исполнять только LUA скрипты, расположенные в оперативной памяти. Этого типа памяти мало, объем составляет всего 20 Кбайт, поэтому написание больших скриптов вызывает ряд трудностей. В первую очередь, весь алгоритм придется разделять на линейные блоки. Эти блоки необходимо записать в отдельные файлы системы. Все эти модули исполняются при помощи оператора dofile.

При написании нужно соблюдать правило – при обмене данными между модулями нужно пользоваться глобальными переменными, а при вычислении внутри модулей – локальными

Также важно в конце каждого написанного скрипта вызывать функцию collectgarbage (сборщик мусора)

Схема прошивки

Улучшенная схема прошивки для модуля ESP-01 показана на следующей принципиальной схеме; в первоначальный дизайн было внесено несколько изменений:

  1. постоянное напряжение питания 3,3 В больше не снимается с преобразователя USB-TTL. Некоторые преобразователи не обеспечивают достаточный ток для надлежащей работы ESP8266, особенно когда он находится в режиме передачи Wi-Fi. Следует использовать отдельный, хорошо фильтруемый и стабилизированный источник питания 3,3 В постоянного напряжения, способный обеспечивать ток не менее 500 мА;
  2. конденсаторы C1 и C2 были добавлены для снижения уровня шума на шине питания. Они должны располагаться как можно ближе к выводам Gnd и Vcc ESP8266;
  3. R2 и R3 – это подтягивающие резисторы, которые были добавлены для того, чтобы выводы GPIO2 и GPIO0 ESP8266 никогда не «висели в воздухе».

Эти изменения не говорят, что исходная схема прошивки не работала; дело в том, что она действительно работала у автора статьи и многих других пользователей. Однако ее недостатки были такими, что схема могла и не работать у некоторых пользователей, по крайней мере, иногда. Эти сбои могут быть вызваны различными внешними факторами, качеством источника питания и допусками компонентов. Улучшенная схема должна устранить эти недостатки.

Схема программатора ESP8266

Улучшенная схема прошивки показана собранной на макетной плате на следующих фотографиях. Первая фотография показывает всю схему со вставленным модулем ESP-01; вторая фотография показывает схему без модуля ESP-01, чтобы показать места установки C2, R2 и R3

Обратите внимание, что цвета проводов на схеме соответствую обозначениям цветов на принципиальной схеме

Программатор, собранный на макетной плате, с установленным модулем ESP-01

Печатная плата справа на макете – это хорошо стабилизированный и фильтрованный источник питания 3,3 В постоянного напряжения. Для получения полной информации о создании копии этого источника питания смотрите эту статью. В противном случае вы можете использовать любой источник питания с аналогичными возможностями.

Печатная плата в левом верхнем углу макета – это преобразователь USB-TTL. Как вы видите, он вставлен непосредственно в макетную плату с помощью 6-пинового разъема Dupont, который установлен на нижней стороне платы. Вы можете модифицировать свой USB-TTL конвертер для установки именно таким же способом, или вы можете использовать для соединений отдельные провода. Что бы вы ни выбрали, обязательно следуйте схеме при соединении выводов

Обратите внимание, что требуются только три линии: RxD от преобразователя до TxD на ESP-01, TxD от преобразователя до RxD на ESP-01, и общий корпус

Несмотря на то, что преобразователь USB-TTL не используется для питания ESP-01, убедитесь, что преобразователь настрое на работу с постоянным напряжение 3,3 В, чтобы уровний напряжений сигналов не превышали допустимые значения ESP8266. Любое напряжение выше 3,3 В, поданное на ESP8266, может привести к его повреждению.

Программатор, собранный на макетной плате, с изъятым модулем ESP-01

На фотографии, приведенной выше, модуль ESP-01 был изъят из макета, чтобы показать самодельный адаптер для ESP-01. На фотографии ниже слева показан почти такой же адаптер, а справа – адаптер от Addicore. Они работают одинаково и облегчают использование модуля ESP-01 на беспаечной макетной плате или любом подобном устройстве с разъемами с шагом 0,1 дюйма (2,54 мм).

Адаптеры для подключения ESP-01 к беспаечной макетной плате

Как только вы завершите сборку своего программатора, настанет время для тестирования. Но перед подключением USB кабеля или подачей питания перепроверьте разводку, особенно линии питания. Лучше потратить несколько дополнительных минут, чем повредить что-либо из-за неправильной разводки.

Сначала подключите USB кабель от компьютера к конвертеру USB-TTL. Положительным признаком является загорание красного светодиода в углу печатной платы, близкому к разъему USB, и распопознавание USB конвертера компьютером

На этом этапе обратите внимание на то, какой номер COM порта был назначен конвертеру. Как вы можете видеть на фотографиях, у меня преобразователю был назначен COM4

Затем подайте на программатор питание 3,3 В постоянного напряжения. Вы должны увидеть пару вспышек синего светодиода на модуле ESP-01, а красный светодиод на модуле должен гореть постоянно.

Теперь нажмите и отпустите SW1 (кнопка сброса); синий светодиод должен замигать. Затем нажмите и отпустите SW2 (кнопка программирования); не должно произойти ничего заметного.

Если всё идет по плану, ваша схема прошивки, вероятно, работает правильно. Настало время выполнить окончательную проверку: ответит ли ESP8266, когда вы обратитесь к нему?

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий