error: espcomm_upload_mem falhou ao fazer upload de um sketch

2

Eu sou novo em toda a cena do arduino. Conectei meu módulo wifi (esp8266 v01) ao meu arduino Uno desta maneira:

http://www.teomaragakis.com/hardware/electronics/how-to-connect-an-esp8266-to-an-arduino-uno/

E baixei a estrutura do arduino ide para que eu possa usar o arduino IDE em vez de enviar comandos AT através do monitor serial.

Ao tentar fazer upload de um esboço de exemplo que envia uma solicitação http que encontrei no github, recebo o seguinte erro:

    Arduino: 1.8.4 (Windows 8.1), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

Archiving built core (caching) in: C:\Users\Yasmeen\AppData\Local\Temp\arduino_cache_354217\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____9d1d735445f8d7bf19746e2177d24e71.a
Sketch uses 285417 bytes (65%) of program storage space. Maximum is 434160 bytes.
Global variables use 38688 bytes (47%) of dynamic memory, leaving 43232 bytes for local variables. Maximum is 81920 bytes.
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
error: failed reading byte
warning: espcomm_send_command: cant receive slip payload data
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed
error: espcomm_upload_mem failed

Depois de pesquisar on-line e pesquisar, posso ver que isso tem algo a ver com a atualização do firmware ou algo assim. Me deparei com esta pergunta:

Erro ESP8266: espcomm_upload_mem falhou ao fazer upload do esboço

e a resposta disse que ele comprou um conversor .. o que isso significa? Isso significa comprar isso ?: https://www.amazon.co.uk/gp/product/B06Y3FNGJF/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

Eu realmente preciso de ajuda, estou preso a isso nos últimos dias e agora pensando seriamente em obter o escudo wifi do arduino, pois ele vem pré-construído com o wifi .. mesmo que custe bastante!

dfqupwndguerrillamailde
fonte
1
Você And since we talked about the CH_PD pin, remember that if you want to flash the ESP8266 you should connect the GPIO0 pin to GND (blue line), which puts the ESP into flash mode.
anotou
@Majenko Posso enviar comandos AT com o módulo, por isso não devo estar no modo flash ao tentar enviar uma solicitação http? Além disso, piscar significa atualizar o firmware no esp2866?
precisa saber é o seguinte
> Para resolver o problema, faça isso>> curto o pino GPIO 0 (D3) para aterrar usando um fio de ponte. > pressione o botão de redefinição> faça o upload do esboço> remova o fio do jumper. Feito!!!! Obrigado por esta nota que resolveu o meu problema
Duvy

Respostas:

1

O ESP8266 possui dois "modos". Modo "Run" e "Flash". No modo "Executar", o firmware instalado no ESP8266 é executado. O firmware padrão é o firmware AT que permite controlar o dispositivo com comandos AT através de serial.

Observe que o site ao qual você vincula tem informações incorretas sobre CH_PD que deveriam estar falando sobre GPIO0.

No modo "Flash", você pode enviar um novo firmware (também conhecido como "esboço") para fazer o dispositivo fazer algo diferente.

A sequência de programação básica é:

  1. Alterne o dispositivo para o modo Flash (conecte GPIO0 a GND)
  2. Carregar o esboço usando o IDE
  3. Mude o dispositivo para o modo Run (conecte GPIO0 a 3.3V).

Devido a essas etapas extras, muitas pessoas optam por investir em uma pequena placa de interface USB projetada especificamente para programar o ESP8266 para facilitar sua vida. Geralmente, eles possuem um interruptor para definir se o GPIO0 está conectado ao GND ou ao 3.3V.

Majenko
fonte
Obrigado pelo esclarecimento. Realmente ajuda. Tenho ligado a CH_PD para GND, eu tento executar o esboço, mas ainda muito bonito obter o mesmo erro: warning: espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed error: espcomm_upload_mem failedNão tenho certeza o que está acontecendo de errado
dfqupwndguerrillamailde
Adquira um adaptador. Isso torna tudo muito mais simples. Eles são muito baratos no eBay.
Majenko
Este adaptador funcionaria ?: amazon.co.uk/gp/product/B06Y3FNGJF/…
dfqupwndguerrillamailde
Isto está incorreto. CH_PD liga ou desliga o chip. Eu acho que você quer dizer GPIO0
tttapa
@tttapa Eu pensei que era GPIO0 também, mas o site vinculado na pergunta diz CH_PD.
Majenko
1

Por padrão, o ESP8266 executa o programa na memória flash. Para fazer upload de novo firmware pelo UART, é necessário alterar o modo de inicialização conectando o GPIO0 ao terra durante a redefinição. O GPIO15 deve estar baixo e o GPIO2 deve estar alto durante a inicialização nos dois casos. O GPIO precisa de um resistor pull-down externo, o resistor pull-up interno do GPIO2 é ativado durante a inicialização, para que você não precise adicionar um resistor externo.
Para evitar o curto-circuito do GPIO0, se for usado como saída em seu esboço, é recomendável adicionar um resistor em série para limitar a corrente.

Esquemático ESP8266

Para fazer upload de um esboço :
1. pressione e segure o botão de redefinição
2. pressione e segure o botão de programa
3. solte o botão de redefinição, o ESP inicializará no modo de programa
4. solte o botão de programa
5. faça o upload do esboço

Se o seu USB-para-serial interromper as linhas RTS e / ou DTR, você poderá automatizar os procedimentos do modo de redefinição e programação .

tttapa
fonte
0

dependendo do cabo de velocidade USB que você está usando, às vezes esse problema geralmente ocorre se eu usar um cabo que não é adequado. se sua configuração de com é 9600, você deve configurar a velocidade de upload no menu Ferramentas -> velocidade de upload mais rápida que 9600 ... para exp: 57600. Isso deve funcionar!

cnmycrl596812
fonte
a 9600 baud, o upload inicia, mas falha no meio devido a problemas com o esptool usado no pacote Arduino esp8266 até a versão 2.4.1. Começando 2.5.0 esptool.py é usado
Juraj
0

Eu tive o mesmo problema ao fazer o upload para o NodeMCU.

O problema era que o modo não foi selecionado program modemesmo após as etapas abaixo:

  1. pressione e segure o botão de reset
  2. pressione e segure o botão de programa
  3. solte o botão de reset, o ESP será inicializado no modo de programa
  4. solte o botão do programa
  5. faça o upload do esboço

Para resolver o problema, faça o seguinte:

  1. Coloque o pino GPIO 0 (D3) no aterramento usando um fio de ponte.
  2. pressione o botão reset
  3. faça o upload do esboço
  4. remova o fio de ligação em ponte

Feito!!!!

alex joshy
fonte
0

Esta é uma das soluções simples que funcionou para mim:

  1. Desconecte a conexão USB com o computador;
  2. Segure o botão flash no nodemcu / esp8266;
  3. Conecte a conexão usb e solte rapidamente o botão flash;
  4. Agora tente fazer o upload do esboço.

Obrigado.

Jithin Pal
fonte