2015-07-12 15 views
5

Il led blu lampeggia dopo aver acceso il modulo, il rosso rimane acceso, posso anche collegarlo via wifi. Ma non posso programmarlo. Ho provato Arduino IDE, diversi firmware flashers (come NodeMCU, XTCOM). Sto usando Arduino Mega.Impossibile programmare ESP8266

Ecco la mia configurazione iniziale:

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 

poi ho provato a caricare un disegno da Arduino IDE e ottenuto il seguente errore:

warning: espcomm_sync failed 
error: espcomm_open failed 

Dopo aver provato diversi IDE, programmatori, porta seriale ho provato firmware lampeggia per vedere se riesco a comunicare con esso. NodeMCU ad esempio solo ha mostrato "In attesa di MAC" con GPIO0 a terra e senza.

Ho anche provato a collegare TX a TX e RX a RX ma ho ottenuto gli stessi risultati. Ho provato a collegare RX attraverso un partitore di tensione.

Con questa configurazione il led blu era costantemente acceso. Mi sono ricordato di aver letto da qualche parte che ciò potrebbe accadere a causa di un'alimentazione insufficiente, così ho provato anche a collegare entrambi i pin senza i divisori di tensione (il led blu lampeggia ancora dopo l'accensione quindi spero di non averli masterizzati). Ho anche provato a collegare GPIO0 a 3.3V e non a collegarlo a niente, collegando RST a 3.3V, collegando GPIO2 a terra. Su Mega ci sono 4 serie di TX e RX perni, quindi li ho provato TX/RX0,1,2 e 3.

ancora idea di cosa succede :(

risposta

12

La causa può essere uno di due cose:

  1. potenza insufficiente Cercate di alimentare l'ESP8266 da un alimentatore da 3,3 V esterno, ad esempio una fornitura laboratorio di due batterie AA completamente cariche dovrebbe fare il trucco troppo assicurarsi pin GND del vostro adattatore seriale... è inoltre collegato al pin GND dell'ESP per fornire un terreno comune

  2. ESP8266 non è in modalità di programmazione. Assicurarsi che GPIO0 sia collegato a GND e spegnere e riaccendere l'ESP. Verrà quindi avviato in modalità di programmazione. Una volta programmato, puoi toglierlo da GND.

EDIT:

Da questo post, ho effettivamente incontrato una terza ragione, più noto. Alcuni moduli ESP8266 (in particolare i pacchetti ESP-12) in realtà sono dotati di firmware alternativo non core su di essi. In questo caso, è necessario aggiornare il firmware sull'ESP. Here è un ottimo tutorial su come farlo. Consiglio vivamente di utilizzare lo strumento ESP Flash Download che purtroppo è solo per Windows, ma è meno soggetto a errori rispetto a farlo in un terminale seriale. Ma prima di intraprendere questo viaggio, assicurati che la causa non sia la # 1 o # 2.

+0

È stato modalità di programmazione per me. Sul mio modello, tenendo premuto il pulsante Flash e premendo il pulsante di ripristino sulla scheda è stato sufficiente metterlo in modalità di programmazione. Grazie! –

+0

È bello sapere che hai funzionato! – mikevanis

1

Quando lo si collega alla porta seriale, impostare il baud su 74880 e applicare la potenza si dovrebbero vedere le informazioni di debug iniziali scaricate sul seriale.

Si dovrebbe vedere qualcosa di simile:

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 

Se siete in possesso GPIO giù al boot (per accedere alla modalità flash) si dovrebbe vedere questo

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

notare il cambiamento da (3, 6) a (1,6)

Se non viene visualizzato nulla, controllare le connessioni TX <> RX e GND.

0

Ho avuto lo stesso problema all'inizio ma ho risolto più tardi.
Ho fornito il link alla fine della risposta. Seguilo e basta

Cose da ricordare quando si lavora con ESP8266-01:

  1. è necessario bisogno di una buona fonte di energia per 3.3VDC ESP8266 per farlo funzionare. Non fornire 3.3V da Arduino invece utilizzare LM1117-3.3 regolatore di tensione per fornire alimentazione ESP. È inoltre fondamentale che il regolatore di tensione LM1117-3.3 abbia una tensione di ingresso superiore a 7V o 9V. Non alimentare il 5V di Arduino con questo regolatore.
  2. R1 dovrebbe essere 1K e R2 dovrebbe essere 2K. Per ulteriori informazioni, si prega di fare riferimento allo schema che ho fornito nel seguente articolo per ESP8266-01.
  3. Configurazione pin per lampeggio/programmazione ESP8266-01, vedere l'articolo successivo.

Basta seguire la sezione del mio articolo "Deploy -> ESP8266-01 Sketch": https://www.hackster.io/AnuragVasanwala/windows-10-iot-core-hydroflyer-f83190

Problemi correlati