Оглавление:

3 простых способа программирования модуля ESP8266 12X: 5 шагов (с изображениями)
3 простых способа программирования модуля ESP8266 12X: 5 шагов (с изображениями)

Видео: 3 простых способа программирования модуля ESP8266 12X: 5 шагов (с изображениями)

Видео: 3 простых способа программирования модуля ESP8266 12X: 5 шагов (с изображениями)
Видео: 3 простых способа программирования модуля ESP-12 2024, Ноябрь
Anonim
3 простых способа программирования модуля ESP8266 12X
3 простых способа программирования модуля ESP8266 12X

Если вы не знакомы с микроконтроллером ESP8266, я действительно чувствую, что вы упустили его! Эти вещи невероятны: они дешевы, мощны и, что самое главное, имеют встроенный Wi-Fi! ESP8266 начал свое путешествие как добавление Wi-Fi для более традиционных плат Arduino, но вскоре после этого сообщество осознало их силу и добавило поддержку чтобы иметь возможность программировать напрямую с помощью Arduino IDE.

В наши дни, если вы хотите использовать ESP8266 для своего проекта, я бы порекомендовал использовать плату для разработки, такую как Wemos D1 Mini * (2,50 доллара США доставлено !!) или Adafruit Feather Huzzah. На этих платах выломаны все полезные контакты, они легко программируются через разъем micro USB и имеют встроенный регулятор 3,3 В. Но что, если вы хотите использовать ESP8266 в проекте с нестандартной печатной платой? Самый простой способ - использовать модуль ESP12, и в этом руководстве я покажу вам несколько простых способов их программирования. * = Партнерская ссылка

Шаг 1. Посмотрите видео

Вот видео со всей информацией, содержащейся в Instructable, если вы хотите это проверить. На моем канале я много работаю с ESP8266, поэтому мой канал в целом, возможно, стоит проверить, если вас интересуют такие вещи!

Шаг 2: Предварительный шаг: настройка для программирования ESP8266

Image
Image

Если вы никогда раньше не использовали ESP8266 или Arduino, нам потребуется немного настроить программное обеспечение. У меня есть для этого специальный видеоролик. Он длится всего 5 минут и включает в себя все, что вам нужно для настройки.

Если видео вам не по душе, ознакомьтесь с уроком 2 потрясающего IoT-класса Бекки, он также охватывает все, что вам нужно.

Прежде чем перейти к следующему разделу, вы должны иметь возможность загрузить простой скетч в ESP8266 (например, пример мигания, упомянутый как в видео, так и в уроке Бекки).

Шаг 3. Метод 1. Программатор булавок "лягушка"

Способ 1
Способ 1

Вероятно, это самый простой способ запрограммировать модуль ESP12. Вы просто вставляете модуль в плату, а затем он ведет себя точно так же, как одна из упомянутых ранее плат для разработки. Я выбрал плату Wemos D1 Mini из раскрывающегося списка плат при программировании. У этого метода есть следующие недостатки:

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

Тот, который я купил, - у Aliexpress, но я считаю, что оригинальный дизайнер - пользователь Tindie по имени Фред. В то время они были распроданы, поэтому я остановился на Aliexpress, но я свяжусь с обоими.

  • Программатор всплывающих модулей ESP на Aliexpress *
  • Программист модуля ESP Fred's Frog Pin

* = Партнерская ссылка

Шаг 4: Метод 2: Использование практически любого преобразователя USB в последовательный порт

Метод 2: использование практически любого преобразователя USB в последовательный порт
Метод 2: использование практически любого преобразователя USB в последовательный порт
Метод 2: использование практически любого преобразователя USB в последовательный порт
Метод 2: использование практически любого преобразователя USB в последовательный порт
Метод 2: использование практически любого преобразователя USB в последовательный порт
Метод 2: использование практически любого преобразователя USB в последовательный порт

Для следующего метода мы собираемся вручную перевести модуль ESP в режим программирования, а затем использовать практически любой USB-последовательный преобразователь для программирования ESP8266, даже этот PL2303 *, который стоит 50 центов, работает!

Нормальная операция:

Прежде чем мы начнем программировать, нам сначала нужно взглянуть на то, какие внешние компоненты должны запускаться ESP8266. Для нормальной работы модулю ESP-12 необходимы следующие

  • EN, RST и GPIO 0 необходимо подтянуть к высокому уровню с помощью резистора 10 кОм.
  • GPIO 15 необходимо заземлить с помощью резистора 10 кОм.
  • Источник питания 3,3 В, обеспечивающий ток около 250 мА (рекомендуется установить конденсатор между VCC и GND)

С приведенной выше конфигурацией ESP8266 при включении будет находиться в нормальном рабочем режиме, поэтому он будет запускать любые наброски, которые вы для него запрограммировали. Вы можете купить коммутационные платы для модулей ESP-12 *, которые действительно полезны для тестирования различных настроек. В модулях установлены резисторы для 15-контактного разъема EN и GPIO, поэтому вам все равно потребуется добавить подтягивающий резистор для RST и GPIO 0,

Включение режима программирования:

Чтобы перевести его в режим программирования, при запуске ESP необходимо установить низкий уровень GPIO 0. Самый простой способ сделать это - добавить кнопки к GPIO 0 и контакту RST, которые подключаются к земле при нажатии. Затем, чтобы включить режим вспышки, вы просто

  • Удерживайте кнопку GPIO 0
  • Нажмите кнопку RST
  • Затем отпустите обе кнопки

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

