Ecco un altro articolo sull’esp8266, ora introdurremo il modulo base, può essere utilizzato senza scheda sviluppatore integrata, ma per programmarlo bisogna fare un po’ di connessioni e procurarsi un adattatore.
esp-12 ed esp-07
esp-12 esp-07 Aliexpress esp-12 - Aliexpress esp-07
esp12 piedinatura ad alta risoluzione
esp07 piedinatura ad alta risoluzione
Specifiche
- CPU e memoria
- Processore: microprocessore con core RISC L106 a 32 bit basato sul microcontrollore Tensilica Xtensa Diamond Standard 106 funzionante a 80 MHz
- Dimensione RAM <36kB, vale a dire che, quando ESP8266EX funziona in modalità station ed è connesso al router, lo spazio programmabile accessibile all’utente nella sezione heap e dati è di circa 36kB.)
- Flash SPI esterno: su questo modulo è montato con un flash SPI esterno da 1 MB per esp12 e 1Mb per esp07 per memorizzare i programmi utente.
- la frequenza degli oscillatori a cristallo è 40 MHz, 26 MHz e 24 MHz.
- Supporto UART 300 ~ 4608000 bps Impostazione predefinita 115200 bps
- Package SMD16 per l’esp07 e SMD22 per l’esp12
- Wifi
- 802.11 b / g / n
- Stack di protocollo TCP/IP integrato
- Switch TR integrato, balun, LNA, amplificatore di potenza e rete di adattamento
- PLL, regolatori e unità di gestione dell’alimentazione integrati
- Supporta antenne eterogenee
- Wi-Fi 2,4 GHz, supporto WPA/WPA2
- Supporta le modalità operative STA / AP / STA + AP
- + 20dBm di potenza in uscita in modalità 802.11b
- Sveglia e trasmissione pacchetti <2 ms
- Supporta la funzione Smart Link per dispositivi Android e iOS
- Interfacce periferiche avanzate
- ADC a 10 bit integrato
- SDIO 2.0, (H) SPI, UART, I2C, I2S, IRDA, PWM, GPIO
- STBC, 1 × 1 MIMO, 2 × 1 MIMO
- Aggregazione A-MPDU e A-MSDU e intervallo di guardia di 0,4 secondi
- Potenza in sospensione profonda <10uA, dispersione corrente in spegnimento <5uA
- Consumo energetico in standby <1,0 mW (DTIM3)
- Intervallo di temperatura in funzionamento -40 ° C ~ 125 ° C
Adattatore stampato in 3D
Una buona e veloce soluzione è stampare un adattatore. Esistono molti adattatori, ma penso che questa sia una buona scelta.
Adattatore per esp12 e esp07 base a V
Connessioni
Ci sono alcuni collegamenti da fare per utilizzare correttamente la scheda, prima dobbiamo alimentare e pull up e pull down alcuni pins.
Avvio normale
Con questa configurazione si abilita il dispositivo (pull-up EN), e si impedisce il RESET e si mette a LOW il GPIO0 o FLASH per evitare che entri in modalità programmazione.
- EN, RST e GPIO0 devono essere portati HIGH utilizzando un resistore da 10K;
- GPIO 15 deve essere pulled down con un resistore da 10K;
- quindi dobbiamo alimentare la scheda a 3,3V e più di 200mA di corrente stabile.
Entrare in modalità flash
Ora per mettere in modalità programmazione è necessario aggiungere 2 pulsanti, uno per ripristinare il dispositivo (mettendo a terra il RST) e uno per inviare il segnale LOW al GPIO0.
Porta ad HIGH RST e GPIO0 con un resistore e collega un pulsante che al click porta il pin su GROUND come lo schema.
Per accedere alla modalità di programmazione è necessario:
- Tenete premuto il pulsante FLASH;
- Premere e rilasciare il pulsante RST;
- Rilasciare il pulsante FLASH.
Programmazione con FTDI (convertitore da USB a seriale)
Per programmare il dispositivo è necessario utilizzare un convertitore FTDI, ce ne sono di vari tipi, alcuni che trasmettono e ricevono solamente, e altri che forniscono anche una tensione di alimentazione (selezionabile).
Here some model of FTDI USB to TTL CH340G - USB to TTL FT232RL
Ora devi condividere il pin di massa e mettere RX di FTDI su TX di esp e TX su RX.
Qui il risultato della breadboard.
Mode | GPIO15 | GPIO0 | GPIO2 |
---|---|---|---|
UART | Low | Low | High |
Flash Boot | Low | High | High |
Configurazione dell’IDE
esp12
Nell’IDE di Arduino è necessario installare l’ambiente esp8266, fate riferimento a “WeMos D1 mini (esp8266): piedinatura, caratteristiche e configurazione dell’Arduino IDE“, quindi è necessario configurare le impostazioni sulla scheda, per l’esp12 è necessario impostare:
- Board: NodeMCU 1.0 (ESP-12E Module)
- Builtin Led: 2
- Upload Speed: 921600 (115200 is more secure)
- CPU Frequency: 80 MHz
- Flash Size: 4MB
esp07
Per l’esp07 userò queste impostazioni
- Board: Generic esp8266 Module
- Builtin Led: 2
- Upload Speed: 921600 (115200 is more secure)
- CPU Frequency: 80 MHz
- Crystal Frequency: 26 MHz
- Reset Method: dtr
- Flash Size: 1MB
Upload di un semplice sketch blink
Ora devi solo:
- Tenere premuto il pulsante FLASH;
- Premere e rilasciare il pulsante RST;
- Rilasciare il pulsante FLASH;
- Inizia il caricamento di questo sketch;
// the setup function runs once when you press reset or power the board
void setup() {
Serial.begin(115200);
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("HIGH");
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
Serial.println("LOW");
delay(1000); // wait for a second
}
- collegate il monitor seriale con velocità di trasmissione 115200.
Qui il log della console
Connect to serial port COM18 at 115200
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
Scheda di programmazione PCB
Condivido anche la scheda di programmazione PCB, farò un articolo apposta.
esp-12 esp-07 (esp8266) scheda di programmazione ed adattatore per breadboard
Grazie
- WeMos D1 mini (esp8266): caratteristiche e configurazione dell’Arduino IDE
- WeMos D1 mini (esp8266): SPIFFS Filesystem integrato
- WeMos D1 mini (esp8266): debug sulla seriale secondaria
- WeMos D1 mini (esp8266), i tre tipi di modalità di sospensione per gestire il risparmio energetico
- WeMos D1 mini (esp8266): FileSystem integrato LittleFS
- esp12 esp07 (esp8266): flash, piedinatura, spec e config dell’IDE Arduino
- Firmware and OTA update
- Gestione del firmware
- Aggiornamenti OTA con Arduino IDE
- Aggiornamenti OTA con Web Browser
- Aggiornamenti OTA automatico da server HTTP
- Aggiornamenti firmware non standard
- esp32 e esp8266: file system FAT su memoria SPI flash esterna
- i2c esp8266: how to, rete 5V, 3.3V, velocità e pin personalizzati
- …