Sommario:

3 semplici modi per programmare un modulo ESP8266 12X: 5 passaggi (con immagini)
3 semplici modi per programmare un modulo ESP8266 12X: 5 passaggi (con immagini)

Video: 3 semplici modi per programmare un modulo ESP8266 12X: 5 passaggi (con immagini)

Video: 3 semplici modi per programmare un modulo ESP8266 12X: 5 passaggi (con immagini)
Video: 3 Simple ways of programming an ESP-12 Module 2024, Novembre
Anonim
3 semplici modi per programmare un modulo ESP8266 12X
3 semplici modi per programmare un modulo ESP8266 12X

Se non hai familiarità con il micro controller ESP8266, sento davvero che ti sei perso! Queste cose sono incredibili: sono economiche, potenti e, soprattutto, hanno il WiFi integrato! ESP8266 ha iniziato il suo viaggio come aggiunta WiFi per schede Arduino più tradizionali, ma poco dopo, la community ha realizzato la potenza di queste funzionalità e ha aggiunto il supporto poter programmare direttamente con l'IDE di Arduino.

In questi giorni, se stai cercando di utilizzare un ESP8266 per il tuo progetto, consiglierei di utilizzare una scheda di sviluppo come Wemos D1 Mini* ($ 2,50 consegnati!!) o Adafruit Feather Huzzah. Queste schede hanno tutti i pin utilizzabili, sono facilmente programmabili tramite il loro connettore micro USB e hanno un regolatore da 3,3 V integrato. Ma cosa succede se si desidera utilizzare un ESP8266 in un progetto con un PCB personalizzato? Il modo più semplice è utilizzare un modulo ESP12 e in questo Instructable ti mostrerò un paio di semplici modi per programmarli.* = Link di affiliazione

Passaggio 1: guarda il video

Ecco un video con tutte le informazioni contenute in Instructable se ti piace dargli un'occhiata. Sul mio canale lavoro molto con gli ESP8266, quindi il mio canale in generale forse vale la pena dare un'occhiata se quel genere di cose ti interessa!

Passaggio 2: pre-passo: configurazione per la programmazione di ESP8266

Image
Image

Se non hai mai usato ESP8266 o Arduino prima, avremo bisogno di un po' di configurazione del software. Ho un video dedicato per questo. Dura solo 5 minuti e passa attraverso tutto il necessario per la configurazione.

Se i video non fanno per te, dai un'occhiata alla lezione 2 della fantastica classe IoT di Becky, che tratta anche di tutto ciò di cui hai bisogno.