Программирование с помощью адаптера USB-последовательный порт:

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

Чтобы подключить программатор, вам необходимо подключить следующие контакты (также показаны на изображении выше):

  • Подключите TX программатора к RX ESP8266 (не опечатка, подключения поменяны местами)
  • Подключите RX программатора к TX ESP8266
  • Подключите заземление программатора к заземлению ESP8266.

Чтобы загрузить свой скетч, выполните следующие действия:

  • Выберите номер порта вашего последовательного адаптера (Инструменты-> Порт)
  • Включите режим программирования на вашем ESP8266, как описано выше.
  • Щелкните кнопку загрузки. (Если это не удается, дважды проверьте вашу проводку и попробуйте снова перевести плату в режим программирования)
  • Нажмите кнопку сброса, когда загрузка будет завершена.

Вот настройки платы, которые я использовал при загрузке этим методом:

  • Плата: Универсальный модуль ESP8266
  • Режим вспышки: DIO
  • Размер вспышки: 4M (3M Spiffs)
  • Метод сброса: ck
  • Частота вспышки: 40 МГц
  • Скорость загрузки: 115200

Последнее, на что следует обратить внимание, это определение LED_BUILIN для универсального модуля ESP8266, указывающее на контакт 1, но встроенный светодиод модуля ESP12 подключен к контакту 2 (он также активен на низком уровне, как и FYI). Поэтому, если вы тестируете скетч мигания, вам нужно будет использовать цифру 2, а не LED_BUILTIN.

* = Партнерская ссылка

Шаг 5: Метод 3: автоматический сброс программатора с помощью NodeMCU

Метод 3: автоматический сброс программатора с помощью NodeMCU
Метод 3: автоматический сброс программатора с помощью NodeMCU
Метод 3: автоматический сброс программатора с помощью NodeMCU
Метод 3: автоматический сброс программатора с помощью NodeMCU

Если вы использовали какие-либо платы разработки ESP, вы заметили, что в основном все они не требуют, чтобы вы вручную включали режим программирования с помощью кнопок, так как же они это делают?

Большинство микросхем USB-последовательный порт имеют дополнительные контакты, которые выводят сигналы на разных этапах процесса загрузки, и с помощью некоторых внешних схем можно вызвать низкий уровень GPIO 0 и необходимые сбросы. У RuiMoteiro есть инструкции по этой теме с использованием платы FTDI и ESP8266.

Но я думаю, что есть более простой подход к этому, и что еще лучше, есть большая вероятность, что у вас уже есть все, что вам нужно для этого! Вы можете использовать отладочную плату ESP8266, такую как NodeMCU, в качестве программиста *.

В чем преимущество использования NodeMCU?

Основные преимущества использования NodeMCU в качестве программиста следующие:

  • Вы можете запитать ESP8266 напрямую от контактов 3V NodeMCU.
  • Будет обрабатывать автоматический сброс / включение режима программирования
  • Стоимость доставки составляет около 2,50 долларов США (и ее можно использовать как обычную доску для разработчиков, если вы не программируете другие!)

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

Как это работает?

Я получил идею об этом от ютубера по имени Мика Куркела, в своем видео он использовал NodeMCU для программирования модуля ESP-01, но мы можем использовать ту же идею для модуля ESP12.

В основном мы собираемся отключить ESP8266 на NodeMCU, установив низкий уровень на контакте EN, это предотвратит загрузку модуля ESP8266 на NodeMCU. Затем мы собираемся подключить все соответствующие контакты платы NodeMCU к нашему внешнему ESP8266.

Подключение его

Чтобы подключить его, вам понадобится стандартная проводка ESP8266, как показано на предыдущем шаге, а затем добавить следующие подключения (также показаны на изображении выше):

  • Подключите 3 В NodeMCU к VCC ESP8266
  • Подключите GND к GND
  • Подключите TX NodeMCU к TX ESP8266 (это отличается от предыдущего шага)
  • Подключите RX NodeMCU к RX ESP8266
  • Подключите D3 NodeMCU к GPIO 0 ESP8266 (D3 - GPIO 0 ESP8266)
  • Подключите RST NodeMCU к RST ESP8266
  • Подключите EN NodeMCU к GND

Загрузка скетча

После того, как вы подключили ESP8266, вам необходимо сделать следующее:

  • Выберите номер порта NodeMCU (Инструменты-> Порт)
  • Выберите тип платы «NodeMCU 1.0 (модуль ESP12-E)»
  • Нажмите "Загрузить"

Вот и все! Он автоматически включит режим программирования и автоматически сбросится после завершения загрузки, чтобы начать выполнение скетча.

Использование этого в дизайне ваших досок

Чтобы использовать этот метод в дизайне вашей платы, вам просто нужно выломать следующие штыри:

  • Земля
  • GPIO 0
  • VCC
  • Техас
  • RX
  • RST

И когда вы хотите запрограммировать свои платы, подключите их, как указано выше.

Надеюсь, вы найдете это руководство полезным, если у вас есть какие-либо вопросы, не стесняйтесь их задавать!

* = Партнерская ссылка

Рекомендуемые: