2015-07-12 2 views
5

Синий светодиод мигает после включения модуля, красный остается включенным, я даже могу подключиться к нему через Wi-Fi. Но я не могу запрограммировать его. Я попробовал Arduino IDE, различные прошивки (например, NodeMCU, XTCOM). Я использую Arduino Mega.Не удается запрограммировать ESP8266

Вот моя начальная настройка:

VCC - 3.3 V on Arduino 
RST - nothing 
CH_PD - 3.3 V on Arduino 
TX - RX on Arduino (TX is transmitting data to RX, so I don't need a voltage divider, right?) 
RX - voltage divider (R1 = 10K, R2 = 20K) - TX on Arduino 
GPIO0 - GND on Arduino 
GPIO2 - nothing 
GND - GND on Arduino 

Затем я попытался загрузить эскиз из Arduino IDE и получил следующее сообщение об ошибке:

warning: espcomm_sync failed 
error: espcomm_open failed 

После попытки различных Иды, программистов, последовательный порт, я пытался прошивки, чтобы хотя бы увидеть, могу ли я с ним общаться. Например, NodeMCU только показал «Ожидание MAC» с GPIO0 на землю и без.

Я также попытался подключить TX к TX и RX к RX, но получил те же результаты. Пробовал подключать RX через делитель напряжения.

С помощью этой установки синий светодиод постоянно включался. Я вспомнил, где-то читал, что это может произойти из-за недостаточного питания, , поэтому я также попытался подключить оба контакта без делителей напряжения (синий светодиод все еще мигает после включения питания, поэтому, надеюсь, я их не сжигал). Я также пытался подключить GPIO0 к 3,3 В и не подключать его ни к чему вообще, подключив RST к 3,3 В, подключив GPIO2 к земле. На Mega есть 4 комплекта TX и RX булавки, так что я пытался их всех TX/RX0,1,2 и 3.

Еще не знаю, что происходит :(

ответ

12

Причиной может быть один из двух вещей:

  1. Недостаточная мощность Попробуйте питания ESP8266 от внешнего источника питания 3,3В, такие как поставка лабораторного два полностью заряженные батареи типа АА должны сделать трюк слишком Убедитесь, что GND булавку вашего последовательного адаптера... также подключается к выходу GND ESP для обеспечения общей заземления.

  2. ESP8266 не находится в режиме программирования. Убедитесь, что GPIO0 подключен к GND и выключите и снова включите ESP. Затем он загрузится в режим программирования. После программирования вы можете отключить GND.

EDIT:

С этого поста, я на самом деле столкнулись с третьей, более печально известной причине. Некоторые модули ESP8266 (особенно пакеты ESP-12) на самом деле поставляются с альтернативной непрофильной прошивкой на них. В этом случае вам необходимо обновить прошивку на ESP. Here - отличный учебник о том, как это сделать. Я настоятельно рекомендую использовать инструмент загрузки ESP Flash, который, к сожалению, относится только к Windows, но менее подвержен ошибкам, чем выполнение его в последовательном терминале. Но прежде чем отправиться в это путешествие, убедитесь, что причина не № 1 или № 2.

+0

Это был режим программирования для меня. На моей модели, удерживая кнопку вспышки и нажав кнопку сброса на доске, было достаточно, чтобы перевести ее в режим программирования. Благодаря! –

+0

Приятно слышать, что у вас это работает! – mikevanis

1

Когда вы подключаете его к своему последовательному порту, установите бод на 74880 и подайте питание, вы увидите начальную информацию об отбросе, выгруженную в последовательный порт.

Вы должны увидеть что-то вроде этого:

ets Jan 8 2013,rst cause:2, boot mode:(3,6) 

load 0x40100000, len 29936, room 16 
tail 0 
chksum 0xee 
load 0x3ffe8000, len 2304, room 8 
tail 8 
chksum 0x51 
load 0x3ffe8900, len 8, room 0 
tail 8 
chksum 0x9e 
csum 0x9e 

Если вы держите GPIO вниз при загрузке (для входа в режим вспышки) вы должны увидеть эту

ets Jan 8 2013,rst cause:2, boot mode:(1,6) 

Обратите внимание на переход от (3, 6) - (1,6)

Если вы ничего не видите, проверьте двойные соединения TX <> RX и GND.

0

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

Что нужно помнить при работе с ESP8266-01:

  1. Вы должны нужен хороший источник питания 3,3 В постоянного тока для ESP8266, чтобы заставить его работать. Не следует обеспечить 3,3 В от Arduino вместо LM1117-3.3 регулятор напряжения для обеспечения мощности ESP. Также важно, чтобы регулятор напряжения должен иметь входное напряжение выше 7 В или 9 В. Не кормите Arduino 5V этим регулятором.
  2. R1 должен быть 1K, а R2 - 2K. Для получения дополнительной информации см. Схему, приведенную в следующей статье для ESP8266-01.
  3. Конфигурация контактов для мигания/программирования ESP8266-01, см. Следующую статью.

Просто следуйте раздел моей статьи в "Deploy -> ESP8266-01 Эскиз": https://www.hackster.io/AnuragVasanwala/windows-10-iot-core-hydroflyer-f83190

Смежные вопросы