Prima di passare alla sezione successiva dovresti essere in grado di caricare un semplice schizzo su un ESP8266 (come l'esempio di lampeggio menzionato sia nel video che nella lezione di Becky)

Passaggio 3: Metodo 1: Programmatore di pin "Frog"

Metodo 1
Metodo 1

Questo è probabilmente il modo più semplice per programmare un modulo ESP12. In pratica basta inserire il modulo nella scheda e quindi si comporta esattamente come una delle schede di sviluppo menzionate in precedenza. Ho selezionato la scheda Wemos D1 Mini dal menu a discesa delle schede durante la programmazione. Gli aspetti negativi di questo metodo sono:

  • Il programmatore è un po' costoso se stai realizzando solo poche schede.
  • Le schede possono essere programmate in questo modo solo prima di essere saldate al PCB

Quello che ho comprato è da Aliexpress, ma credo che il designer originale sia un utente di Tindie chiamato Fred. All'epoca erano esauriti, quindi ho finito per scegliere quello di Aliexpress, ma collegherò entrambi.

  • Programmatore di moduli ESP pop-in di Aliexpress*
  • Programmatore del modulo ESP di Fred's Frog Pin

* = Link di affiliazione

Passaggio 4: Metodo 2: utilizzo fondamentalmente di qualsiasi convertitore da USB a seriale

Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale
Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale
Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale
Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale
Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale
Metodo 2: utilizzo di qualsiasi convertitore da USB a seriale

Per il prossimo metodo metteremo manualmente il modulo ESP in modalità di programmazione e quindi utilizzeremo praticamente qualsiasi convertitore da USB a seriale per programmare ESP8266, anche questo PL2303* che costa 50c consegnato!

Operazione normale:

Prima di iniziare a programmare, dobbiamo prima dare un'occhiata ai componenti esterni di cui ha bisogno l'ESP8266. Per il normale funzionamento un modulo ESP-12 ha bisogno di quanto segue

  • EN, RST e GPIO 0 devono essere tirati in alto usando un resistore da 10K
  • GPIO 15 deve essere messo a terra usando un resistore da 10K
  • Alimentatore da 3,3 V in grado di erogare circa 250 mA di corrente (si consiglia un limite tra VCC e GND)

Con la configurazione di cui sopra, l'ESP8266 all'accensione sarà in modalità operativa normale, quindi eseguirà tutti gli schizzi programmati su di esso. Puoi acquistare schede breakout per i moduli ESP-12* che sono davvero utili per testare le diverse configurazioni. I moduli hanno la configurazione dei resistori per il pin EN e GPIO 15, quindi sarà comunque necessario aggiungere il resistore di pull-up per RST e GPIO 0,

Abilitazione modalità di programmazione:

Per farlo entrare in modalità di programmazione, GPIO 0 deve essere abbassato all'avvio dell'ESP. Il modo più semplice per farlo è aggiungere pulsanti a GPIO 0 e al pin RST che si collegano a terra quando vengono premuti. Quindi, per abilitare la modalità flash, è sufficiente

  • Tieni premuto il pulsante GPIO 0
  • Premi il pulsante RST
  • Quindi rilascia entrambi i pulsanti

Non è necessario eseguire questa sequenza in nessun momento particolare durante il processo di caricamento o altro, una volta che l'ESP è in modalità di programmazione rimarrà lì fino al prossimo ripristino, quindi esegui i passaggi in qualsiasi momento prima del caricamento.

Programmazione con un adattatore da USB a seriale:

L'abilitazione della modalità di programmazione è solo metà della battaglia, ora è necessario programmare effettivamente il modulo. La maggior parte degli adattatori da USB a seriale non è in grado di fornire abbastanza corrente all'ESP8266, quindi si consiglia di alimentare l'ESP8266 utilizzando una sorgente esterna da 3,3 V.

Per cablare il programmatore è necessario collegare i seguenti pin (mostrati anche in un'immagine sopra):

  • Collegare TX del programmatore a RX dell'ESP8266 (non è un errore di battitura, i collegamenti sono invertiti)
  • Connetti RX del programmatore a TX di ESP8266
  • Collegare la terra del programmatore alla terra dell'ESP8266

Per caricare il tuo schizzo, procedi come segue:

  • Seleziona il numero di porta del tuo adattatore seriale (Strumenti->Porta)
  • Abilita la modalità di programmazione sul tuo ESP8266 come descritto sopra
  • Fare clic sul pulsante di caricamento. (Se fallisce, ricontrolla il cablaggio e prova a riportare la scheda in modalità di programmazione)
  • Fare clic sul pulsante di ripristino quando il caricamento è terminato

Ecco le impostazioni della scheda che ho utilizzato durante il caricamento utilizzando questo metodo:

  • Scheda: modulo ESP8266 generico
  • Modalità flash: DIO
  • Dimensione del flash: 4M (3M di spiff)
  • Metodo di ripristino: ck
  • Frequenza flash: 40 MHz
  • Velocità di caricamento: 115200

L'ultima cosa da notare è che la definizione LED_BUILIN per un modulo ESP8266 generico punta al pin 1, ma il LED integrato di un modulo ESP12 è collegato al pin 2 (è attivo anche basso proprio come un FYI). Quindi, se stai testando uno schizzo lampeggiante, dovrai utilizzare il numero 2 anziché LED_BUILTIN

* = Link di affiliazione

Passaggio 5: Metodo 3: Programmatore di ripristino automatico utilizzando un NodeMCU

Metodo 3: programmatore di ripristino automatico utilizzando un NodeMCU
Metodo 3: programmatore di ripristino automatico utilizzando un NodeMCU
Metodo 3: programmatore di ripristino automatico utilizzando un NodeMCU
Metodo 3: programmatore di ripristino automatico utilizzando un NodeMCU

Se hai utilizzato delle schede di sviluppo ESP avrai notato che praticamente tutte non richiedono l'abilitazione manuale della modalità di programmazione tramite i pulsanti, quindi come fanno?

La maggior parte dei chip da USB a seriale ha pin aggiuntivi che emettono segnali in diverse fasi del processo di caricamento e con l'uso di alcuni circuiti esterni è possibile attivare il basso del GPIO 0 e i reset richiesti. RuiMoteiro ha un'istruzione su questo argomento utilizzando una scheda FTDI e ESP8266.

Ma penso che ci sia un approccio più semplice a questo, e ciò che è ancora meglio è che ci sono buone probabilità che tu abbia già tutto il necessario per farlo! È possibile utilizzare una scheda di sviluppo ESP8266 come un NodeMCU come programmatore*.

Qual è il vantaggio di utilizzare un NodeMCU?

I principali vantaggi dell'utilizzo del NodeMCU come programmatore sono i seguenti:

  • Puoi alimentare ESP8266 direttamente dai pin 3V del NodeMCU
  • Gestirà l'auto-reset/abilitazione della modalità di programmazione
  • Costa circa $ 2,50 consegnati (e può essere utilizzata come normale scheda di sviluppo quando non si programmano altri!)

È possibile utilizzare questo stesso approccio con qualsiasi scheda di sviluppo che espone il pin di abilitazione del chip di ESP8266.

Come funziona?

Ho avuto l'idea di questo da uno YouTuber chiamato Mika Kurkela, nel suo video stava usando il NodeMCU per programmare un modulo ESP-01, ma possiamo usare la stessa idea per il modulo ESP12.

Fondamentalmente disabiliteremo ESP8266 sul NodeMCU forzando il pin EN basso, questo impedirà l'avvio del modulo ESP8266 sul NodeMCU. Andremo quindi a collegare tutti i pin rilevanti della scheda NodeMCU al nostro ESP8266 esterno.

Cablandolo

Per cablarlo, avrai bisogno del cablaggio ESP8266 standard come mostrato nel passaggio precedente e quindi aggiungere le seguenti connessioni (mostrate anche nell'immagine sopra):

  • Collega 3V del NodeMCU al VCC dell'ESP8266
  • Collega GND a GND
  • Connetti TX di NodeMCU a TX di ESP8266 (questo è diverso dal passaggio precedente)
  • Connetti RX di NodeMCU a RX di ESP8266
  • Connetti D3 del NodeMCU a GPIO 0 di ESP8266 (D3 è GPIO 0 di ESP8266)
  • Connetti RST di NodeMCU a RST di ESP8266
  • Connetti EN del NodeMCU a GND

Caricamento di uno schizzo

Dopo aver collegato l'ESP8266, è necessario effettuare le seguenti operazioni:

  • Seleziona il numero di porta del NodeMCU (Strumenti->Porta)
  • Seleziona il tipo di scheda "NodeMCU 1.0 (ESP12-E Module)"
  • Fare clic su Carica

E questo è tutto! Abiliterà automaticamente la modalità di programmazione e si ripristinerà automaticamente al termine del caricamento, quindi inizierà l'esecuzione dello schizzo.

Usalo nei tuoi progetti di schede

Per utilizzare questo metodo nei progetti della tua scheda, devi semplicemente rompere i seguenti pin:

  • Terreno
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

E quando vuoi programmare le tue schede, collegale come sopra.

Spero che tu possa trovare utile questo Instructable, se hai domande non esitare a chiedere!

* = Link di affiliazione

Consigliato: